[Bug 756611] playbin: Leak of playbin on errors from the source element

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Oct 15 23:59:06 PDT 2015


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

--- Comment #1 from Vineeth <vineeth.tm at samsung.com> ---
Created attachment 313414
  --> https://bugzilla.gnome.org/attachment.cgi?id=313414&action=edit
send async_start when subelements setup properly

Not sure if this is the right way to fix.

Here is my analysis and patch which does resolve the issue..

Narrowed it down to commit
http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/gst/playback?id=73646bd04f4755ae3709ae4bd10b122e74358711

      do_async_start (playbin);
is being called when changing from ready_paused before subelements are being
set to paused state.
So in this case since the uri is not valid, uridecodebin is not able to set to
paused state. And hence it fails. Because of this async_done is never getting
posted.

tried to fix this by calling async_start only when the subelements are able to
setup properly.



PS: uridecodebin and playsink also has similar issue i guess. When start msg is
being posted before checking for failures.

PPS: Along with this, one doubt i have is, in gstbin.c, the async msgs are
being ignored when target state is <= READY. But i could see async_done msg
being posted in PAUSED_TO_READY and READY_TO_NULL. Doesn't it make these calls
void?(decodebin2, playsink, uridecodebin all have this)

PPPS: :P... not sure if anything i said makes sense.. If it does not, then we
should start from the commit i mentioned. On reverting those changes everything
works :)...

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