summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReynaldo H. Verdejo Pinochet <reynaldo.verdejo@collabora.co.uk>2011-04-08 00:20:48 -0400
committerReynaldo H. Verdejo Pinochet <reynaldo.verdejo@collabora.co.uk>2011-04-08 21:26:01 -0400
commitaf48799aa74079b522d710ee9be7d433634ac248 (patch)
tree367cd9a559638523578bc28e0744a77e1e464728
parentd7143296d7810b62a61ea595961e6224477bd1f3 (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.cpp8
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",