[vdr] vdr xine-lib eac3

Jose Alberto Reguero jareguero at telefonica.net
Fri Mar 26 13:12:13 CET 2010


You can add the line:

this->context->request_channels = 2;

in line 247 and 295.

Then you have stereo sound.

Joae Alberto

El Viernes, 26 de Marzo de 2010, zaverel escribió:
> After some test there are some issue:
> ramdom crash at start up or without sound.
> But the real probleme i think is with 5.0 sound.
> 
> In the sample the 2.0 audio out is good
> but the 5.0 has low volume and metallic sound
> 
> just try xine
> fra piste 5.0
> ffmpeg_audio_dec: unknown header with buf type 0x3000000
> 
> qaa 2.0
> is good
> 
> ffmpeg -i 00001.ts
> ...
> Input #0, mpegts, from '00001.ts':
>   Duration: 00:02:10.51, start: 10461.634989, bitrate: 6905 kb/s
>   Program 132
>     Stream #0.0[0x78]: Video: h264, yuv420p, 1440x1080 [PAR 4:3 DAR
> 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
>     Stream #0.1[0x82](fra): Audio: eac3, 48000 Hz, 5.0, s16, 256 kb/s
>     Stream #0.2[0x83](qaa): Audio: eac3, 48000 Hz, stereo, s16, 128 kb/s
>     Stream #0.3[0x8c](fra): Subtitle: dvbsub
>     Stream #0.4[0x8d](fra): Subtitle: dvbsub
> 
> Le 25/03/2010 16:08, Jose Alberto Reguero a écrit :
> > Patch for xine-lib that don't need to patch remux.c to work.
> > 
> > Jose Alberto
> > 
> > El Jueves, 25 de Marzo de 2010, Jose Alberto Reguero escribió:
> >> Patch against latest xine-lib-1.2. New patch for xineliboutput. Now must
> >> work if you patch remux.c.
> >> You must have the latest xine-lib and xineliboutput. Yesterday both have
> >> changes about eac3.
> >> 
> >> Jose Alberto
> >> 
> >> El Jueves, 25 de Marzo de 2010, zaverel escribió:
> >>> The typo was on remux.c  => lost  : and ;
> >>> 
> >>> Anyway xine-lib has been updated and your patch don't apply.
> >>> 
> >>> Update is for eac3 with mkv
> >>> 
> >>> i don't test it yet
> >>> 
> >>> 
> >>> 
> >>> corrected remux.c
> >>> 
> >>> line 533
> >>> case SI::AC3DescriptorTag:
> >>> +case SI::EnhancedAC3DescriptorTag:
> >>> 
> >>> 
> >>> and in line 191:
> >>> 
> >>> -Target[i++] = SI::AC3DescriptorTag;
> >>> +Target[i++] = SI::EnhancedAC3DescriptorTag;
> >>> 
> >>> Le 24/03/2010 22:58, Jose Alberto Reguero a écrit :
> >>>> I attached a second version of the first patch.
> >>>> I make the same changes that in the second patch, but maintaining the
> >>>> logic of the first patch. Also I commented the line:
> >>>> +//        this->context->request_channels = 2;
> >>>> because your example has 5 channels. If you have trouble with that you
> >>>> can comment the line again.
> >>>> Which  typo error has the second patch?
> >>>> 
> >>>> Jose Alberto
> >>>> 
> >>>> El Miércoles, 24 de Marzo de 2010, zaverel escribió:
> >>>>> i 've patched pat.c and now remux.c
> >>>>> and with use xine-lib-1.2 with your second patch (who has typo error)
> >>>>> and that doesn't work.
> >>>>> 
> >>>>> corrected remux.c
> >>>>> 
> >>>>> line 533
> >>>>> case SI::AC3DescriptorTag:
> >>>>> +case SI::EnhancedAC3DescriptorTag:
> >>>>> 
> >>>>> 
> >>>>> and in line 191:
> >>>>> 
> >>>>> -Target[i++] = SI::AC3DescriptorTag;
> >>>>> +Target[i++] = SI::EnhancedAC3DescriptorTag;
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> with your previously patch and just pat.c patched with
> >>>>> line 402
> >>>>> 
> >>>>> case SI::AC3DescriptorTag:
> >>>>> +case SI:EnhancedAC3DescriptorTag:
> >>>>> 
> >>>>> that worked but not stable.
> >>>>> 
> >>>>> Is your sample eac3 has |"Spectral extension" ?
> >>>>> because in france dvb-t with eac3 has it
> >>>>> and need a ffmpeg patched for that.
> >>>>> And i test with that sound.
> >>>>> 
> >>>>> Le 24/03/2010 19:41, Jose Alberto Reguero a écrit :
> >>>>>> It works here with a old sample of tdt with eac3. Have you patch
> >>>>>> also remux.c? You need to change in line 533:
> >>>>>> 
> >>>>>> case SI::AC3DescriptorTag:
> >>>>>> +case SI:EnhancedAC3DescriptorTag:
> >>>>>> 
> >>>>>> and in line 191:
> >>>>>> 
> >>>>>> -Target[i++] = SI::AC3DescriptorTag;
> >>>>>> +Target[i++] = SI::EnhancedAC3DescriptorTag
> >>>>>> 
> >>>>>> Jose Alberto
> >>>>>> 
> >>>>>> El Miércoles, 24 de Marzo de 2010, dplu escribió:
> >>>>>>> Hi
> >>>>>>> 
> >>>>>>> I have made previous test with the version release by Petri
> >>>>>>> Hintukainen
> >>>>>>> 
> >>>>>>> And I notice this part is not working like it should
> >>>>>>> 
> >>>>>>> -    if((m->descriptor_tag == STREAM_AUDIO_AC3) ||    /* ac3 - raw
> >>>>>>> */ +    if(m->descriptor_tag == HDMV_AUDIO_84_EAC3) {
> >>>>>>> +      m->content   = p;
> >>>>>>> +      m->size = packet_len;
> >>>>>>> +      m->type |= BUF_AUDIO_EAC3;
> >>>>>>> +      return 1;
> >>>>>>> +
> >>>>>>> +    } else if((m->descriptor_tag == STREAM_AUDIO_AC3) ||    /* ac3
> >>>>>>> - raw */
> >>>>>>> 
> >>>>>>> unfortunaletly, in AC3 or E-AC3 , the descriptor tag is
> >>>>>>> STREAM_AUDIO_AC3, so the program never run the first if (installed
> >>>>>>> a debug printf here)
> >>>>>>> 
> >>>>>>> It seems that your first approach (at least what I understood) by
> >>>>>>> forcing the decoding of all AC-3 stream by ffmepg instead of
> >>>>>>> internal lib was nice but generate violent segfault on libavcodec
> >>>>>>> 
> >>>>>>> Hope this help you
> >>>>>>> 
> >>>>>>> Best regards
> >>>>>>> 
> >>>>>>> PS : Sorry to pollute the vdr mailing list (not subscribed to
> >>>>>>> ffmpeg or xine-lib....)
> >>>>>>> 
> >>>>>>> Le Wednesday 24 March 2010 18:41:14 zaverel, vous avez écrit :
> >>>>>>>> hello
> >>>>>>>> 
> >>>>>>>>  your second patch doesn't work  : no sound on eac3 channel
> >>>>>>>> 
> >>>>>>>> if you want there is a sample of vdr hd-eac3 recording here:
> >>>>>>>> 
> >>>>>>>> http://dl.free.fr/ew4rJddM8
> >>>>>>>> 
> >>>>>>>>  103mo
> >>>>>>>> 
> >>>>>>>> else , i don't know what mailing-list is the more indicate for
> >>>>>>>> debuging
> >>>>>>>> 
> >>>>>>>> the vdr or xine-dev mailing-list ?
> >>>>>>>> 
> >>>>>>>> _______________________________________________
> >>>>>>>> vdr mailing list
> >>>>>>>> vdr at linuxtv.org
> >>>>>>>> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
> >>>>>>> 
> >>>>>>> _______________________________________________
> >>>>>>> vdr mailing list
> >>>>>>> vdr at linuxtv.org
> >>>>>>> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
> >>>>>> 
> >>>>>> _______________________________________________
> >>>>>> vdr mailing list
> >>>>>> vdr at linuxtv.org
> >>>>>> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
> >>>> 
> >>>> _______________________________________________
> >>>> vdr mailing list
> >>>> vdr at linuxtv.org
> >>>> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
> > 
> > _______________________________________________
> > vdr mailing list
> > vdr at linuxtv.org
> > http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr




More information about the vdr mailing list