From d8857154a1a193251705088d3a064f6ded5ad6ee Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 22 Nov 2009 12:30:17 +0100 Subject: [PATCH] Fixed handling DVB subtitles for PES recordings --- CONTRIBUTORS | 1 + HISTORY | 1 + dvbsubtitle.c | 4 ++-- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 9758c48e..70575dc7 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1082,6 +1082,7 @@ Rolf Ahrenberg for fixing handling file name length on VFAT systems in case they contain UTF-8 characters for fixing wrong bracketing in cChannel::SubtitlingType() etc. + for fixing handling DVB subtitles for PES recordings Ralf Klueber for reporting a bug in cutting a recording if there is only a single editing mark diff --git a/HISTORY b/HISTORY index 699112a3..bcefec4e 100644 --- a/HISTORY +++ b/HISTORY @@ -6188,3 +6188,4 @@ Video Disk Recorder Revision History replaying the recording (at least until the index file has been generated). - The cRingBufferLinear::Read() function now returns -1 and sets errno to EAGAIN if the buffer is already full. +- Fixed handling DVB subtitles for PES recordings (thanks to Rolf Ahrenberg). diff --git a/dvbsubtitle.c b/dvbsubtitle.c index 69dc6fa9..cd77fde6 100644 --- a/dvbsubtitle.c +++ b/dvbsubtitle.c @@ -7,7 +7,7 @@ * Original author: Marco Schlüßler * With some input from the "subtitle plugin" by Pekka Virtanen * - * $Id: dvbsubtitle.c 2.1 2008/05/25 14:36:24 kls Exp $ + * $Id: dvbsubtitle.c 2.2 2009/11/22 12:28:53 kls Exp $ */ #include "dvbsubtitle.h" @@ -699,7 +699,7 @@ int cDvbSubtitleConverter::ConvertFragments(const uchar *Data, int Length) } if (Length > PayloadOffset + SubstreamHeaderLength) { - int64_t pts = PesGetPts(Data); + int64_t pts = PesHasPts(Data) ? PesGetPts(Data) : 0; if (pts) dbgconverter("Converter PTS: %lld\n", pts); const uchar *data = Data + PayloadOffset + SubstreamHeaderLength; // skip substream header