aboutsummaryrefslogtreecommitdiff
path: root/tests/check/elements/x264enc.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/check/elements/x264enc.c')
-rw-r--r--tests/check/elements/x264enc.c54
1 files changed, 26 insertions, 28 deletions
diff --git a/tests/check/elements/x264enc.c b/tests/check/elements/x264enc.c
index 4a04019..f62a80c 100644
--- a/tests/check/elements/x264enc.c
+++ b/tests/check/elements/x264enc.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <unistd.h>
@@ -39,30 +39,40 @@ static GstPad *mysrcpad, *mysinkpad;
"width = (int) 384, " \
"height = (int) 288, " \
"framerate = (fraction) 25/1"
-
-static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
- GST_PAD_SINK,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS (MPEG_CAPS_STRING));
-
-static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
- GST_PAD_SRC,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS (VIDEO_CAPS_STRING));
-
-
static GstElement *
-setup_x264enc (void)
+setup_x264enc (const gchar * profile, const gchar * stream_format)
{
+ GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
+ GST_PAD_SINK,
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS (MPEG_CAPS_STRING));
+
+ GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
+ GST_PAD_SRC,
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS (VIDEO_CAPS_STRING));
GstElement *x264enc;
+ gchar *caps_str;
+ GstCaps *caps;
GST_DEBUG ("setup_x264enc");
+
+ caps_str = g_strdup_printf ("%s, profile = (string) %s, "
+ "stream-format = (string) %s", MPEG_CAPS_STRING, profile, stream_format);
+ sinktemplate.static_caps.string = caps_str;
+
x264enc = gst_check_setup_element ("x264enc");
mysrcpad = gst_check_setup_src_pad (x264enc, &srctemplate);
mysinkpad = gst_check_setup_sink_pad (x264enc, &sinktemplate);
gst_pad_set_active (mysrcpad, TRUE);
gst_pad_set_active (mysinkpad, TRUE);
+ caps = gst_caps_from_string (VIDEO_CAPS_STRING);
+ gst_check_setup_events (mysrcpad, x264enc, caps, GST_FORMAT_TIME);
+ gst_caps_unref (caps);
+
+ g_free (caps_str);
+
return x264enc;
}
@@ -128,23 +138,11 @@ test_video_profile (const gchar * profile, gint profile_id)
gsize size;
int i, num_buffers;
- x264enc = setup_x264enc ();
+ x264enc = setup_x264enc (profile, "avc");
fail_unless (gst_element_set_state (x264enc,
GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,
"could not set to playing");
- caps = gst_caps_from_string (MPEG_CAPS_STRING);
- gst_caps_set_simple (caps, "profile", G_TYPE_STRING, profile, NULL);
- /* code below assumes avc */
- gst_caps_set_simple (caps, "stream-format", G_TYPE_STRING, "avc", NULL);
- gst_pad_set_caps (mysinkpad, caps);
- gst_caps_unref (caps);
- gst_pad_use_fixed_caps (mysinkpad);
-
- caps = gst_caps_from_string (VIDEO_CAPS_STRING);
- fail_unless (gst_pad_set_caps (mysrcpad, caps));
- gst_caps_unref (caps);
-
/* corresponds to I420 buffer for the size mentioned in the caps */
inbuffer = gst_buffer_new_and_alloc (384 * 288 * 3 / 2);
/* makes valgrind's memcheck happier */