Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: VDR-1.3.19 : DD-Audio stuttering when switchingbetween Pro7 and Sat1



On Tue, 2005-02-08 at 11:00 -0600, Chad Flynt wrote:
> From the discussions that have been mentioned about this issue and my 
>issues with particular DD Decoders, the consensus was possibly due to a 
>ring buffer issue.  Well Cym seemed to find the area that is in 
>question, and we experimented with a patch.  This has made a 99% 
>improvement, just by doubling the ring buffer.  I have had 1 and ONLY 1 
>instance of a brief stutter since, and I am sure if I increased it a 
>little more it might fix that but hesitant to change any more till I 
>notice a major problem.  So try as you might, thanks a ton goes out to 
>Cym for finding the area and Christian I believe is who came up with the 
>thought.  But I am definately running standard memory on my FF card, I 
>have not upgraded it.
>
>diff -ruN vdr-1.3.20/transfer.c vdr-1.3.20.transfer/transfer.c
>--- transfer.c  2005-02-08 08:28:38.000000000 -0600
>+++ transfer.c  2005-02-08 08:36:42.000000000 -0600
>@@ -80,7 +80,7 @@
>            //XXX To resolve this, the remuxer or PlayPes() should 
>synchronize
>            //XXX audio with the video frames. 2004/09/09 Werner
>            if (!GotBufferReserve) {
>-              if (ringBuffer->Available() < 3 * KILOBYTE(192) / 2) { // 
>used to be MAXFRAMESIZE, but the HDTV value of KILOBYTE(512) is way too 
>much here
>+              if (ringBuffer->Available() < 3 * KILOBYTE(384) / 2) { // 
>used to be MAXFRAMESIZE, but the HDTV value of KILOBYTE(512) is way too 
>much here
>                  cCondWait::SleepMs(20); // allow the buffer to collect 
>some reserve
>                  continue;
>                  }
>
>
>Good Luck,
>
>Chad
>
>
>Klaus Schmidinger wrote:
>
>> christian jacobsen wrote:
>>
>>> Hallo,
>>>
>>> I noticed that when enabling DD on Pro7 and then switching directly 
>>> to Sat1 then audio is stuttering. If I switch to Pro7, then RTL2 and 
>>> then Sat1 then DD sound is OK (have to wait for picture to come on 
>>> RTL2).
>>> All tests on Vanilla VDR 1.3.19 !
>>>
>>> How to reproduce (always wait for picture and sound) :
>>> 1. start on RTL.
>>> 2. swith to sat1, then RTL2 and Pro7.
>>> 3. Enable DD in Audiomenü (on Pro7)
>>> 4. switch directly to Sat1 (press 5 on my channels.conf)
>>>
>>> Now sound is stuttering on my maschine.
>>>
>>> If I do this instead :
>>>
>>> 4. switch to RTL2
>>> 5. switch to Sat1
>>>
>>> Sound is OK.
>>>
>>> Here the channels.conf for this test :
>>> Das Erste;ARD:11837:hC34:S19.2E:27500:101:102=deu:104:0:28106:1:1101:0
>>> ZDF;ZDFvision:11954:hC34:S19.2E:27500:110:120=deu,121=2ch;125=dd:130:0:28006:1:1 
>>>
>>> 079:0
>>> NDR FS 
>>> MV;ARD:12110:hC34:S19.2E:27500:2401:2402=deu:2404:0:28224:1:1073:0
>>> RTL Television,RTL;RTL 
>>> World:12188:hC34:S19.2E:27500:163:104=deu:105:0:12003:1:1
>>> 089:0
>>> SAT.1;ProSiebenSat.1:12480:vC34:S19.2E:27500:1791:1792=deu;1795=deu:34:0:46:133: 
>>>
>>> 33:0
>>> RTL2;RTL World:12188:hC34:S19.2E:27500:166:128=deu:68:0:12020:1:1089:0
>>> ProSieben;ProSiebenSat.1:12480:vC34:S19.2E:27500:255:256=deu;257=deu:32:0:898:13 
>>>
>>> 3:33:0
>>>
>>> Greetings
>>> Christian Jacobsen
>>
>>
>> I tried this here but had no such effect.
>> But then again I'm already a little further than 1.3.19, so please
>> try this again with version 1.3.20.
>>
>> Klaus
>>
>>
>>
>
>>plain text document attachment (vdr-1.3.20-ac3-transfer.diff)
>diff -ruN vdr-1.3.20/transfer.c vdr-1.3.20.transfer/transfer.c
>--- transfer.c	2005-02-08 08:28:38.000000000 -0600
>+++ transfer.c	2005-02-08 08:36:42.000000000 -0600
>@@ -80,7 +80,7 @@
>            //XXX To resolve this, the remuxer or PlayPes() should synchronize
>            //XXX audio with the video frames. 2004/09/09 Werner
>            if (!GotBufferReserve) {
>-              if (ringBuffer->Available() < 3 * KILOBYTE(192) / 2) { // used to be MAXFRAMESIZE, but the HDTV value of KILOBYTE(512) is way too much here
>+              if (ringBuffer->Available() < 3 * KILOBYTE(384) / 2) { // used to be MAXFRAMESIZE, but the HDTV value of KILOBYTE(512) is way too much here
>                  cCondWait::SleepMs(20); // allow the buffer to collect some reserve
>                  continue;
>                  }

ok, now I got DD5.1 but not DD2.0. Improvement though :)
If I watch movie from Canal+ Film2 and it has true DD5.1 audio, then my
receiver gets all the DD5.1 lights on and audio is DD5.1. But if there
comes some commercial or some other movie that has only DD2.0, receiver
doesn't understand the audio stream, no lights.

Any help for this?

-Mikko





Home | Main Index | Thread Index