[gst-devel] Setting "convert-frame" of playbin2 using g_signal_emit_by_name()

Steffen Liebscher sliebscher at vitracom.de
Wed Oct 27 14:25:38 CEST 2010


Hi developers,

I'm trying to use

g_signal_emit_by_name(playbin2, "convert-frame", caps, &buf);

to receive images in the format I need. I set this format using

caps = gst_caps_new_simple ("video/x-raw-rgb",
             "bpp", G_TYPE_INT, 24,
             "depth", G_TYPE_INT, 24,
             "pixel-aspect-ratio", GST_TYPE_FRACTION, 1, 1,
             "endianness", G_TYPE_INT, G_BIG_ENDIAN,
             "red_mask", G_TYPE_INT, 0xff0000,
             "green_mask", G_TYPE_INT, 0x00ff00,
             "blue_mask", G_TYPE_INT, 0x0000ff,
             NULL
         );

If I pass NULL instead of caps to the function, the signal will be 
emitted and everything is fine. But as soon as I change it to caps my 
application stops at this function. So I assume the signal will not be 
emitted. My playbin2 is in playing state and works fine so far. I'm 
currently using another function that creates a second pipeline to set 
the new format for me but this is very inefficient. If possible, I'd 
like to use "convert-frame". I am using a gthread in my program and use 
the g_signal_emit_by_name in my thread loop. Any hints why my 
application freezes?

Thanks in advance,

Steffen Liebscher




More information about the gstreamer-devel mailing list