crash during gst_element_set_state

Vincent Meserette vmeserette at gmail.com
Fri Jul 27 10:24:25 PDT 2012


Hi all,

I constructed a pipeline using playbin to play mp3 files.
All works well, but sometimes I have a crash at the end of the paying
when I try to unref the playbin element.

Here is the piece of code I used to unref playbin :

GstStateChangeReturn ret = gst_element_set_state (playbinElement,
GST_STATE_NULL); // playbinElement is a pointer on the playbin element
(GstElement *playbinElement = gst_element_factory_make ("playbin",
"playElement"))

GstClockTime timeOut = 2000000000; // in nano seconds

if (ret==GST_STATE_CHANGE_ASYNC)
{
    printf("set state async\n");
    ret = gst_element_get_state(playbinElement,NULL,NULL,timeOut);
}
if (ret==GST_STATE_CHANGE_SUCCESS)
{
    printf("set state done\n");
    gst_object_unref(GST_OBJECT (playbinElement));
    printf("unref done\n");
}
else
{
    printf("set state failed\n");
}

And I have the following backtrace :

 set state done
unref done

(<unknown>:4379): GStreamer-CRITICAL **: gst_element_set_state: assertion
`GST_IS_ELEMENT (element)' failed
(<unknown>:4379): GStreamer-CRITICAL **:
Trying to dispose element play, but it is in PAUSED instead of the NULL
state.
You need to explicitly set elements to the NULL state before
dropping the final reference, to allow them to clean up.
This problem may also be caused by a refcounting bug in the
application or some element.
(<unknown>:4379): GStreamer-CRITICAL **:
Trying to dispose element preroll_audio_src0, but it is in PAUSED instead
of the NULL state.
You need to explicitly set elements to the NULL state before
dropping the final reference, to allow them to clean up.
This problem may also be caused by a refcounting bug in the
application or some element.
GThread-ERROR **: file gthread-posix.c: line 171 (g_mutex_free_posix_impl):
error 'Device or resource busy' during 'pthread_mutex_destroy
((pthread_mutex_t *) mutex)'
aborting...
Aborted

Does someone know from where could come the problem ?

Thanks in advance

Regards

Vincent
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20120727/ab2713d4/attachment.html>


More information about the gstreamer-devel mailing list