[Bug 667116] wrong segment processing on gst_input_selector_set_active_pad

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Feb 3 04:36:48 PST 2012


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

Vincent Penquerc'h <vincent.penquerch> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEEDINFO
                 CC|                            |vincent.penquerch at collabora
                   |                            |.co.uk

--- Comment #1 from Vincent Penquerc'h <vincent.penquerch at collabora.co.uk> 2012-02-03 12:36:44 UTC ---
I think this makes sense. Looking at the code, the following may be a better
way to fix the issue, as _set_start and _set_last_stop do not use the same
"base" for timestamps (_set_last_stop uses the given time directly, but
_set_start transforms it from accum, rate, and segment start).

I'm far from comfortable with segments though, so won't say my patch is fully
correct. Does it also fix your issue ?


diff --git a/plugins/elements/gstinputselector.c
b/plugins/elements/gstinputselector.c
index 4da4735..a74871c 100644
--- a/plugins/elements/gstinputselector.c
+++ b/plugins/elements/gstinputselector.c
@@ -1190,6 +1190,8 @@ gst_segment_set_start (GstSegment * segment, gint64
running_time)
   /* move position in the segment */
   segment->time += duration;
   segment->start += duration;
+  if (segment->last_stop < 0 || new_start > segment->last_stop)
+    segment->last_stop = new_start;
 }

 /* this function must be called with the SELECTOR_LOCK. It returns TRUE when
the

-- 
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