Mailing List archive

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

[vdr] Re: Bug in VDR - yes- digital audio output



Reinhard Walter Buchner wrote:
> 
> Hi Martin, all,
> 
> > > > > Will you be changing the way Mute is handled by VDR?
> 
> > I totally agree with you - however i don't know if "muting" the spdif is
> > really possible without some workaround like bypassing the audio:
> > AFAIK the spdif of the card is hard wired - so any audio signal from live
> > stream is put out to the cards spdif. Maybe for muting  VDR must "tune" to
> > channel without audio pid - but this would be a rather "unclean"
> > workaround.
> 
> > Don't get me wrong: I'm using the spdif out, too and would really like a
> > working mute function ! - however if it breaks something because the
> > design of the card/drivers doesn't allow this feature - just let it be ...
> 
> No, the driver has a mute function. However, Klaus doesn't use it.
> He simply turns down the volume to zero, which doesn't work with
> digital out. I.e. you *can* mute it, but you can't control the volume.
> 
> Here is what I had implemented
> 
>  In dvbdevice.c:
> 
>  void cDvbDevice::Mute(void)
>  {
>    if (fd_audio >= 0) {
>       CHECK(ioctl(fd_audio, AUDIO_SET_AV_SYNC, false));
>       CHECK(ioctl(fd_audio, AUDIO_SET_MUTE,(cDevice::
>       PrimaryDevice()->IsMute()) ? false : true));
>       }
>  }
> 
>  and in vdr.c I changed:
> 
>  case kMute:
>                 if (key == kMute) {
>                    ((cDvbDevice*)cDevice::PrimaryDevice())->Mute();

You can _not_ typecast the primary device as (cDvbDevice*) here, because
you don't _know_ that this is a cDvbDevice.

>                    if (!cDevice::PrimaryDevice()->ToggleMute() && !Menu)
>                       break; // no need to display "mute off"
>                    }
> 
> This works great for FTA channels, but totally messes up sound on
> demute from any encrypted channels and also from "sound" plugins
> like the MP3 plugin.

Well, then I guess I can't make that change for 1.2.0.

> I am sure that I am simply overlooking the
> obvious somewhere and that's why it isn't working properly yet
> ;o)) *My* problem at the moment is that due to my new job I have
> much less time to play and investigate the problem. *sniff* What
> I assume is that the DVB driver loses sync on the stream while
> doing a true mute (yet you won't notice it until you de-mute). I
> just don't know how to force a resync. During a playback I tried
> to pause the movie beforer muting (which obviously won't work
> with a live show ;o)) and (tried) to force a resync, but I must be
> missing something.
> 
> The idea of retuning the channel would be a workaround definately
> worth testing, but for the final it is *just* a workaround, which
> isn't what I (or better Klaus) really is looking for.

Definitely not.

Klaus
-- 
_______________________________________________________________

Klaus Schmidinger                       Phone: +49-8635-6989-10
CadSoft Computer GmbH                   Fax:   +49-8635-6989-40
Hofmark 2                               Email:   kls@cadsoft.de
D-84568 Pleiskirchen, Germany           URL:     www.cadsoft.de
_______________________________________________________________


-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index