diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 252d5d0b..4b9aec42 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2525,6 +2525,7 @@ Derek Kelly (user.vdr@gmail.com) for reporting a problem with HD NTSC broadcasts that split frames over several payload units for updating sources.conf + for reporting a problem where the frame rate was not detected correctly Marcel Unbehaun for adding cRecordingInfo::GetEvent() diff --git a/HISTORY b/HISTORY index 9edc2311..cc74c7dd 100644 --- a/HISTORY +++ b/HISTORY @@ -6411,7 +6411,7 @@ Video Disk Recorder Revision History - The new setup option "Folders in timer menu" controls whether the file names in the timer menu are shown with their full folder path. -2010-04-04: Version 1.7.15 +2010-04-05: Version 1.7.15 - Added Macedonian language texts (thanks to Dimitar Petrovski). - Updated the Estonian OSD texts (thanks to Arthur Konovalov). @@ -6422,3 +6422,5 @@ Video Disk Recorder Revision History - Updated the Italian OSD texts (thanks to Diego Pierotto). - cDvbDevice::ProvidesTransponder() now checks the modulation capabilities of the device (as far as the driver allows this). +- Fixed cFrameDetector::Analyze() in case part of the data has been processed and + there is less than MIN_TS_PACKETS_FOR_FRAME_DETECTOR left (reported by Derek Kelly). diff --git a/remux.c b/remux.c index 2532c638..4b845a13 100644 --- a/remux.c +++ b/remux.c @@ -1,10 +1,10 @@ /* - * remux.h: Tools for detecting frames and handling PAT/PMT + * remux.c: Tools for detecting frames and handling PAT/PMT * * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: remux.c 2.42 2010/02/28 14:42:07 kls Exp $ + * $Id: remux.c 2.43 2010/04/05 09:32:57 kls Exp $ */ #include "remux.h" @@ -817,7 +817,7 @@ int cFrameDetector::Analyze(const uchar *Data, int Length) if (synced && Processed) return Processed; if (Length < MIN_TS_PACKETS_FOR_FRAME_DETECTOR * TS_SIZE) - return 0; // need more data, in case the frame type is not stored in the first TS packet + return Processed; // need more data, in case the frame type is not stored in the first TS packet if (!frameDuration) { // frame duration unknown, so collect a sequence of PTS values: if (numPtsValues < MaxPtsValues && numIFrames < 2) { // collect a sequence containing at least two I-frames