GNOME Bugzilla – Bug 712181
Seek issue : bad seek position
Last modified: 2013-12-21 10:38:43 UTC
On v0.20.1 when seeking a file if I move the seek trackbar on controller when playing from 10% to for exemple 25% the trackbar indicator stay at 25% for 2-3 seconds and then jump to about 75% (with the stream playing at this position). Seems a ration issue between song time and trackbar lenght. I run rygel on Debian Jessie arch=armel(dist-upgraded from Wheezy) and I am able to reproduce the issue with different controller on different platform.
is that with gupnp-av-cp or some other tool?
no only rygel in renderer mode.
No I mean which controller does show this behavior?
Ho sorry. I've tried with foobar on windows, 8-Player and MediaConnect on iOS but now i've just tried with Upnp Inspector on Ubuntu and with this one it works ok. It seems that on the device were the problem appear if I'm for exemple playing a stream at 00:25 and go with the trackbar to 01:00 the stream restart playing at 01:25 instead of 01:00 i.e. instead of restarting the stream at: Actual Time "00:25" + (Target Time "01:00" - Actual time"00:25") = 01:00 it restart at: Actual time (00:25) + Target time (01:00) = 01:25 Hope this is clear enough ;), in short the actual time is added to the target time when seeking...
Is that realy the playbin renderer or an MPRIS player connected to rygel? (I fixed something like this for MPRIS peers recently)
Yes this is really the playbin renderer plugin. The behaviour is also the same with Kinsky on linux.
Ah, of course. This is most likely a symptom of bug 686628. I suppose you don't happen to have the possibility to recheck with latest stable (0.20.2)?
Actually, that change was already included in 0.20.1. The code looks ok, it's using current time + value on REL_TIME and value-only with ABS_TIME and I can't imagine all clients to mix up REL_TIME and ABS_TIME :-/
Ok, I forgot to mention here that seeking was working normally with all controller on v0.14.2, maybe it can help...
Uhhh, weird. Can reproduce with foobar, but not Helium.
Uhm. Technically what rygel does is correct. foobar issues a REL_TIME seek request but passes the absolute time :-/ Wow, things are quite broken out there... we might need more quirks :(
Turns out the fix in bug 686628 isn't correct.
Created attachment 264670 [details] [review] renderer: Treat ABS_TIME/REL_TIME the same Looks like the original fix wasn't correct, see https://bugzilla.gnome.org/show_bug.cgi?id=686628#c3 Signed-off-by: Jens Georg <mail@jensge.org>
Attachment 264670 [details] pushed as fbf259c - renderer: Treat ABS_TIME/REL_TIME the same