camerabin2 remove redundant viewfinder-colorspace and viewfinder-scale
authorRaluca Elena Podiuc <ralucaelena1985@gmail.com>
Sat, 30 Jul 2011 13:12:31 +0000 (16:12 +0300)
committerThiago Santos <thiago.sousa.santos@collabora.co.uk>
Tue, 2 Aug 2011 16:39:18 +0000 (13:39 -0300)
camrabin2 connects a viewfinderbin on "vfsrc". viewfinderbin is made of:
   vfbin-csp ! vfbin-videoscale ! videosink.

we should either remove csp/videoscale from wrappercamerabinsrc (as
done in this patch) or we should get rid of viewfinderbin altogether.

gst/camerabin2/gstwrappercamerabinsrc.c

index d0c6468..16aa34b 100644 (file)
@@ -395,7 +395,6 @@ gst_wrapper_camera_bin_src_construct_pipeline (GstBaseCameraSrc * bcamsrc)
   GstElement *src_csp;
   GstElement *capsfilter;
   gboolean ret = FALSE;
-  GstElement *videoscale;
   GstPad *vf_pad;
   GstPad *tee_capture_pad;
   GstPad *src_caps_src_pad;
@@ -473,17 +472,9 @@ gst_wrapper_camera_bin_src_construct_pipeline (GstBaseCameraSrc * bcamsrc)
     /* viewfinder pad */
     vf_pad = gst_element_get_request_pad (tee, "src%d");
     g_object_set (tee, "alloc-pad", vf_pad, NULL);
+    gst_ghost_pad_set_target (GST_GHOST_PAD (self->vfsrc), vf_pad);
     gst_object_unref (vf_pad);
 
-    /* the viewfinder should always work, so we add some converters to it */
-    if (!gst_camerabin_create_and_add_element (cbin, "ffmpegcolorspace",
-            "viewfinder-colorspace"))
-      goto done;
-    if (!(videoscale =
-            gst_camerabin_create_and_add_element (cbin, "videoscale",
-                "viewfinder-scale")))
-      goto done;
-
     /* image/video pad from tee */
     tee_capture_pad = gst_element_get_request_pad (tee, "src%d");
 
@@ -526,10 +517,7 @@ gst_wrapper_camera_bin_src_construct_pipeline (GstBaseCameraSrc * bcamsrc)
           NULL);
     }
 
-    /* hook-up the vf ghostpad */
-    vf_pad = gst_element_get_static_pad (videoscale, "src");
-    gst_ghost_pad_set_target (GST_GHOST_PAD (self->vfsrc), vf_pad);
-    gst_object_unref (vf_pad);
+
 
     gst_pad_set_active (self->vfsrc, TRUE);
     gst_pad_set_active (self->imgsrc, TRUE);    /* XXX ??? */