Fixed determining the frame duration on channels where the PTS deltas jitter by +/-1 around 1800

This commit is contained in:
Klaus Schmidinger 2010-01-23 15:39:15 +01:00
parent eb394c68f1
commit 96ce981713
2 changed files with 5 additions and 3 deletions

View File

@ -6276,7 +6276,7 @@ Video Disk Recorder Revision History
- Fixed plugin arguments corruption with glibc 2.11 on x86_64 (thanks to
Anssi Hannula).
2010-01-17: Version 1.7.12
2010-01-23: Version 1.7.12
- Changed the EVCONTENTMASK_* macros to enums and changed "mask" to "group".
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
@ -6294,3 +6294,5 @@ Video Disk Recorder Revision History
- The new setup option "Miscellaneous/Channels wrap" controls whether the current
channel wraps around the beginning or end of the channel list when zapping (thanks
to Matti Lehtimäki).
- Fixed determining the frame duration on channels where the PTS deltas jitter by
+/-1 around 1800.

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: remux.c 2.37 2009/12/31 15:35:37 kls Exp $
* $Id: remux.c 2.38 2010/01/23 15:39:15 kls Exp $
*/
#include "remux.h"
@ -845,7 +845,7 @@ int cFrameDetector::Analyze(const uchar *Data, int Length)
frameDuration = 3600; // PAL, 25 fps
else if (Delta % 3003 == 0)
frameDuration = 3003; // NTSC, 29.97 fps
else if (Delta == 1800) {
else if (abs(Delta - 1800) <= 1) {
frameDuration = 3600; // PAL, 25 fps
framesPerPayloadUnit = -2;
}