GNOME Bugzilla – Bug 686628
AVTransport treats REL_TIME and ABS_TIME seeks the same
Last modified: 2018-05-22 12:36:31 UTC
I suppose this was done to get maximum compatibility but UPnP-wise that's just wrong, see AVTransport:2 spec, Section 2.4.13
Created attachment 254630 [details] [review] Fix seeking behavior when using REL_TIME Attached patch fixes behavior of 'Seek', so that relative seek is always done relative to current time. No value checking is done, thus calling player's seek with negative time is possible.
Committed with minor style fix
I think the fix isn't correct. The relative is not from the current time but from the current track. see AVTransport:2 spec, Section 2.4.13 : "For example, if the RelativeTimePosition state variable contains the value “00:05:30” before the Seek() action, then Seek(InstanceID, “REL_TIME”, “00:00:10”) will move the current position to 10 seconds from the beginning of the track and the RelativeTimePosition state variable will contain the value “00:00:10” after the Seek() action is completed." With this fix we have 00:05:40 instead of 00:00:10. I think the previous code was less wrong.
Oh.
Still, reverting this makes UPnP or DLNA CTT fail IIRC, so this might need some investigation.
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/rygel/issues/29.