[Bug 757563] audiomixer: issues with seamless looping (missing support for non-flushing seeks)

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sat Nov 4 21:37:23 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=757563

--- Comment #11 from Mathieu Duponchelle <mduponchelle1 at gmail.com> ---
(In reply to Stefan Sauer (gstreamer, gtkdoc dev) from comment #9)

> That's why there is a FIXME: - I am still pondering whats the best way to do
> this. We'll basically need a GQueue for sequence numbers (guint32) on the
> aggregator and on each sink-pad.
> 1) we get a seek on src, if segmented push seq_num to aggregator queue and
> each sink-pad queue
> 2) we get a segment on a sink-pad
>    2.1) check that ev.seq_num == queue.head.seq_num
>    2.2) pop the seq_num off the pad_queue
>    2.3) if none of the sink-pad queues has the aggregator-queue.head.seq_num
> at head, do the seek and pop the seq_num from the aggregator queue, the seek
> is done
> 

Just thought about this a bit more, would it not be enough to have a single
queue in the aggregator, containing a struct {guint32 seqnum; guint n_pads}, do
atomic operations on n_pads and do the seek when dec_and_test succeeds?

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