From 6c110a7272f7a6e57f93f4de4c6792ebbbccbf1e Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 27 Aug 2011 14:27:22 +0200 Subject: Fixed detecting frames on radio channels --- CONTRIBUTORS | 3 +++ HISTORY | 1 + remux.c | 4 ++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index b7dbc7e1..be533c18 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2771,3 +2771,6 @@ Mark Hawes Frank Niederwipper for reporting a problem in timer handling in case a recording directory can't be created + +Chris Mayo + for reporting a problem with detecting frames on radio channels diff --git a/HISTORY b/HISTORY index 88b3356c..93451753 100644 --- a/HISTORY +++ b/HISTORY @@ -6737,3 +6737,4 @@ Video Disk Recorder Revision History - The dvbsddevice plugin now supports the new option --outputonly, which disables receiving on SD FF devices and uses the device only for output (thanks to Udo Richter). +- Fixed detecting frames on radio channels (reported by Chris Mayo). diff --git a/remux.c b/remux.c index 28188bd6..e6068439 100644 --- a/remux.c +++ b/remux.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: remux.c 2.59 2011/08/20 09:07:26 kls Exp $ + * $Id: remux.c 2.60 2011/08/27 14:20:18 kls Exp $ */ #include "remux.h" @@ -840,7 +840,7 @@ int cFrameDetector::Analyze(const uchar *Data, int Length) return Processed; // flush everything before this new payload if (framesPerSecond <= 0.0) { // frame rate unknown, so collect a sequence of PTS values: - if (numPtsValues < MaxPtsValues && numIFrames < 2) { // collect a sequence containing at least two I-frames + if (numPtsValues < 2 || numPtsValues < MaxPtsValues && numIFrames < 2) { // collect a sequence containing at least two I-frames const uchar *Pes = Data + TsPayloadOffset(Data); if (numIFrames && PesHasPts(Pes)) { ptsValues[numPtsValues] = PesGetPts(Pes); -- cgit v1.2.3