[gst-devel] Pipeline in a notebook tab

omar.crea at jusan.it omar.crea at jusan.it
Wed Jul 25 17:39:31 CEST 2007


Hi everybody.
I have a question for you, naturally :-)
I created an application for my Nokia N800 that uses the built-in camera to take
photos, so I used a pipeline organized in this way to accomplish this task:


gconfv4l2src --- YUV filter --- tee --- queue --- ffmpeg --- RGB filter
                                 |                                 |
                                 |                                 |
                                 |                                 |
                              ffmpeg --- xvimagesink            fakesink


and I used this calls to connect the appropriate signals:

g_object_set (G_OBJECT (fakesink), "signal-handoffs", TRUE, NULL);
g_signal_connect(fakesink, "handoff", G_CALLBACK(cb_handoff), NULL);
g_signal_connect(screen, "expose-event", G_CALLBACK(expose), sink);

The pipeline is showed in a gtk_drawing_area() (screen) that is inside a tab of
a notebook. I need to know what happens if I want to destroy the pipeline when
I close its tab. I have to call only:

gst_element_set_state(pipeline, GST_STATE_NULL);
gts_unref(pipeline);

or I have to safely disconnect the previously setted signals and riconnect them
when I'll open the pipeline tab again?
And if yes, how I can do this?

Another issue: when I create the pipeline with my start_pipeline() function, if
I set its state to PAUSED it's all ok, but if I set it to the PLAYING state the
xvimagesink is not included in the gtk_drawing_area but it appears in fullscreen
mode, externally from my application...

Thanks in advance. Omar

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.




More information about the gstreamer-devel mailing list