videomixer: Revert the last commit and handle resolutions differences properly
authorSebastian Dröge <sebastian@centricular.com>
Wed, 1 Oct 2014 14:24:59 +0000 (17:24 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Wed, 1 Oct 2014 14:24:59 +0000 (17:24 +0300)
This is about converting the format, not about converting any widths and
heights. Subclasses are expected to handler different resolutions themselves,
like the videomixers already do properly.

gst/videomixer/videomixer2.c

index a966378..b2f3c08 100644 (file)
@@ -444,15 +444,15 @@ gst_videomixer2_update_converters (GstVideoMixer2 * mix)
     if (best_format != GST_VIDEO_INFO_FORMAT (&pad->info) ||
         g_strcmp0 (colorimetry, best_colorimetry) ||
         g_strcmp0 (chroma, best_chroma)) {
+      GstVideoInfo tmp_info = pad->info;
+      tmp_info.finfo = best_info.finfo;
+      tmp_info.chroma_site = best_info.chroma_site;
+      tmp_info.colorimetry = best_info.colorimetry;
+
       GST_DEBUG_OBJECT (pad, "This pad will be converted from %d to %d",
           GST_VIDEO_INFO_FORMAT (&pad->info),
           GST_VIDEO_INFO_FORMAT (&best_info));
-      /* TODO: GstVideoConverter currently can't rescale! */
-      if (pad->info.width == best_info.width &&
-          pad->info.height == best_info.height &&
-          pad->info.par_n == best_info.par_n &&
-          pad->info.par_d == best_info.par_d)
-        pad->convert = gst_video_converter_new (&pad->info, &best_info, NULL);
+      pad->convert = gst_video_converter_new (&pad->info, &best_info, NULL);
       pad->need_conversion_update = TRUE;
       if (!pad->convert) {
         g_free (colorimetry);