[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