gstrtspsrc new asynchrnous implementation issue

Aleix Conchillo Flaqué aconchillo at gmail.com
Wed Sep 19 22:48:21 PDT 2012


Hi,

I think I need some help here. Some days ago I filed this bug:

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

I tried to fix it but I miserably failed (attached bug patches
obsolete). Right now, I think I'm stuck.

Basically, the problem is that gstrtspsrc is trying to set the element
state to PLAYING in a gsttask, and in another thread I am trying to
set the pipeline to NULL. This causes a deadlock (stack trace attached
in the bug).

If I am not wrong, this was introduced in 0.10.31 while making rtspsrc
asynchronous. The affected functions are gst_rtspsrc_stop (called
inside the NULL state change) and gst_rtspsrc_play which tries to set
PLAYING state (which blocks waiting for NULL state to happen).

I've looked into other plugins that make use of gst_task, but I think
none of them tries to change an element state.

What am I missing?

Thanks in advance,

Aleix


More information about the gstreamer-devel mailing list