summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/pango/gstbasetextoverlay.c52
1 files changed, 22 insertions, 30 deletions
diff --git a/ext/pango/gstbasetextoverlay.c b/ext/pango/gstbasetextoverlay.c
index 301db50d5..b832ea00c 100644
--- a/ext/pango/gstbasetextoverlay.c
+++ b/ext/pango/gstbasetextoverlay.c
@@ -698,13 +698,13 @@ gst_base_text_overlay_setcaps_txt (GstBaseTextOverlay * overlay, GstCaps * caps)
static gboolean
gst_base_text_overlay_negotiate (GstBaseTextOverlay * overlay, GstCaps * caps)
{
- gboolean upstream_has_meta = FALSE;
gboolean caps_has_meta = FALSE;
gboolean alloc_has_meta = FALSE;
gboolean attach = FALSE;
gboolean ret = TRUE;
GstCapsFeatures *f;
GstCaps *overlay_caps;
+ GstQuery *query;
GST_DEBUG_OBJECT (overlay, "performing negotiation");
@@ -722,48 +722,40 @@ gst_base_text_overlay_negotiate (GstBaseTextOverlay * overlay, GstCaps * caps)
GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION);
}
- if (upstream_has_meta) {
- overlay_caps = gst_caps_ref (caps);
- } else {
- GstQuery *query;
-
- /* First check if the allocation meta has compositon */
- query = gst_query_new_allocation (caps, FALSE);
+ /* First check if the allocation meta has compositon */
+ query = gst_query_new_allocation (caps, FALSE);
- if (!gst_pad_peer_query (overlay->srcpad, query)) {
- /* no problem, we use the query defaults */
- GST_DEBUG_OBJECT (overlay, "ALLOCATION query failed");
+ if (!gst_pad_peer_query (overlay->srcpad, query)) {
+ /* no problem, we use the query defaults */
+ GST_DEBUG_OBJECT (overlay, "ALLOCATION query failed");
- /* In case we were flushing, mark reconfigure and fail this method,
- * will make it retry */
- if (overlay->video_flushing)
- ret = FALSE;
- }
+ /* In case we were flushing, mark reconfigure and fail this method,
+ * will make it retry */
+ if (overlay->video_flushing)
+ ret = FALSE;
+ }
- alloc_has_meta = gst_query_find_allocation_meta (query,
- GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE, NULL);
+ alloc_has_meta = gst_query_find_allocation_meta (query,
+ GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE, NULL);
- gst_query_unref (query);
+ gst_query_unref (query);
- /* Then check if downstream accept overlay composition in caps */
- overlay_caps = gst_caps_copy (caps);
+ /* Then check if downstream accept overlay composition in caps */
+ overlay_caps = gst_caps_copy (caps);
- f = gst_caps_get_features (overlay_caps, 0);
- gst_caps_features_add (f,
- GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION);
+ f = gst_caps_get_features (overlay_caps, 0);
+ gst_caps_features_add (f,
+ GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION);
- caps_has_meta = gst_pad_peer_query_accept_caps (overlay->srcpad,
- overlay_caps);
- }
+ caps_has_meta = gst_pad_peer_query_accept_caps (overlay->srcpad,
+ overlay_caps);
/* For backward compatbility, we will prefer bliting if downstream
* allocation does not support the meta. In other case we will prefer
* attaching, and will fail the negotiation in the unlikely case we are
* force to blit, but format isn't supported. */
- if (upstream_has_meta) {
- attach = TRUE;
- } else if (caps_has_meta) {
+ if (caps_has_meta) {
if (alloc_has_meta) {
attach = TRUE;
} else {