Problem changing between dif. TV-cards (2 Viewers)

tompa

MP Donator
  • Premium Supporter
  • October 3, 2005
    665
    34
    Stockholm
    Home Country
    Sweden Sweden
    Tried SVN14582 with gibmans patch - Multiseat

    Senario as befor. Still a problem to switch card, but now its was possible to go back to first channel were recording was started!!

    Keep testing an see if stable as above.
     

    gibman

    Retired Team Member
  • Premium Supporter
  • October 4, 2006
    2,998
    1,372
    Aarhus
    Home Country
    Denmark Denmark
    Ok.
    Please keep the testing as simple as possible for the time being.
    In other words do not start recording and such.

    Only do this.

    start MP
    goto myTV section
    Tune channel on DVB device 1, watch it for 5 sec.
    Tune channel on DVB device 2, observe wether or not it works.
    close MP.

    Gather logs and send them.

    /Gibman
     

    joboehl

    Retired Team Member
  • Premium Supporter
  • July 30, 2006
    431
    4
    Home Country
    Brazil Brazil
    Tompa,

    In MP configuration, in general section, set you log level to Debug. Then run the tests.
     

    gibman

    Retired Team Member
  • Premium Supporter
  • October 4, 2006
    2,998
    1,372
    Aarhus
    Home Country
    Denmark Denmark
    I just did some chatting with tompa.

    Just to make matters clear.
    Here is his scenario.

    1) start MP
    2) goto myTV section
    3) start viewing ch1 on dvb device1
    4) start recording ch1 on dvb device1 (as above)
    5) start viewing ch2 on dvb device2
    6) go back to ch1 on dvb device1, that is still recording.
    Here is the problem...It simply wont. The channel change is ignored.
    If the channel2 is reselected again, then it works fine.

    I fixed it by de-activating this chunk of code:

    Code:
     bool useRtsp = System.IO.File.Exists("usertsp.txt");
            if (g_Player.Playing)
            {
              if (System.IO.File.Exists(TVHome.Card.TimeShiftFileName) && !useRtsp)
              {
                if (g_Player.CurrentFile != TVHome.Card.TimeShiftFileName)
                {
                  Log.Info("stop player: file changed:{0}-{1}", g_Player.CurrentFile, TVHome.Card.TimeShiftFileName);
                  g_Player.Stop();
                }
              }
              else
              {
                if (g_Player.CurrentFile != TVHome.Card.RTSPUrl)
                {
                  Log.Info("stop player: url changed:{0}-{1}", g_Player.CurrentFile, TVHome.Card.RTSPUrl);
                  g_Player.Stop();
                }
              }
            }
     

    gibman

    Retired Team Member
  • Premium Supporter
  • October 4, 2006
    2,998
    1,372
    Aarhus
    Home Country
    Denmark Denmark
    I have attached the sources (diffs) that fix the 3 following issues.

    *** Issue 1: tompa's recording issue as described here. ***
    1) start MP
    2) goto myTV section
    3) start viewing ch1 on dvb device1
    4) start recording ch1 on dvb device1 (as above)
    5) start viewing ch2 on dvb device2
    6) go back to ch1 on dvb device1, that is still recording.
    Here is the problem...It simply wont. The channel change is ignored.
    If the channel2 is reselected again, then it works fine.
    This was fixed by in-activating some obsolete code (I think).
    (Se the previous reply from me.)

    *** Issue 2: tompa's slow channel change issue as described here.***
    tompa has 3 dvb card all with the same channels duplicated on all 3 cards.
    So when we fixed the issue above tompa found out that doing channel changes on the same dvb card causes the tvserver to stop the timeshift process each time and then start the new timeshift file ... This results in slow channel changes.
    This is a problem b/c tompa runs a special setup with his 3 cards.
    This was fixed by introducing a new method on the server "GetCardOnNewChannel" ... it simply returns the card that is about to get used when starttimeshifting is called.

    *** Issue 3: my (gibman's) auto change channel issue as described here.***
    I have a channel called DR1. This channel is located on 2 DVB cards.
    dvb-t DR1 FTA, (enabled in guide = true)
    dvb-s DR1 ENCRYPTED (I cannot decode it, no cam and no card - so this is expected). (enabled in guide = FALSE)

    1) start MP.
    2) goto channel DR1 on dvb-t, channels shows fine.
    3) close MP
    4) start MP again.
    5) goto myTV section, DR1 automatically tunes this time, but now it tunes from dvb-s, so I get a black screen. It should tune from dvb-t instead.
    (Remember, DR1 on dvb-t was enabled, while the dvb-s version of DR1 is disabled in guide.)
    This was fixed by checking the visibleinguide property of the channel. And if more channels with the same name exist then these would also be considered until a possible match was found.

    [edited]
    I have added
    TVController.cs.PRIORITY.diff to the attached RAR archive.

    This changed the way issue3 is handled.

    I might have misunderstood the "visible in guide" property.

    A question ....
    When you have a channel that has "visible in guide=false", does that mean the channel is disabled, no chance of tuning the channel, or does it just mean what it says, the channel is hidden from the channel lists in the clients GUI but the channel is viewable if the tvserver redirects the client to this channel?
    ex. when u have the same channel residing on multiple dvb devices. DR1 in my example.

    I think I have treated it as a "disable channel" property in issues3, this might not be right then.

    If this is not ok, then I should alter the code like this;

    1) Timeshifting is about to start on DR1 with channelid=54
    2) Lets find out if we have more channels with the same name of "DR1".
    3) Yes we have 2 channels with that name.
    One with id=54 on dvb-s and one on dvb-t with id=94.
    Which one do we pick ?
    Iiterate through the cards avail. for that channel then pick the one with highest prio. (the higher prio. value the card has the higher prio. it gets)

    I tried setting my dvb-t to highest prio over the dvb-s one before I did the patch for issue3. It had no effect.

    So use "TVController.cs.PRIORITY.diff" instead of TVController.cs.diff. Then it's priority that is the logic and not "visible in guide".

    [/edited]

    :D
    /gibman
     

    joboehl

    Retired Team Member
  • Premium Supporter
  • July 30, 2006
    431
    4
    Home Country
    Brazil Brazil
    Ok, two things:

    - In the current SVN you guys are testing, is this fixed? Otherwise would be good to remove the "Fixed" icon to avoid confusion.

    - As of SVN14614 we are trying a new approach for this problem. Could you please test all the issues with this SVN? It also contains some benchmarking code so we could see how it's performing.
     

    tompa

    MP Donator
  • Premium Supporter
  • October 3, 2005
    665
    34
    Stockholm
    Home Country
    Sweden Sweden
    Ok, two things:

    - In the current SVN you guys are testing, is this fixed? Otherwise would be good to remove the "Fixed" icon to avoid confusion.


    your absolutely right - slightly excited I gues. This is not fixed in current SVN, only works with patch from gibman. Hope that makes it clear (Fixed sign removed).
    - As of SVN14614 we are trying a new approach for this problem. Could you please test all the issues with this SVN? It also contains some benchmarking code so we could see how it's performing.

    Looking forward to test it!
     

    joboehl

    Retired Team Member
  • Premium Supporter
  • July 30, 2006
    431
    4
    Home Country
    Brazil Brazil
    thks tompa,

    The code is out. If you have any problems (be sure to test the initial problem too), please post the logs (server and client).
     

    Users who are viewing this thread

    Top Bottom