After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 516513 - dvdread/dvddemux: FORMAT_TIME seek fails on some DVDs
dvdread/dvddemux: FORMAT_TIME seek fails on some DVDs
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
git master
Other All
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-02-14 18:13 UTC by Tal Shalif
Modified: 2018-05-12 08:27 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
dvdreadsrc:5,dvddemux:5 trace of failed seeking to pos 2524407266667 (200.80 KB, application/x-bzip)
2008-02-14 18:21 UTC, Tal Shalif
Details
dvdreadsrc:5,dvddemux:5 trace of successful seeking to pos 2524407266666 (89.36 KB, application/x-bzip)
2008-02-14 18:23 UTC, Tal Shalif
Details

Description Tal Shalif 2008-02-14 18:13:15 UTC
Please describe the problem:
Seek operation fails when running a simple DVD playing pipeline using dvdreadsrc and dvddemux, 

Steps to reproduce:
(using python bindings)
1. >>> import gst
2. >>> pipeline = gst.parse_launch("dvdreadsrc title=5 device=/home/tshalif/Desktop/MP3/b5s1d1.iso ! dvddemux name=demux .current_video ! queue ! mpeg2dec !  xvimagesink")
3. >>> pipeline.seek ( 1.0, gst.FORMAT_TIME, gst.SEEK_FLAG_FLUSH, gst.SEEK_TYPE_SET, 1224407266667L, gst.SEEK_TYPE_NONE, 0 )


Actual results:
The movie display pauses on the current position. After a long time (5 - 10 minutes) it resumes playing, but much further down the movie than the intended seek position

Expected results:
video output to seek to requested position and continue playing film

Does this happen every time?
On those DVDs where the problem manifests itself it happens every time, but with the following characteristics: It seems like for each such DVD there is a 'point-of-no-return' seek position; Seeking to any position larger than that position will fail as described abofe. But seeking to a position smaller than that point will succeed. 

Other information:
In the above example, the 'point-of-no-return' seek position is 1224407266667 nanoseconds. Seeking to 1224407266666 or less will succeed, while seeking to 1224407266667 or above will fail.
Comment 1 Tal Shalif 2008-02-14 18:21:48 UTC
Created attachment 105265 [details]
dvdreadsrc:5,dvddemux:5 trace of failed seeking to pos 2524407266667
Comment 2 Tal Shalif 2008-02-14 18:23:11 UTC
Created attachment 105266 [details]
dvdreadsrc:5,dvddemux:5 trace of successful seeking to pos 2524407266666
Comment 3 Sebastian Dröge (slomo) 2011-05-19 06:34:11 UTC
Is this still a problem with the latest releases?
Comment 4 Tal Shalif 2011-05-30 13:44:42 UTC
Work in progress verifying using GStreamer 0.10.34 (GIT)
Comment 5 Tal Shalif 2011-05-30 14:17:47 UTC
The problem is as before:

On Pirates of the Carribean (Japanese NTSC DVD distribution)

The following works:
>>> pipeline.seek_simple(gst.FORMAT_TIME, gst.SEEK_FLAG_FLUSH, 1358930000000L)
True

But trying to seek a bit further causes the movie stop:
>>> pipeline.seek_simple(gst.FORMAT_TIME, gst.SEEK_FLAG_FLUSH, 1458930000000L)
True

The stream duration for that title is:
>>> pipeline.query_duration(gst.FORMAT_TIME)
(8582000000000L, <enum GST_FORMAT_TIME of type GstFormat>)
Comment 6 Vincent Penquerc'h 2011-09-16 14:37:53 UTC
Likely fixed by https://bugzilla.gnome.org/show_bug.cgi?id=659252, can you please check ?
Comment 7 Tal Shalif 2011-10-03 03:37:32 UTC
Possible fix by #659252 still under investigation - so far no success with HEAD@master
Comment 8 Tal Shalif 2011-10-04 04:56:12 UTC
The problem persists. using latest Git master - gst.version() returns 0.10.35.1

Trying to seek on the pipeline or directly on the dvddemux element beyond a certain nanosecond position manifests the same problem described above.

Seeking directly on the dvdreadsrc element seems to work.

When seeking on dvdreadsrc via a call to src.seek(), playing rate can not be changed.

Tests performed on Kubuntu 11.04 x86_64
Comment 9 Vincent Penquerc'h 2011-10-04 10:34:11 UTC
Just to be sure: the fixes are in -ugly, you tried git of it as well, right ? Just making sure you've tried the right git repo, since 0.10.35.1 is not an -ugly version.
Comment 10 Tal Shalif 2011-10-04 10:40:21 UTC
I compiled after pulling latest from master in all components.
Comment 11 Edward Hervey 2018-05-12 08:27:49 UTC
Closing since this was for a very old version. If you can reproduce the issues on current GStreamer and attach logs, please re-open.