[vdr] vdr and aac support
Luis Fernandes
telping at gmail.com
Sat May 15 17:40:57 CEST 2010
hello everybody, in my case of he-aac streamtype 0x11 coming in, if
you want to record or listen to xineliboutput i have to change in
remux.c and pat.c in the following lines,
pat.c
case 0x04: / / STREAMTYPE_13818_AUDIO
+ case 0x11: / / ISO/IEC 14496-3 Audio with LATM transport syntax
thus adds the audio pid correctly
remux.c
for (int n = 0; Channel->Apid(n); n++) {
- i += MakeStream(buf + i, 0x04, Channel->Apid(n));
+ i += MakeStream(buf + i, 0x11, Channel->Apid(n));
const char *Alang = Channel->Alang(n);
case 0x04: / / STREAMTYPE_13818_AUDIO
+ case 0x11: / / ISO/IEC 14496-3 Audio with LATM transport syntax
but this way I can not hear sound from other channels, only the
channels with streamtype 0x11
is there any way to identify the audio streamtype in this line so that
the MakeStream (buf + i, streamaudiotype, Channel-> APID (n));
Excuse my English
Best regards
2010/5/15 Newsy Paper <newspaperman_germany at yahoo.com>:
> thx Klaus for your patch, but seems like there's something missing. Perhaps in remux.c?
>
> DDpid and Apid are both 0
> If I enter aac pid in ddpid field it's set back to 0 again.
>
> kind regards
>
> Newspaperman
>
> --- Klaus Schmidinger <Klaus.Schmidinger at tvdr.de> schrieb am Fr, 14.5.2010:
>
>> Von: Klaus Schmidinger <Klaus.Schmidinger at tvdr.de>
>> Betreff: Re: [vdr] vdr and aac support
>> An: vdr at linuxtv.org
>> Datum: Freitag, 14. Mai, 2010 16:13 Uhr
>> On 07.05.2010 09:53, Newsy Paper
>> wrote:
>> > Hi!
>> >
>> > there are some channels using aac for audio. I.e.
>> SABC1 at 23.5°East 10758 V 22000 8/9 DVB-S2
>> > Seems vdr doesn't support aac as no pid is entered
>> neither for apid nor for ddpid. I think xine should support
>> acc or doesn't it? So it should be no big deal do extend vdr
>> to support aac.
>>
>> Please try this and see if it makes any difference:
>>
>> --- pat.c 2010/03/27
>> 15:17:46 2.9
>> +++ pat.c 2010/05/14
>> 14:12:31
>> @@ -401,6 +401,7 @@
>>
>> switch
>> (d->getDescriptorTag()) {
>>
>> case
>> SI::AC3DescriptorTag:
>>
>> case
>> SI::EnhancedAC3DescriptorTag:
>> +
>> case
>> SI::AACDescriptorTag:
>>
>>
>> dpid = esPid;
>>
>>
>> ProcessCaDescriptors = true;
>>
>>
>> break;
>>
>> --- eit.c 2010/01/08
>> 15:17:09 2.11
>> +++ eit.c 2010/05/14
>> 14:06:55
>> @@ -257,7 +257,7 @@
>>
>> SI::ComponentDescriptor *cd =
>> (SI::ComponentDescriptor *)d;
>>
>> uchar Stream = cd->getStreamContent();
>>
>> uchar Type = cd->getComponentType();
>> -
>> if (1 <= Stream && Stream <=
>> 4 && Type != 0) { // 1=video, 2=audio, 3=subtitles,
>> 4=AC3
>> +
>> if (1 <= Stream && Stream <=
>> 6 && Type != 0) { // 1=MPEG2-video, 2=MPEG1-audio,
>> 3=subtitles, 4=AC3-audio, 5=H.264-video, 6=HEAAC-audio
>>
>> if (!Components)
>>
>> Components = new cComponents;
>>
>> char buffer[Utf8BufSize(256)];
>>
>>
>> Klaus
>>
>> _______________________________________________
>> 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