diff options
author | Reynaldo H. Verdejo Pinochet <reynaldo.verdejo@collabora.co.uk> | 2011-04-08 00:20:48 -0400 |
---|---|---|
committer | Reynaldo H. Verdejo Pinochet <reynaldo.verdejo@collabora.co.uk> | 2011-04-08 21:26:01 -0400 |
commit | af48799aa74079b522d710ee9be7d433634ac248 (patch) | |
tree | 367cd9a559638523578bc28e0744a77e1e464728 | |
parent | d7143296d7810b62a61ea595961e6224477bd1f3 (diff) |
WIP: Use capsfilter between ffmpegcolorspace and video scale to limit video format to what we know its supported upstream
-rw-r--r-- | gstplayer/GstMetadataRetrieverDriver.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gstplayer/GstMetadataRetrieverDriver.cpp b/gstplayer/GstMetadataRetrieverDriver.cpp index fcbd8af..33e0652 100644 --- a/gstplayer/GstMetadataRetrieverDriver.cpp +++ b/gstplayer/GstMetadataRetrieverDriver.cpp @@ -129,8 +129,10 @@ GstMetadataRetrieverDriver::setup (int mode) { gchar *description = NULL; GError *error = NULL; + GstCaps *caps_filter = NULL; mMode = mode; + if (mMode & METADATA_MODE_FRAME_CAPTURE_ONLY) { LOGI ("Called in METADATA_MODE_FRAME_CAPTURE_ONLY mode"); LOGI ("For URI:%s", mUri); @@ -147,9 +149,13 @@ GstMetadataRetrieverDriver::setup (int mode) gst_bin_add_many (GST_BIN (mPipeline), mPlayBin, mColorTransform, mAudioSink, mScaler, mAppSink, NULL); - if (!gst_element_link (mColorTransform, mScaler)) + caps_filter = gst_caps_new_simple ("video/x-raw-rgb", "bpp", + G_TYPE_INT, 16, NULL); + + if (!gst_element_link_filtered (mColorTransform, mScaler, caps_filter)) LOGE ("Failed to link %s to %s", GST_ELEMENT_NAME (mColorTransform), GST_ELEMENT_NAME (mScaler)); + gst_caps_unref (caps_filter); if (!gst_element_link (mScaler, mAppSink)) LOGE ("Failed to link %s to %s", |