Merge branch 'master' into 0.11
authorWim Taymans <wim.taymans@collabora.co.uk>
Sun, 16 Oct 2011 13:28:31 +0000 (15:28 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Sun, 16 Oct 2011 13:28:31 +0000 (15:28 +0200)
1  2 
gst/camerabin/camerabinvideo.c

index b54e9abdffc62ab591aab103983944b2118faf6f,868fdcead5bbdbd95d113c55dbf76537b555eab1..d88d1f4dee4c23351369147de2b28b2ace6c9a7a
@@@ -217,34 -217,33 +217,34 @@@ gst_camerabin_video_dispose (GstCameraB
       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;
    }
@@@ -638,6 -637,13 +638,13 @@@ gst_camerabin_video_create_elements (Gs
        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;