summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY4
-rw-r--r--remux.c6
3 files changed, 7 insertions, 4 deletions
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 <frostworks@gmx.de>
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