Fixed a hangup when replaying a TS recording with subtitles activated

This commit is contained in:
Klaus Schmidinger 2009-01-30 16:07:32 +01:00
parent cf7867ebe7
commit 2bc0af882c
4 changed files with 17 additions and 9 deletions

View File

@ -2412,4 +2412,6 @@ Johann Friedrichs <johann.friedrichs@web.de>
for fixing incrementing the continuity counter in cPatPmtGenerator::GetPmt() for fixing incrementing the continuity counter in cPatPmtGenerator::GetPmt()
for pointing out that "DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE for pointing out that "DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-D_LARGEFILE64_SOURCE" should be added to Make.config. -D_LARGEFILE64_SOURCE" should be added to Make.config.
to Make.config.template (thanks to Johann Friedrichs for pointing this out).
Timo Helkio <timolavi@mbnet.fi>
for reporting a hangup when replaying a TS recording with subtitles activated

View File

@ -5978,3 +5978,8 @@ Video Disk Recorder Revision History
player whether there is video data in the currently replayed stream. If a derived player whether there is video data in the currently replayed stream. If a derived
cDevice class reimplements PlayTs() or PlayPes(), it also needs to make sure this cDevice class reimplements PlayTs() or PlayPes(), it also needs to make sure this
new function works as expected. new function works as expected.
2009-01-30: Version 1.7.5
- Fixed a hangup when replaying a TS recording with subtitles activated (reported
by Timo Helkio).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: config.h 2.6 2009/01/06 16:56:27 kls Exp $ * $Id: config.h 2.7 2009/01/30 16:05:34 kls Exp $
*/ */
#ifndef __CONFIG_H #ifndef __CONFIG_H
@ -22,13 +22,13 @@
// VDR's own version number: // VDR's own version number:
#define VDRVERSION "1.7.4" #define VDRVERSION "1.7.5"
#define VDRVERSNUM 10704 // Version * 10000 + Major * 100 + Minor #define VDRVERSNUM 10705 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number: // The plugin API's version number:
#define APIVERSION "1.7.4" #define APIVERSION "1.7.5"
#define APIVERSNUM 10704 // Version * 10000 + Major * 100 + Minor #define APIVERSNUM 10705 // Version * 10000 + Major * 100 + Minor
// When loading plugins, VDR searches them by their APIVERSION, which // When loading plugins, VDR searches them by their APIVERSION, which
// may be smaller than VDRVERSION in case there have been no changes to // may be smaller than VDRVERSION in case there have been no changes to

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: device.c 2.11 2009/01/25 11:10:56 kls Exp $ * $Id: device.c 2.12 2009/01/30 16:01:53 kls Exp $
*/ */
#include "device.h" #include "device.h"
@ -1304,8 +1304,9 @@ int cDevice::PlayTsSubtitle(const uchar *Data, int Length)
if (!dvbSubtitleConverter) if (!dvbSubtitleConverter)
dvbSubtitleConverter = new cDvbSubtitleConverter; dvbSubtitleConverter = new cDvbSubtitleConverter;
tsToPesSubtitle.PutTs(Data, Length); tsToPesSubtitle.PutTs(Data, Length);
if (const uchar *p = tsToPesSubtitle.GetPes(Length)) { int l;
dvbSubtitleConverter->Convert(p, Length); if (const uchar *p = tsToPesSubtitle.GetPes(l)) {
dvbSubtitleConverter->Convert(p, l);
tsToPesSubtitle.Reset(); tsToPesSubtitle.Reset();
} }
return Length; return Length;