[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