summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2011-08-27 14:27:22 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2011-08-27 14:27:22 +0200
commit6c110a7272f7a6e57f93f4de4c6792ebbbccbf1e (patch)
tree79061b207314b628d3c3280abc2d6dc25f546795
parentd2342ae2ef163ca35727dcc1f72df4b253a06154 (diff)
downloadvdr-6c110a7272f7a6e57f93f4de4c6792ebbbccbf1e.tar.gz
vdr-6c110a7272f7a6e57f93f4de4c6792ebbbccbf1e.tar.bz2
Fixed detecting frames on radio channels
-rw-r--r--CONTRIBUTORS3
-rw-r--r--HISTORY1
-rw-r--r--remux.c4
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 <MARK.HAWES@au.fujitsu.com>
Frank Niederwipper <f.niederwipper@gmail.com>
for reporting a problem in timer handling in case a recording directory can't
be created
+
+Chris Mayo <aklhfex@gmail.com>
+ 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);