GNOME Bugzilla – Bug 535069
basesrc no longer support non-flushing seeks on itself
Last modified: 2009-12-11 17:08:32 UTC
It used to be possible to close the current segment and open a new one with a basesrc based element by sending a non-flushing seek to itself in the chain method. Since around 0.10.15, this deadlocks due to changes in basesrc internal locking (it deadlocks on the live-lock) and makes it hard to implement a source element that supports autonomous output of a sequence of seamless segments.
This has been broken since last year sometime - and since noone complained, I doubt anyone else is relying on it, so I don't really think it's a blocker. It'd be nice to fix it at some point though.
We should probably add a method to basesrc to perform this functionality from the streaming thread.
Fixed with this commit. Author: Jan Schmidt <thaytan@noraisin.net> Date: Sat Nov 21 16:37:34 2009 +0100 basesrc: Add gst_base_src_new_seamless_segment() Merge new function from resindvd into the primary GstBaseSrc for starting a new seamless segment. API: gst_base_src_new_seamless_segment()