[Bug 772855] decodebin3: Implement lock for multiqueue slot
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Thu Oct 13 12:28:51 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=772855
--- Comment #4 from Seungha Yang <sh.yang at lge.com> ---
List of MultiQueueSlot (i.e., slots in decodebin3) and MultiQueueSlot itself
should be protected by lock. There is a timing issue due to access to them
without protection.
Please refer to the attached log.
When the problem happened,
- output buffer of "parsebin1" was detected first (thread 0x8c400),
581 0:00:05.997468753 16257 0x8c400 FIXME decodebin3
gstdecodebin3-parse.c:396:parsebin_buffer_probe:<decodebin3-0> Need a lock !
582 0:00:05.997525669 16257 0x8c400 DEBUG decodebin3
gstdecodebin3-parse.c:398:parsebin_buffer_probe:<parsebin1:src_0> Got a buffer
! UNBLOCK
- then, buffer of "parsebin0" (thread 0x8c800)
613 0:00:06.006743253 16257 0x8c800 FIXME decodebin3
gstdecodebin3-parse.c:396:parsebin_buffer_probe:<decodebin3-0> Need a lock !
614 0:00:06.006764128 16257 0x8c800 DEBUG decodebin3
gstdecodebin3-parse.c:398:parsebin_buffer_probe:<parsebin0:src_0> Got a buffer
! UNBLOCK !
- however, linking between "parsebin0" and multiqueue was done before that of
"parsebin1", and it caused erroneous EOS event to multiqueue.
634 0:00:06.008808836 16257 0x8c800 INFO GST_PADS
gstpad.c:2498:gst_pad_link_full: linked parsebin0:src_0 and multiqueue0:sink_1,
successful
637 0:00:06.010344211 16257 0x8c800 DEBUG decodebin3
gstdecodebin3-parse.c:471:parsebin_buffer_probe:<multiqueue0:sink_0> Sending
EOS to unused slot
638 0:00:06.007188878 16257 0x8c400 INFO GST_PADS
gstpad.c:2498:gst_pad_link_full: linked parsebin1:src_0 and multiqueue0:sink_0,
successful
--
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