[Bug 764939] basesink: deadlock caused by klass->wait_event() which leaves preroll mutex locked
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue Apr 12 12:42:16 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=764939
mariuszb <mariusz.buras at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|NOTABUG |FIXED
--- Comment #8 from mariuszb <mariusz.buras at gmail.com> ---
I'm getting fifo empty callback from the video decoder and want to send EOS
upstream. So in reality, my case is more complex then I've described. Here's
the callstack:
#0 0x3f488674 in gst_base_sink_wait_preroll (sink=0x614bf0) at
gstbasesink.c:2209
#1 0x3f488ab8 in gst_base_sink_do_preroll (sink=0x614bf0, obj=0x613c38) at
gstbasesink.c:2303
#2 0x3f48fa68 in gst_base_sink_do_sync (basesink=0x614bf0, obj=0x613c38,
late=0x42940e10, step_end=0x42940e14) at gstbasesink.c:2505
#3 0x3f490a9c in gst_base_sink_default_wait_event (basesink=0x614fc0,
event=0x614cc0) at gstbasesink.c:3025
#4 0x4178be08 in gst_fun_sink_wait_event_locked (basesink=<value optimized
out>, event=0x613c38) at /data/builds/...
#5 gst_fun_sink_wait_event (basesink=<value optimized out>, event=0x613c38) at
/data/builds/...
#6 0x3f4956d8 in gst_base_sink_wait_event (basesink=0x614fc0, event=0x613c38)
at gstbasesink.c:3040
#7 gst_base_sink_default_event (basesink=0x614fc0, event=0x613c38) at
gstbasesink.c:3082
#8 0x41788580 in gst_fun_sink_on_error (context=0x614bf0, reason=fifoEmpty) at
/data/builds/...
So its my funsink calling
GST_BASE_SINK_CLASS( gst_nexus_sink_parent_class )->event( &sink->parent,
gst_event_new_eos() );
from gst_fun_sink_on_error(), this results in gst_base_sink_default_event()
being called, as seen in callstack.
I want to send an EOS upstream, and I have a terrible feeling I'm doing it
wrong :)
--
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