[vdr] VDR 1.7.20 - Incorrect Progress Bar Times for Radio Programmes

Chris Mayo aklhfex at gmail.com
Sat Aug 27 16:55:25 CEST 2011


On 27/08/11 15:24, Klaus Schmidinger wrote:
> On 27.08.2011 15:35, Chris Mayo wrote:
>> Progress bar display shows excessive times for radio programmes (no
>> video).
>>
>> A recording of about 5 minutes starts at 5:22:13 and ends at
>> 27404:47:54. The actual recording is fine. Recording is from BBC Radio 3
>> using DVB-T. ffmpeg -i shows:
>>
>> Input #0, mpegts, from '00001.ts':
>>    Duration: 00:05:06.12, start: 38666.622211, bitrate: 225 kb/s
>>    Program 132
>>      Stream #0.0[0x1b6](eng): Audio: mp2, 48000 Hz, stereo, s16, 192 kb/s
>>
>> I see the same playing with dvbhddevice or xineliboutput.
>>
>> Recordings made with previous versions of vdr (including 1.7.19 with
>> suggested reversion to 1.7.18 recording code) display correct times
>> playing with 1.7.20.
> 
> Please try this patch:
> 
> --- remux.c     2011/08/20 09:07:26     2.59
> +++ remux.c     2011/08/27 14:20:18
> @@ -840,7 +840,7 @@
>                      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);
> 
> 
> Apparently it got only a single PTS value and then was
> unable to calculate a difference.
> This patch fixed it for me (on the German radio channel
> ANTENNE BAYERN, which also showed the effect you reported).
> 
> Klaus
> 

That's fixed it for me too. Many thanks.

Chris



More information about the vdr mailing list