From 2490d39a90cbd9d378654e0d29da9f74da090fe9 Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Wed, 12 Oct 2011 17:43:47 -0300 Subject: [PATCH] tests: aspectratiocrop: Port to 0.11 --- tests/check/elements/aspectratiocrop.c | 79 +++++++++++++++------------------- 1 file changed, 34 insertions(+), 45 deletions(-) diff --git a/tests/check/elements/aspectratiocrop.c b/tests/check/elements/aspectratiocrop.c index 5d42bfb..2d2b8fe 100644 --- a/tests/check/elements/aspectratiocrop.c +++ b/tests/check/elements/aspectratiocrop.c @@ -25,42 +25,17 @@ #include #include -#define ASPECT_RATIO_CROP_CAPS \ - GST_VIDEO_CAPS_RGBx ";" \ - GST_VIDEO_CAPS_xRGB ";" \ - GST_VIDEO_CAPS_BGRx ";" \ - GST_VIDEO_CAPS_xBGR ";" \ - GST_VIDEO_CAPS_RGBA ";" \ - GST_VIDEO_CAPS_ARGB ";" \ - GST_VIDEO_CAPS_BGRA ";" \ - GST_VIDEO_CAPS_ABGR ";" \ - GST_VIDEO_CAPS_RGB ";" \ - GST_VIDEO_CAPS_BGR ";" \ - GST_VIDEO_CAPS_YUV ("AYUV") ";" \ - GST_VIDEO_CAPS_YUV ("YUY2") ";" \ - GST_VIDEO_CAPS_YUV ("YVYU") ";" \ - GST_VIDEO_CAPS_YUV ("UYVY") ";" \ - GST_VIDEO_CAPS_YUV ("Y800") ";" \ - GST_VIDEO_CAPS_YUV ("I420") ";" \ - GST_VIDEO_CAPS_YUV ("YV12") ";" \ - GST_VIDEO_CAPS_RGB_16 ";" \ - GST_VIDEO_CAPS_RGB_15 - -static GstBuffer * -make_buffer_with_caps (const gchar * caps_string, int buffer_size) -{ - GstCaps *caps; - GstBuffer *temp; - - caps = gst_caps_from_string (caps_string); - temp = gst_buffer_new_and_alloc (buffer_size); - fail_if (caps == NULL); - fail_if (temp == NULL); - gst_buffer_set_caps (temp, caps); - gst_caps_unref (caps); - - return temp; -} +#define ASPECT_RATIO_CROP_CAPS \ + GST_VIDEO_CAPS_MAKE ("{ RGBx, xRGB, BGRx, xBGR, " \ + "RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, " \ + "YUY2, YVYU, UYVY, Y800, I420, YV12, RGB16 " \ + "RGB15 }") + +static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink", + GST_PAD_SINK, + GST_PAD_ALWAYS, + GST_STATIC_CAPS (ASPECT_RATIO_CROP_CAPS) + ); static void check_aspectratiocrop (const gchar * in_string, const gchar * out_string, @@ -73,10 +48,13 @@ check_aspectratiocrop (const gchar * in_string, const gchar * out_string, GstBuffer *new; GstBuffer *buffer; GstBuffer *buffer_out; - GstCaps *sink_caps; + GstCaps *incaps; + GstCaps *outcaps; - buffer = make_buffer_with_caps (in_string, in_size); - buffer_out = make_buffer_with_caps (out_string, out_size); + incaps = gst_caps_from_string (in_string); + buffer = gst_buffer_new_and_alloc (in_size); + outcaps = gst_caps_from_string (out_string); + buffer_out = gst_buffer_new_and_alloc (out_size); /* check that there are no buffers waiting */ gst_check_drop_buffers (); @@ -89,7 +67,6 @@ check_aspectratiocrop (const gchar * in_string, const gchar * out_string, /* create the src pad */ src_pad = gst_pad_new (NULL, GST_PAD_SRC); - gst_pad_set_caps (src_pad, GST_BUFFER_CAPS (buffer)); pad_peer = gst_element_get_static_pad (element, "sink"); fail_if (pad_peer == NULL); fail_unless (gst_pad_link (src_pad, pad_peer) == GST_PAD_LINK_OK, @@ -99,9 +76,7 @@ check_aspectratiocrop (const gchar * in_string, const gchar * out_string, /* create the sink pad */ pad_peer = gst_element_get_static_pad (element, "src"); - sink_caps = gst_caps_from_string (ASPECT_RATIO_CROP_CAPS); - sink_pad = gst_pad_new (NULL, GST_PAD_SINK); - GST_PAD_CAPS (sink_pad) = sink_caps; + sink_pad = gst_pad_new_from_static_template (&sinktemplate, "sink"); fail_unless (gst_pad_link (pad_peer, sink_pad) == GST_PAD_LINK_OK, "Could not link sink and %s source pads", GST_ELEMENT_NAME (element)); gst_object_unref (pad_peer); @@ -112,6 +87,10 @@ check_aspectratiocrop (const gchar * in_string, const gchar * out_string, fail_unless (gst_element_set_state (element, GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS, "could not set to playing"); + + fail_unless (gst_pad_set_caps (src_pad, incaps), + "Couldn't set input caps %" GST_PTR_FORMAT, incaps); + fail_unless (gst_pad_push (src_pad, buffer) == GST_FLOW_OK, "Failed to push buffer"); fail_unless (gst_element_set_state (element, @@ -121,11 +100,21 @@ check_aspectratiocrop (const gchar * in_string, const gchar * out_string, fail_unless (g_list_length (buffers) == 1); new = GST_BUFFER (buffers->data); buffers = g_list_remove (buffers, new); - fail_unless (GST_BUFFER_SIZE (buffer_out) == GST_BUFFER_SIZE (new), + fail_unless (gst_buffer_get_size (buffer_out) == gst_buffer_get_size (new), "size of the buffers are not the same"); - gst_check_caps_equal (GST_BUFFER_CAPS (buffer_out), GST_BUFFER_CAPS (new)); + { + GstCaps *sinkpad_caps; + + sinkpad_caps = gst_pad_get_current_caps (sink_pad); + + gst_check_caps_equal (sinkpad_caps, outcaps); + + gst_caps_unref (sinkpad_caps); + } gst_buffer_unref (new); gst_buffer_unref (buffer_out); + gst_caps_unref (outcaps); + gst_caps_unref (incaps); /* teardown the element and pads */ gst_pad_set_active (src_pad, FALSE); -- 2.7.4