News:

Latest versions:
Server plugin: 0.5.1
MVP dongle: 0.5.2
Raspberry Pi client: 0.5.2
Windows client: 0.5.2-1

Main Menu

Some hints on audio channels

Started by rdoac, September 28, 2007, 23:27:02

Previous topic - Next topic

rdoac

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?

MartenR

No, for the audio channel selection there is no way implemented to select a certain language.

Marten

rdoac

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.

MarkC

Quote from: rdoac on September 29, 2007, 14:23:07
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.