Mailing List archive

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

[linux-dvb] AW: Re: VDR and DVD with pause -> noise corrupt



Hi,
that's not all!! To the point we get the data to cDVDplayBuffer::handleAC3
all the data is ok (my ac3 decoder works also after a pause/pause or
pause/play very well). So the data stream is not out of sync during the
pause (a little bit delayed, not more). So the same data is send to
"ac3dec_decode_data" - and then something happens ?? After the pause button
(and then pressing pause or play) the sound is (only for ac3dec) chirpy and
corrupt (also other people reported this).
I'm a little bit confused, because the acdec needs also native ac3 sound and
nothing else !!

Bye
Andreas


-----Ursprüngliche Nachricht-----
Von: linux-dvb-bounce@linuxtv.org
[mailto:linux-dvb-bounce@linuxtv.org]Im Auftrag von Andreas Schultz
Gesendet: Montag, 13. August 2001 20:53
An: Andreas Vitting
Cc: Linux-Dvb; Klaus Schmidinger
Betreff: [linux-dvb] Re: VDR and DVD with pause -> noise corrupt


Hi,

Andreas Vitting wrote:
> if you change in dvbapi.c
>
> void cPlayBuffer::Pause(void)
> {
>   paused = ! paused;
> ---  bool empty = fastForw......
> +++  bool empty = fastForward || fastRewind || !paused; +++
>
> and
>
> void cPlayBuffer::Play(void)
> {
>   if (fastForward || fastRewind || paused) {
> ---    bool empty = !paused || fastRe....
> +++    bool empty = !paused || fastRewind || (paused && fastForward ||
> !fastRewind); +++
>
> then the pause->pause and pause->play buttons are working together with
> ac3dec.
>
> But why ?? Why it's working if i clear the audio buffer ??

Because then no audio data is feed to the card anymore, the real problem
has somewhat to do with the audio muting. If you apply the patch, the
noise will go away.

--- vdr-0.91/dvbapi.c   Sun Aug 12 17:09:42 2001
+++ vdr-devel-0.91/dvbapi.c     Sun Aug 12 22:54:31 2001
@@ -752,7 +752,7 @@
       Empty(true);
    fastForward = fastRewind = false;
    CHECK(ioctl(videoDev, paused ? VIDEO_FREEZE : VIDEO_CONTINUE));
-  CHECK(ioctl(audioDev, AUDIO_SET_MUTE, paused));
+  //CHECK(ioctl(audioDev, AUDIO_SET_MUTE, paused));
    still = false;
    if (empty)
       Empty(false);
@@ -767,7 +767,7 @@
       still = false;
       CHECK(ioctl(videoDev, paused ? VIDEO_CONTINUE : VIDEO_PLAY));
       CHECK(ioctl(audioDev, AUDIO_SET_AV_SYNC, true));
-     CHECK(ioctl(audioDev, AUDIO_SET_MUTE, false));
+     //     CHECK(ioctl(audioDev, AUDIO_SET_MUTE, false));
       if (empty)
          Empty(false);
       fastForward = fastRewind = paused = false;

My guess is, that the audio frames get out of sync because they contain
not time stamp. Maybe frames like that are not allowed or it's a driver bug?

Klaus: Is the muting really needed for normal VDR playback? I can't hear
a difference with or without it.

Have fun

     Andreas

>
> Andreas




--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe
linux-dvb" as subject.



--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.


Home | Main Index | Thread Index