summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY1
-rw-r--r--remux.c12
2 files changed, 7 insertions, 6 deletions
diff --git a/HISTORY b/HISTORY
index 2fb8ca75..07b68f8e 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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.
diff --git a/remux.c b/remux.c
index 9a76647a..89fe85d4 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.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