GNOME Bugzilla – Bug 539042
input-selector emit multiple segments with select-all=True
Last modified: 2011-01-05 16:20:02 UTC
I'm testing switching video codecs live with farsight2, whenever a new video codec appears, a new pad comes out of fs2 and I like it to an input-selector with "select-all" set to True (thats then connected to an xvimagesink). It fails because every time a new pad is connected, it also sends a NEWSEGMENT event that input-selector forwards almost blindly and that the sink then accumulates. I guess that input-selector should do much more complicated magic with the segments and combine them in a smart way and check if an update should be sent instead of a newsegment (or maybe nothing if they match).. Maybe even in the case of select-all, it should just retimestamp every buffer to the running time and only send a [0,-1] segment out or something... Here is a small demo program: import pygst pygst.require('0.10') import gst,time pipeline = gst.parse_launch ("videotestsrc is-live=1 ! input-selector select-all=1 name=a ! xvimagesink") pipeline.set_state(gst.STATE_PLAYING); time.sleep(5) vts = gst.element_factory_make("videotestsrc") vts.set_property("pattern", 1) pipeline.add(vts) vts.link(pipeline.get_by_name("a")) pipeline.set_state(gst.STATE_PLAYING); print "added second source" time.sleep(10) pipeline.set_state(gst.STATE_NULL);
Is this still a problem?
demoting to major.
commit c57934d7bfa78fcffc9f1cb591e0c59829a21070 Author: Tim-Philipp Müller <tim.muller@collabora.co.uk> Date: Wed Jan 5 15:53:28 2011 +0000 inputselector: remove "select-all" property select-all mode is a bit broken (e.g. newsegment event handling), so remove that for now. The funnel element in farsight provides similar functionality. https://bugzilla.gnome.org/show_bug.cgi?id=539042 https://bugzilla.gnome.org/show_bug.cgi?id=638381