summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2018-10-01 18:27:22 +0300
committerSebastian Dröge <sebastian@centricular.com>2018-10-01 19:21:09 +0300
commite9579466a3eadd3457f12ba89e05e55b10d2bb9b (patch)
tree1b5b6f85ecf510fba10d8238799fcb3d4737a4cc
parentbb0d58a9055ae0597129c8fd4af23ae3166921fc (diff)
downloadgst-plugins-base-e9579466a3eadd3457f12ba89e05e55b10d2bb9b.tar.gz
gst-plugins-base-e9579466a3eadd3457f12ba89e05e55b10d2bb9b.tar.xz
basetextoverlay: Minor cleanup of negotiation functions
-rw-r--r--ext/pango/gstbasetextoverlay.c24
1 files changed, 8 insertions, 16 deletions
diff --git a/ext/pango/gstbasetextoverlay.c b/ext/pango/gstbasetextoverlay.c
index 9cfc77dc1..c37705fbf 100644
--- a/ext/pango/gstbasetextoverlay.c
+++ b/ext/pango/gstbasetextoverlay.c
@@ -874,11 +874,11 @@ gst_base_text_overlay_negotiate (GstBaseTextOverlay * overlay, GstCaps * caps)
* the format ourselves and thus would have to drop the overlays.
* Otherwise we should prefer what downstream wants here.
*/
- peercaps = gst_pad_peer_query_caps (overlay->srcpad, NULL);
- caps_has_meta = gst_caps_can_intersect (peercaps, overlay_caps);
+ peercaps = gst_pad_peer_query_caps (overlay->srcpad, overlay_caps);
+ caps_has_meta = !gst_caps_is_empty (peercaps);
gst_caps_unref (peercaps);
- GST_DEBUG ("caps have overlay meta %d", caps_has_meta);
+ GST_DEBUG_OBJECT (overlay, "caps have overlay meta %d", caps_has_meta);
}
if (upstream_has_meta || caps_has_meta) {
@@ -902,7 +902,8 @@ gst_base_text_overlay_negotiate (GstBaseTextOverlay * overlay, GstCaps * caps)
alloc_has_meta = gst_query_find_allocation_meta (query,
GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE, &alloc_index);
- GST_DEBUG ("sink alloc has overlay meta %d", alloc_has_meta);
+ GST_DEBUG_OBJECT (overlay, "sink alloc has overlay meta %d",
+ alloc_has_meta);
if (alloc_has_meta) {
const GstStructure *params;
@@ -911,7 +912,8 @@ gst_base_text_overlay_negotiate (GstBaseTextOverlay * overlay, GstCaps * caps)
if (params) {
if (gst_structure_get (params, "width", G_TYPE_UINT, &width,
"height", G_TYPE_UINT, &height, NULL)) {
- GST_DEBUG ("received window size: %dx%d", width, height);
+ GST_DEBUG_OBJECT (overlay, "received window size: %dx%d", width,
+ height);
g_assert (width != 0 && height != 0);
}
}
@@ -962,9 +964,6 @@ gst_base_text_overlay_negotiate (GstBaseTextOverlay * overlay, GstCaps * caps)
gst_caps_unref (overlay_caps);
gst_caps_unref (caps);
- if (!ret)
- gst_pad_mark_reconfigure (overlay->srcpad);
-
return ret;
no_format:
@@ -981,9 +980,8 @@ gst_base_text_overlay_can_handle_caps (GstCaps * incaps)
{
gboolean ret;
GstCaps *caps;
- static GstStaticCaps static_caps = GST_STATIC_CAPS (BASE_TEXT_OVERLAY_CAPS);
- caps = gst_static_caps_get (&static_caps);
+ caps = gst_static_caps_get (&sw_template_caps);
ret = gst_caps_is_subset (incaps, caps);
gst_caps_unref (caps);
@@ -1439,9 +1437,6 @@ gst_base_text_overlay_get_videosink_caps (GstPad * pad,
GstPad *srcpad = overlay->srcpad;
GstCaps *peer_caps = NULL, *caps = NULL, *overlay_filter = NULL;
- if (G_UNLIKELY (!overlay))
- return gst_pad_get_pad_template_caps (pad);
-
if (filter) {
/* filter caps + composition feature + filter caps
* filtered by the software caps. */
@@ -1502,9 +1497,6 @@ gst_base_text_overlay_get_src_caps (GstPad * pad, GstBaseTextOverlay * overlay,
GstPad *sinkpad = overlay->video_sinkpad;
GstCaps *peer_caps = NULL, *caps = NULL, *overlay_filter = NULL;
- if (G_UNLIKELY (!overlay))
- return gst_pad_get_pad_template_caps (pad);
-
if (filter) {
/* duplicate filter caps which contains the composition into one version
* with the meta and one without. Filter the other caps by the software