Problem with sound if channels having more then 3 sounds pid (1 Viewer)

fjonson

Portal Member
February 5, 2005
15
0
MP Version: 2.0.0-RC1 cvs-build 2005-09-25
Skin: BlueTwo
Windows Version: Windows XP Professional sp2 + all uppdates
CPU Type: Intel Celleron 2.4Ghz
Memory: 512MB
Motherboard Chipset: ASUS P4P800 Intel 865PE
Video Card: NVIDIA GeForce4 MX 440
Video Card Driver: Nvidia version 71.89
Video Codec Type & Version: MPEG2Dec
Audio Codec Type & Version: MPEG/AC3/DTS/LPCM Audi Decoder
TV Card 1: Hauppauge WinTV PVR 250
TV Card Type 1: Hardware
TV Card Driver 1: 1.18.21.22266
TV Card 2: Twinhan VisionDTV VP-1030A
TV Card Type 2: DVB
TV Card Driver 2: TwinHan PCI BDA 1.2.2.0
CI-Module: Conax
TV Card 3: Twinhan VisionDTV Ter-CI Split VP-3040
TV Card Type 3: Hardware
TV Card Driver 3: TwinHan PCI BDA 1.2.2.0
CI-Module: Viaccess

I did post this in mediaportals normal bug forum but I realize the post belongs hear.
I receive the Danish audio even if I entered the Swedish pids in the database.
I can’t get Swedish sound in any way tried to remove all info except the Swedish pids from the database still Danish.
Try changing language from inside mediaportal it’s not possible because Swedish is missing in the menu.

/Fjonson
 

fjonson

Portal Member
February 5, 2005
15
0
This is a real bug!

Finally I did find some time to lock in to the code and I found the problem.

In the file DVBGraphBDA.cs and the function SendPMT().

if (hasAudio==false)
{
if (currentTuningObject.AudioPid!=data.elementary_PID) changed=true;
currentTuningObject.AudioPid=data.elementary_PID;
if(data.data!=null)
{
if(data.data.Length==3) currentTuningObject.AudioLanguage=DVBSections.GetLanguageFromCode(data.data);
}
hasAudio=true;
}

I don’t understand the point of this code. The result is clear the audio pid sent to the ca module is always the same one. If the sound pid you want is the first found in the pmt file every thing is great, but if you want the second pid this code will never work.

For the time I changed my code to the following lines.

if (currentTuningObject.AudioPid==data.elementary_PID)
{
if(data.data!=null)
{
if(data.data.Length==3)
currentTuningObject.AudioLanguage=DVBSections.GetLanguageFromCode(data.data);
}
}

/Fjonson
 

dman_lfc

Retired Team Member
  • Premium Supporter
  • July 28, 2004
    1,772
    30
    UK
    Home Country
    New Zealand New Zealand
    Try CVS - you can select the audio stream within TV properly now - please confirm.

    DMAN
     

    fjonson

    Portal Member
    February 5, 2005
    15
    0
    Hello Dman!

    I can confirmer you can use the menu to select another sound pid.

    But if you use an encrypted channel where is no more sound. Because no new pid is transmitted to the cam module.

    Now back to my real problem.
    Disney channel is transmitting 4 sound pid for there channel. Mediaportal supports 3 that are fine but the Swedish pid is the last pid mediaportal discovers so it’s outside any selection.

    It’s nice that the pmt streams are used to get the sound pid but in this case it’s useless.
    As long this part exists in the sendpmt function. This part of the function always select the first found sound even if another pid is selected in the database.

    I can se one point with the function and that is to select the first pid found if the pid in the database is missing.


    /Fjonson


    if (hasAudio==false)
    {
    if (currentTuningObject.AudioPid!=data.elementary_PID) changed=true;
    currentTuningObject.AudioPid=data.elementary_PID;
    if(data.data!=null)
    {
    if(data.data.Length==3) currentTuningObject.AudioLanguage=DVBSections.GetLanguageFromCode(data.data);
    }
    hasAudio=true;

    }
     

    Users who are viewing this thread

    Top Bottom