Skip Immediate repeats if done quickly (1 Viewer)

Mat Walker

MP Donator
  • Premium Supporter
  • July 7, 2014
    28
    10
    Home Country
    Australia Australia
    1.8.0
    DefaultWide
    Immediate Skip set to constant, 10 Seconds.

    SUMMARY
    Is there a setting that allows me to do quick immediate skips? Currently, if I hit 'UP' (Remote is a vrc-1100, but also repro's using a keyboard) quickly I don't skip forward 10 seconds, it just repeats. If I do this slowly the each time I press UP it faithfully skips forward 10 seconds.

    DESCRIPTION
    When viewing video (IE. Recorded TV) a user can press the UP arrow on the remote/keyboard. When this is done MP skips the set % or constant forward and continues playing the video. However, if the UP key is pressed and then pressed again in quick succession, the second press rewinds back to the start of when the press occurred - it looks/sounds like a stutter.

    REPRO STEPS
    (Timeline Video playing, assumed skip immediate is set to constant 10 seconds time in mm:ss.fff - where fff is milliseconds)

    In the steps below, the user hits the UP key twice quickly (the steps show it being the second time 80 milliseconds after the first; so after the second press the video continue playing 20.08 seconds after the time when the first UP press was made.

    1. Video playing fullscreen

    2. At 02:30.000 user hits UP

    3. Video continues playing at 02:40.000

    4. At 02:40.080 user hits UP again

    EXPECTED
    Video continues playing at 02:50.080

    ACTUAL
    Video continues playing at 02:40.000
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,577
    8,224
    Home Country
    New Zealand New Zealand
    Is there a setting that allows me to do quick immediate skips?
    No. The point of "immediate" is that the skip happens immediately, without waiting for further input. Multiple triggers won't be registered.

    Left/right skip steps will register multiple triggers but won't skip a constant amount. In other words, if you press left/right once it will skip 15 seconds (after timeout - default is 1.5 seconds); press it twice quickly will give a 30 second skip; three times is 1 minute etc.
    [edit: The skip steps are configurable, as you've possibly seen:
    http://wiki.team-mediaportal.com/1_...diaPortal_Configuration/13_GUI/7_Skip_Steps_*
    ]

    In short: no, you can't get the behaviour of WMC. MP does things differently.
     

    mbuzina

    Retired Team Member
  • Premium Supporter
  • April 11, 2005
    2,839
    726
    Germany
    Home Country
    Germany Germany
    But MP should also understand how multiple UP presses are handled. So if I press UP, UP, UP & immediate skip is set to 10 seconds, it should skip 30 seconds (may skip 10 seconds first, then another 20). Otherwise key presses are lost.
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,577
    8,224
    Home Country
    New Zealand New Zealand
    AFAIK keypresses are never lost. If the up/down key is pressed while MP is in the process of immediate-skipping then it is possible/probable the keypress is ignored.
     

    mbuzina

    Retired Team Member
  • Premium Supporter
  • April 11, 2005
    2,839
    726
    Germany
    Home Country
    Germany Germany
    OK, in that case MP should not ignore, but queue the keypress and when there is time to process it again check the queue and group all skip immediates into one "big" immediate step. (Would be better user experience in my humble opinion).
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,577
    8,224
    Home Country
    New Zealand New Zealand
    Sorry, I disagree for technical reasons. :)

    The problem with queuing skip immediate commands is that skipping is slow (due to file access speed, complex code, media format limitations etc. etc. etc.). Queuing => lagging/unresponsiveness while the queue is processed => user unfriendly.

    IMHO a better solution would be to provide a "skip like WMC" option. Such an option would be quite similar to skip steps, but the increment size would be fixed (eg. 10 seconds).
     

    mbuzina

    Retired Team Member
  • Premium Supporter
  • April 11, 2005
    2,839
    726
    Germany
    Home Country
    Germany Germany
    I beg to differ ;-), we could add a left/right is always + x sec option (instead of defined steps), aka Step like WMC but the skip immediate is an MP speciality.

    Anyone can press up/down and skip the preferred amount. If you like, you can press up repeatedly and MP will still skip one step only. This is contrary to our expectation. So I would suggest the following procedure:
    Up --> MP starts skipping x seconds ahead (this takes a while)
    Up --> MP queues skip_immediate command
    Up --> MP queues skip_immediate command
    Skipping Done --> Play starts at t+x
    MP dequeues skip_immediate, combines them & starts skipping 2x seconds ahead (this takes a while as well)
    ...
    Skipping Done --> Play starts a t t+3x

    This does not remove any existing functionality and still handles multiple Up presses as a user would expect. Providing visual feedback would be an added bonus (+x, +2x, +3x).

    Clear?
     

    Mat Walker

    MP Donator
  • Premium Supporter
  • July 7, 2014
    28
    10
    Home Country
    Australia Australia
    Interesting discussion and possibly not helped by my opening sentence of "Is there a setting that allows me to do quick immediate skips?"

    The UP/DOWN skipping generally works well and in fact does mirror WMC's skip functionality - in fact it extends it in that a user can easily adjust the skip steps (in WMC you have to muck around with registry settings or get a 3rd party tool).

    However, a bug does lurk there and once past the initial teething issues I'm getting I've given myself a task of having a dig to see what could be the cause; although mbuzina may have an inkling etc...

    I mucked around last night and it seems that if a second UP event comes along before the current UP event has been fully completed, the current UP is just repeated - hence to the user it appears to repeat itself in quick succession. This is nothing to do with the 1.5 second timeout; the difference between UP/DOWN working correctly and not is literally a few milliseconds. I don't know how the functionality is realised in code yet but it could by ignoring UP/DOWN events until the current event is fully completed or, as mbuzina says, queuing them (I'm not a fan of queueing as it could be annoying if lots of presses are made and the machine/network is slow....). I appreciate that skip_immediate's are expensive as (I'm guessing) the command has to be sent over the network to the server and the server skips the stream forward/backwards the right amount (if there is buffering then even more complex/expensive buffer-flush reload:)) etc..

    I see that this issue appears to one of those that regularly rears its head (I think 2006 is the first mention of it); so guessing not easy to fix...
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,577
    8,224
    Home Country
    New Zealand New Zealand
    Does the problem only occur on the client (ie. the PC that doesn't have TV Server on it)?
    Also, what kind of files are you testing with?

    I can't reproduce the problem with a single-seat setup and TS files...
     

    Mat Walker

    MP Donator
  • Premium Supporter
  • July 7, 2014
    28
    10
    Home Country
    Australia Australia
    Both; single seat and separate client.

    But, i found it difficult to repro on the single seat last night (the client-only was busy with a trail of Peppa Pigs being watched by a 2yo who would let me on :)...) so it could be affected machine loading.... It repro'ed a couple of times but only with very quick UPs being pressed.

    I'll monitor it and when there is probably enough info to be useful to the devs I'll do a proper bug report. Otherwise i'll risk just wasting your time etc....
     

    Users who are viewing this thread

    Top Bottom