1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Fixed cFrameDetector::Analyze() in case part of the data has been processed and there is less than MIN_TS_PACKETS_FOR_FRAME_DETECTOR left

This commit is contained in:
Klaus Schmidinger 2010-04-05 09:38:13 +02:00
parent 1bf0c3d23a
commit db5c3cd36a
3 changed files with 7 additions and 4 deletions

View File

@ -2525,6 +2525,7 @@ Derek Kelly (user.vdr@gmail.com)
for reporting a problem with HD NTSC broadcasts that split frames over several payload for reporting a problem with HD NTSC broadcasts that split frames over several payload
units units
for updating sources.conf for updating sources.conf
for reporting a problem where the frame rate was not detected correctly
Marcel Unbehaun <frostworks@gmx.de> Marcel Unbehaun <frostworks@gmx.de>
for adding cRecordingInfo::GetEvent() for adding cRecordingInfo::GetEvent()

View File

@ -6411,7 +6411,7 @@ Video Disk Recorder Revision History
- The new setup option "Folders in timer menu" controls whether the file names in - The new setup option "Folders in timer menu" controls whether the file names in
the timer menu are shown with their full folder path. 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). - Added Macedonian language texts (thanks to Dimitar Petrovski).
- Updated the Estonian OSD texts (thanks to Arthur Konovalov). - 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). - Updated the Italian OSD texts (thanks to Diego Pierotto).
- cDvbDevice::ProvidesTransponder() now checks the modulation capabilities of the - cDvbDevice::ProvidesTransponder() now checks the modulation capabilities of the
device (as far as the driver allows this). 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).

View File

@ -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 * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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" #include "remux.h"
@ -817,7 +817,7 @@ int cFrameDetector::Analyze(const uchar *Data, int Length)
if (synced && Processed) if (synced && Processed)
return Processed; return Processed;
if (Length < MIN_TS_PACKETS_FOR_FRAME_DETECTOR * TS_SIZE) 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) { if (!frameDuration) {
// frame duration unknown, so collect a sequence of PTS values: // frame duration unknown, so collect a sequence of PTS values:
if (numPtsValues < MaxPtsValues && numIFrames < 2) { // collect a sequence containing at least two I-frames if (numPtsValues < MaxPtsValues && numIFrames < 2) { // collect a sequence containing at least two I-frames