summaryrefslogtreecommitdiff
path: root/remux.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2009-04-05 14:15:25 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2009-04-05 14:15:25 +0200
commit0a2de94d07bbfea2e480c69ce3722744c375d477 (patch)
treeb88703e8dceb45f00bd14034f657f188938cef22 /remux.c
parentdaa67997058b3387f55c69b5a67eb853b3d8a6e1 (diff)
downloadvdr-0a2de94d07bbfea2e480c69ce3722744c375d477.tar.gz
vdr-0a2de94d07bbfea2e480c69ce3722744c375d477.tar.bz2
Fixed detecting the frame rate for radio recordings
Diffstat (limited to 'remux.c')
-rw-r--r--remux.c12
1 files changed, 6 insertions, 6 deletions
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