taken by bin and therefore gst_object_sink is called for
these elements (they may still be in floating state
and not unreffed properly without sinking first)
+ FIXME, something else is wrong when you have to sink here
*/
if (vid->app_post) {
- gst_object_sink (vid->app_post);
+ //gst_object_sink (vid->app_post);
gst_object_unref (vid->app_post);
vid->app_post = NULL;
}
if (vid->app_vid_enc) {
- gst_object_sink (vid->app_vid_enc);
+ //gst_object_sink (vid->app_vid_enc);
gst_object_unref (vid->app_vid_enc);
vid->app_vid_enc = NULL;
}
if (vid->app_aud_enc) {
- gst_object_sink (vid->app_aud_enc);
+ //gst_object_sink (vid->app_aud_enc);
gst_object_unref (vid->app_aud_enc);
vid->app_aud_enc = NULL;
}
if (vid->app_aud_src) {
- gst_object_sink (vid->app_aud_src);
+ //gst_object_sink (vid->app_aud_src);
gst_object_unref (vid->app_aud_src);
vid->app_aud_src = NULL;
}
if (vid->app_mux) {
- gst_object_sink (vid->app_mux);
+ //gst_object_sink (vid->app_mux);
gst_object_unref (vid->app_mux);
vid->app_mux = NULL;
}
G_CALLBACK (gst_camerabin_drop_eos_probe), vid);
gst_object_unref (vid_srcpad);
+ /* audio source is not always present and might be set to NULL during operation */
+ if (vid->aud_src
+ && g_object_class_find_property (G_OBJECT_GET_CLASS (vid->aud_src),
+ "provide-clock")) {
+ g_object_set (vid->aud_src, "provide-clock", FALSE, NULL);
+ }
+
GST_DEBUG ("created video elements");
return TRUE;