Author Topic: Some hints on audio channels  (Read 2672 times)

Offline rdoac

  • Full Member
  • ***
  • Posts: 108
    • View Profile
Some hints on audio channels
« on: September 28, 2007, 23:27:02 »
I am trying to understand the code for vompserver is relation to changing the audio track.. I have cludged my vdr setup to prefer english above other languages using a bash script on the channels.conf file, however, this gets out of date quickly.  I would like to get vomp to prefer the Alang(?)="eng" and reorder the apids before being requested.  However, I'm not sure how to go about doing this.  I got channelFromNumber in mvpclient.c sorting the Apids into the order I wanted, but then the info appears to get thrown away.  Is this the correct way to go about it, or is there a better one?

Offline MartenR

  • Hero Member
  • *****
  • Posts: 789
    • View Profile
Re: Some hints on audio channels
« Reply #1 on: September 29, 2007, 09:58:55 »
No, for the audio channel selection there is no way implemented to select a certain language.

Marten

Offline rdoac

  • Full Member
  • ***
  • Posts: 108
    • View Profile
Re: Some hints on audio channels
« Reply #2 on: September 29, 2007, 14:23:07 »
How is the channel requested from VDR?  Is it by pids like you can do with streamdev?

I wondered about putting a variable like deslang in the code.  This could be set from the config file.  So for example

deslang = "eng".

A quick check on Alang(?) could be made, and if Alang(2) = "eng" then the apid order could be rewritten and the request sent back off to vdr.

So, assuming Apid(0)= italian and Apid(1) = english, where Alang(2) said "eng", Apid(0) would take the value Apid(1) had and Apid(1) would have what Apid(0) had?

Or does vomp just say, give me channel 110?

I know in the code that a complete list of info is sent from vdr including all vpids, apids and alangs.

However, I don't know what happens to it.

Offline MarkC

  • Full Member
  • ***
  • Posts: 65
    • View Profile
Re: Some hints on audio channels
« Reply #3 on: October 02, 2007, 20:19:16 »
How is the channel requested from VDR?  Is it by pids like you can do with streamdev?

VDR sends all the audio channels to VOMP: it just transmits the raw TS stream. The TS demuxer filters out packets from the selected video/audio PIDs. Currently, it always uses the first PID in the list obtained by VDR::getChannelPids. This process starts in VVideoLive::play and the first PID is passed to Player::play and from there to DemuxerTS::setAID.

I'm not sure how you're sorting the channel list in channelFromNumber; that would appear to involve modifying a standard VDR channel object. If I were doing this on the server side, I'd probably try changing the processGetChannelPids function to loop over the channel->Apid() list in a different order, when building the network packet to send to VOMP.