TV becomes deactivated after channel-switch (1 Viewer)

kuehnch

MP Donator
  • Premium Supporter
  • June 14, 2006
    303
    9
    43
    Cologne (Köln)
    Home Country
    Germany Germany
    TV-Server Version: 04-30-2007 09-59h Revision 14458
    MediaPortal Version: 0.2.2 + SVN 14457
    MediaPortal Skin: BlueTwo
    Windows Version: WindowsXP SP2
    CPU Type: AMD Athlon64
    HDD: 160GB
    Memory: 2048MB DDR
    Motherboard: Asus A8N-SLI Deluxe
    Motherboard Chipset: nForce4 AMD
    Motherboard Bios: 1016
    Video Card: ATI Radeon x800XT
    Video Card Driver: 7.3
    Sound Card: Soundblaster Audigy 2
    Sound Card AC3: Soundblaster Audigy 2
    Sound Card Driver: last
    1. TV Card: FireDTV C/CI
    1. TV Card Type: DVB-C
    1. TV Card Driver: last
    2. TV Card: FireDTV C/CI
    2. TV Card Type: DVB-C
    2. TV Card Driver: last
    3. TV Card: Terratec Cinergy 1200 DVB-T
    3. TV Card Type: DVB-T
    3. TV Card Driver: 4.8.16
    MPEG2 Video Codec: Cyberlink (PowerDVD 7.3)
    MPEG2 Audio Codec: MPA
    Satelite/CableTV Provider: NetCologne Multikabel
    HTPC Case: Silverstone LC18?
    Cooling: coooool
    Power Supply: 420W
    Remote: MCE-remote + IRTrans
    TV: no TV - CRT-display
    TV - HTPC Connection: MultiSeat over GBIT-LAN

    If i switch from channel A (tv-card 1) to channel B (tv-card 2), the tv becomes deactivated on clientside (if in tvfullscreen, mp switches back to tvhome automatically and "TV on" turns off). This is caused by an IndexOutOfBoundsException in TVHome.cs at line 1331 (ViewChannelAndCheck-method) that occours only on non-singleseat-enviroments:

    Code:
            if (IsSingleSeat())
            {
              g_Player.CurrentAudioStream = prefLangId;
            }
            else
            {
              IAudioStream[] streams = TVHome.Card.AvailableAudioStreams;
              TVHome.Card.AudioStream = streams[prefLangId];
            }

    TVHome.Card.AvailableAudioStreams returns an emtpy array (no audiostreams available - timing-problem?), so that prefLangId (index) is out of bounds every time. The problem occours only, if the tvserver has to change the tvcard to tune the new channel.
     

    gibman

    Retired Team Member
  • Premium Supporter
  • October 4, 2006
    2,998
    1,372
    Aarhus
    Home Country
    Denmark Denmark
    the "AvailableAudioStreams" method for DVB cards are lcoated in ...

    "tvcarddvbbase.cs" in the tvlibrary assembly.


    Code:
    public List<IAudioStream> AvailableAudioStreams
        {
          get
          {
            if (_mapSubChannels.Count > 0)
            {
              return _mapSubChannels[0].AvailableAudioStreams;
            }
            return new List<IAudioStream>();
          }
        }
    I have a feeling that " _mapSubChannels.Count" is 0, so the method will return a new empty array (new List<IAudioStream>()).

    Now we have to find out why _mapSubChannels.count is 0.
    If that is the problem that is.

    /Gibman
     

    gibman

    Retired Team Member
  • Premium Supporter
  • October 4, 2006
    2,998
    1,372
    Aarhus
    Home Country
    Denmark Denmark
    I have found and corrected the problem :)

    I will submit a patch file for one of the devs.

    Stay tuned.

    /Gibman
     

    gibman

    Retired Team Member
  • Premium Supporter
  • October 4, 2006
    2,998
    1,372
    Aarhus
    Home Country
    Denmark Denmark
    No problem :)

    Please let me know of the outcome.

    Also the the exception u mentioned about "AvailableAudioStreams" was a bi-problem of the timeshifting being stopped.

    So this error should be gone also.

    /Gibman
     

    kuehnch

    MP Donator
  • Premium Supporter
  • June 14, 2006
    303
    9
    43
    Cologne (Köln)
    Home Country
    Germany Germany
    Recompiled the tvplugin with your diffs...
    works very well now! device-changing while channel-switch not longer results in an exception/disabled TV. Many, many thanks for this :)
     

    Users who are viewing this thread

    Top Bottom