Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: AW: VDR: first step towards AC3 sound
> > Jun 24 11:06:17 wonderbox vdr[819]: ERROR: wrote 968 byte to dolby device
> > instead of 1806
> > Jun 24 11:06:17 wonderbox vdr[819]: ERROR: wrote 484 byte to dolby device
> > instead of 1806
>
> Looks like 'ac3play' doesn't accept the entire data packet at once.
> I thought that the pipe would be opened in blocking mode, but maybe that
> was a false assumption.
>
> Please try the following patch to the dvbapi.c file:
>
> --- dvbapi.c.003 Sat Jun 23 18:27:49 2001
> +++ dvbapi.c Sun Jun 24 11:41:30 2001
> @@ -808,12 +808,17 @@
> switch (c) {
> case 0xBD: // dolby
> if (Except && dolbyDev) {
> - int w = fwrite(&b[i], 1, l, dolbyDev);
> - if (w < 0) {
> - LOG_ERROR;
> - }
> - else if (w != l)
> - esyslog(LOG_ERR, "ERROR: wrote %d byte to dolby
> device instead of %d", w, l); + int written = 0;
> + int n = l;
> + while (n > 0) {
> + int w = fwrite(&b[i + written], 1, n, dolbyDev);
> + if (w < 0) {
> + LOG_ERROR;
> + break;
> + }
> + n -= w;
> + written += w;
> + }
> }
> // continue with deleting the data - otherwise it disturbs
> DVB replay case 0xC0 ... 0xC1: // audio
That solved the problem (partially) for me (BTW, it happened for cat as well).
Using ac3dec the sound starts fine but becomes worse after a few seconds and
vanishs fully after some time (feeding problem?)
Also playing a ac3-file directly with ac3dec stops somewhere in the middle of
the file...
OT?
As i had to learn it does downsample the data to 2 channels anyway :-(
Is there an alternative without using external digital equipment? (I thought
SBLive can do this)
I could'nt get play-ac3 from the Creative OS driver working, anyway there is
a comment in some README "Rear speakers stereo mirrored" what does'nt sound
like AC3 anyway... but it provides /dev/dsp1 what alsa does'nt.
--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index