[Bug 685870] New: Regression with position when seeking beyond the media duration

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Oct 10 04:02:58 PDT 2012


https://bugzilla.gnome.org/show_bug.cgi?id=685870
  GStreamer | gstreamer (core) | git

           Summary: Regression with position when seeking beyond the media
                    duration
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: calvaris at igalia.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=226165)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=226165)
Test program

I wrote this test program were we play, then pause, then seek a bit beyond the
duration and query for the position. In 0.10, we always got the duration as
position, meaning that we were at the end of the file, but in the case of 1.0,
I am getting a position beyond the duration and it seems to be related to the
start time that is used as "now" when calculating the position.

Behavior in 0.10:

0:00:00.074659529 31570      0x1a3c0a0 DEBUG               basesink
gstbasesink.c:4842:default_element_query:<audiosink-actual-sink-pulse> position
query in format time
0:00:00.074661629 31570      0x1c33940 DEBUG               basesink
gstbasesink.c:3058:gst_base_sink_render_object:<videosink-actual-sink-xvimage>
Got seqnum #323
0:00:00.074674555 31570      0x1a3c0a0 DEBUG               basesink
gstbasesink.c:4763:gst_base_sink_get_position:<audiosink-actual-sink-pulse>
position in wrong state, return -1
0:00:00.074685342 31570      0x1a3c0a0 DEBUG               basesink
gstbasesink.c:4752:gst_base_sink_get_position:<audiosink-actual-sink-pulse>
res: 0, POSITION: 99:99:99.999999999
0:00:00.074683863 31570      0x1c33940 DEBUG               basesink
gstbasesink.c:1544:gst_base_sink_configure_segment:<videosink-actual-sink-xvimage>
configured NEWSEGMENT update 0, rate 1,000000, applied rate 1,000000, format
GST_FORMAT_TIME, 0:00:06.060400000 -- 0:00:06.060400000, time
0:00:06.027200000, accum 0:00:00.000000000
0:00:00.074695647 31570      0x1a3c0a0 DEBUG               basesink
gstbasesink.c:4947:default_element_query:<audiosink-actual-sink-pulse> query
position returns 0
0:00:00.074702708 31570      0x1c33940 DEBUG               basesink
gstbasesink.c:3113:gst_base_sink_render_object:<videosink-actual-sink-xvimage>
object unref after render 0x1bdaca0
0:00:00.074711505 31570      0x1a3c0a0 DEBUG               basesink
gstbasesink.c:4842:default_element_query:<videosink-actual-sink-xvimage>
position query in format time
0:00:00.074714631 31570      0x1c33940 DEBUG               basesink
gstbasesink.c:3284:gst_base_sink_queue_object_unlocked:<videosink-actual-sink-xvimage>
rendering queued object 0x1c5fc50
0:00:00.074734465 31570      0x1a3c0a0 DEBUG               basesink
gstbasesink.c:4647:gst_base_sink_get_position:<videosink-actual-sink-xvimage>
in paused, using start time 0:00:00.000000000
0:00:00.074739790 31570      0x1c33940 DEBUG               basesink
gstbasesink.c:2612:gst_base_sink_do_sync:<videosink-actual-sink-xvimage> non
syncable object 0x1c5fc50
0:00:00.074749390 31570      0x1c33940 DEBUG               basesink
gstbasesink.c:3044:gst_base_sink_render_object:<videosink-actual-sink-xvimage>
rendering event 0x1c5fc50, type tag
0:00:00.074746778 31570      0x1a3c0a0 DEBUG               basesink
gstbasesink.c:4739:gst_base_sink_get_position:<videosink-actual-sink-xvimage>
now 0:00:00.000000000 - base 0:00:00.000000000 - accum 0:00:00.000000000 + time
0:00:06.027200000  last 99:99:99.999999999
0:00:00.074763177 31570      0x1c33940 DEBUG               basesink
gstbasesink.c:3058:gst_base_sink_render_object:<videosink-actual-sink-xvimage>
Got seqnum #331
0:00:00.074768130 31570      0x1a3c0a0 DEBUG               basesink
gstbasesink.c:4752:gst_base_sink_get_position:<videosink-actual-sink-xvimage>
res: 1, POSITION: 0:00:06.027200000
0:00:00.074773907 31570      0x1c33940 DEBUG               basesink
gstbasesink.c:3113:gst_base_sink_render_object:<videosink-actual-sink-xvimage>
object unref after render 0x1c5fc50
0:00:00.074781103 31570      0x1a3c0a0 DEBUG               basesink
gstbasesink.c:4947:default_element_query:<videosink-actual-sink-xvimage> query
position returns 1
0:00:00.074784424 31570      0x1c33940 DEBUG               basesink
gstbasesink.c:3284:gst_base_sink_queue_object_unlocked:<videosink-actual-sink-xvimage>
rendering queued object 0x1c5fca0
0:00:00.074793942 31570      0x1c33940 DEBUG               basesink
gstbasesink.c:2612:gst_base_sink_do_sync:<videosink-actual-sink-xvimage> non
syncable object 0x1c5fca0
(test:31570): main-test-DEBUG: seeking finished, position: 6027200000

Regression:

0:00:00.179138977 30869      0x18c1560 DEBUG               basesink
gstbasesink.c:4452:default_element_query:<audiosink-actual-sink-pulse> position
query in format time
0:00:00.179155432 30869      0x18c1560 DEBUG               basesink
gstbasesink.c:4269:gst_base_sink_get_position:<audiosink-actual-sink-pulse> in
paused, using start time 0:00:00.000788000
0:00:00.179166459 30869      0x18c1560 DEBUG               basesink
gstbasesink.c:4361:gst_base_sink_get_position:<audiosink-actual-sink-pulse> now
0:00:00.000788000 - base_time 0:00:00.000000000 - base 0:00:00.000000000 + time
0:00:06.027200000  last 99:99:99.999999999
0:00:00.179180082 30869      0x18c1560 DEBUG               basesink
gstbasesink.c:4374:gst_base_sink_get_position:<audiosink-actual-sink-pulse>
res: 1, POSITION: 0:00:06.027988000
0:00:00.179201959 30869      0x18c1560 DEBUG               basesink
gstbasesink.c:4558:default_element_query:<audiosink-actual-sink-pulse> query
position returns 1
0:00:00.179231936 30869      0x18c1560 DEBUG               basesink
gstbasesink.c:4452:default_element_query:<videosink-actual-sink-ximage>
position query in format time
0:00:00.179242193 30869      0x18c1560 DEBUG               basesink
gstbasesink.c:4269:gst_base_sink_get_position:<videosink-actual-sink-ximage> in
paused, using start time 0:00:00.000788000
0:00:00.179251304 30869      0x18c1560 DEBUG               basesink
gstbasesink.c:4361:gst_base_sink_get_position:<videosink-actual-sink-ximage>
now 0:00:00.000788000 - base_time 0:00:00.000000000 - base 0:00:00.000000000 +
time 0:00:06.027200000  last 99:99:99.999999999
0:00:00.179263168 30869      0x18c1560 DEBUG               basesink
gstbasesink.c:4374:gst_base_sink_get_position:<videosink-actual-sink-ximage>
res: 1, POSITION: 0:00:06.027988000
0:00:00.179273125 30869      0x18c1560 DEBUG               basesink
gstbasesink.c:4558:default_element_query:<videosink-actual-sink-ximage> query
position returns 1
(test:30869): main-test-DEBUG: seeking finished, position: 6027988000

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list