Re: vdr and aac support

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

 



On 15.05.2010 20:00, Newsy Paper wrote:
> hi Luis,
> 
> seems like an ugly hack. Channel I'm receiving here has:
> Stream_type: 15 (0x0f)  [= ISO/IEC 13818-7 Audio with ADTS transport sytax]

If you do this instead:

--- pat.c       2010/03/27 15:17:46     2.9
+++ pat.c       2010/05/16 10:53:46
@@ -358,6 +358,8 @@
                       break;
               case 3: // STREAMTYPE_11172_AUDIO
               case 4: // STREAMTYPE_13818_AUDIO
+              case 0x0F: // ISO/IEC 13818-7 Audio with ADTS transport sytax
+              case 0x11: // ISO/IEC 14496-3 Audio with LATM transport syntax
                       {
                       if (NumApids < MAXAPIDS) {
                          Apids[NumApids] = esPid;


does this put the proper PID into the APID section?
This may still not work with recordings, but I first want to know
whether a proper PID is detected that way.

Klaus

> --- Luis Fernandes <telping@xxxxxxxxx> schrieb am Sa, 15.5.2010:
> 
>> Von: Luis Fernandes <telping@xxxxxxxxx>
>> Betreff: Re:  vdr and aac support
>> An: "VDR Mailing List" <vdr@xxxxxxxxxxx>
>> Datum: Samstag, 15. Mai, 2010 17:40 Uhr
>> 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@xxxxxxxxx>:
>>> 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@xxxxxxx>
>> schrieb am Fr, 14.5.2010:
>>>> Von: Klaus Schmidinger <Klaus.Schmidinger@xxxxxxx>
>>>> Betreff: Re:  vdr and aac support
>>>> An: vdr@xxxxxxxxxxx
>>>> 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@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux