diff options
-rw-r--r-- | HISTORY | 1 | ||||
-rw-r--r-- | remux.c | 12 |
2 files changed, 7 insertions, 6 deletions
@@ -6024,3 +6024,4 @@ Video Disk Recorder Revision History - Making sure any floating point numbers written use a decimal point (thanks to Oliver Endriss for pointing out a problem with the F record in the info file of a recording). +- Fixed detecting the frame rate for radio recordings. @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: remux.c 2.16 2009/03/27 13:49:58 kls Exp $ + * $Id: remux.c 2.17 2009/04/05 14:07:48 kls Exp $ */ #include "remux.h" @@ -758,7 +758,7 @@ int cFrameDetector::Analyze(const uchar *Data, int Length) if (DebugFrames && !synced) dbgframes("/"); } - for (int i = PayloadOffset; i < TS_SIZE; i++) { + for (int i = PayloadOffset; scanning && i < TS_SIZE; i++) { scanner <<= 8; scanner |= Data[i]; switch (type) { @@ -813,12 +813,12 @@ int cFrameDetector::Analyze(const uchar *Data, int Length) return Processed; newFrame = true; independentFrame = true; - if (synced) - scanning = false; - else { + if (!synced) { framesInPayloadUnit = 1; - numIFrames++; + if (TsPayloadStart(Data)) + numIFrames++; } + scanning = false; break; default: esyslog("ERROR: unknown stream type %d (PID %d) in frame detector", type, pid); pid = 0; // let's just ignore any further data |