[gst-devel] change pipeline's state inside element

Thành Trung Nguyễn trungnthut at gmail.com
Thu Aug 27 12:22:58 CEST 2009


Hi,

I'm writing a custom plugin ( the plugin is the combined of videorate and
capsfilter)  to adjust fps at run-time by changing "caps" property of
capsfilter element.
But to make the new fps get effect, I need to change pipeline state to
PAUSED, change "caps" property and then change pipeline state to PLAYING.
Here's the result:
- using gst_element_set_state(), gst-launch told that I should not change
state inside element thread, post a GstMessage.
- post a GstMessage, then I got this error:
** (gst-launch-0.10:7370): WARNING **: Old state = 4, current state = 0,
next state = 0, new state = 2


** (gst-launch-0.10:7370): WARNING **: Old state = 4, current state = 0,
next state = 0, new state = 4


(gst-launch-0.10:7370): GLib-GObject-WARNING **: invalid unclassed pointer
in cast to `GstMessage'

(gst-launch-0.10:7370): GLib-GObject-WARNING **: invalid unclassed pointer
in cast to `GstMessage'

(gst-launch-0.10:7370): GStreamer-CRITICAL **: gst_value_set_mini_object:
assertion `mini_object == NULL || GST_IS_MINI_OBJECT (mini_object)' failed
Caught SIGSEGV accessing address 0x18
Killed

So is there any one got an idea for me?
Thanks

-- 
Cheers !

trungnt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20090827/9f0c7220/attachment.htm>


More information about the gstreamer-devel mailing list