[vdr] No Audio on ATSC Qam256 or OTA..

Alex Lasnier alex at fepg.org
Sun Aug 2 19:22:42 CEST 2009


Klaus Schmidinger wrote:
> On 07/30/09 01:05, Rob Davis wrote:
>> Stile wrote:
>>> On Tue, Jun 23, 2009 at 12:43 PM, Rob Davis<rob at davis-family.info> wrote:
>>>  
>>>> Alex Lasnier wrote:
>>>>    
>>>>> Rob Davis wrote:
>>>>>
>>>>>      
>>>>>> I have it normally connected to Comcast cable which should pipe
>>>>>> through
>>>>>> a bunch of FTV channels using QAM256. These I can see and hear in
>>>>>> kaffeine with AC97 audio. However, in VDR it appears to change the
>>>>>> pids
>>>>>> automatically so that the audio stops working. If I manually change
>>>>>> VDR
>>>>>> to not auto update and put the APID in then it squeeks rather than
>>>>>> works. However, streaming to mplayer using streamdev seems to work.
>>>>>> (It
>>>>>> does the same this with OTA channels too - although I can only get 4
>>>>>> with a portable antenna.)
>>>>>>
>>>>>>         
>>>>> ATSC uses only AC-3 audio, so the Apid should be 0 and the Dpid
>>>>> needs to
>>>>> be set appropriately. Since the sound squeaks, whatever value you have
>>>>> set for the Apid should be the Dpid.
>>>>>
>>>>> For example,
>>>>>
>>>>> WIFR-Wx:495000:M256:C:0:1984:0;Dpid:0:0:2:0:0:0
>>>>>
>>>>>
>>>>>       
>>>> Perfect... Thanks
>>>>
>>>> Is there a way to keep auto update on, but stop Comcast from sending
>>>> wrong pids?  It keeps settings all audio options to 0 and some vpids
>>>> too?
>>>>
>>>>     
>>> The streamtype for those AC3 PIDs is 0x81. Adding this to pat.c will
>>> add the digital PIDs correctly.
>>>
>>> --- pat.c~    2009-06-22 12:28:08.000000000 -0400
>>> +++ pat.c    2009-06-22 13:32:48.461538560 -0400
>>> @@ -432,6 +432,9 @@
>>>                           }
>>>                        }
>>>                        break;
>>> +                case 0x81:             // AC3 DPIDs
>>> +                     Dpids[NumDpids++] = stream.getPid();
>>> +                     break;
>>>                //default: printf("PID: %5d %5d %2d %3d %3d\n",
>>> pmt.getServiceId(), stream.getPid(), stream.getStreamType(),
>>> pmt.getVersionNumber(), Channel->Number());//XXX
>>>                }
>>>              for (SI::Loop::Iterator it; (d =
>>> (SI::CaDescriptor*)stream.streamDescriptors.getNext(it,
>>> SI::CaDescriptorTag)); ) {
>>>
>>>   
>> Perfect.  I wonder if this could go in the atscepg patch?
> 
> Can you try if this also works if you insert the line
> 
>                 case 0x81:             // AC3 DPIDs
> 
> after the line
> 
>                 //XXX case 8: // STREAMTYPE_13818_DSMCC
> 
> instead? I'm asking because I'd like to see whether there are
> also language descriptors available...
> 
> Klaus

Yes, language descriptors are present. However, ATSC also uses 0x81 as 
the AC3 descriptor tag. So we need another

case 0x81:

after

case SI::AC3DescriptorTag:





More information about the vdr mailing list