tests: port some more to 1.0
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Tue, 10 Apr 2012 15:24:05 +0000 (17:24 +0200)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Tue, 10 Apr 2012 15:29:12 +0000 (17:29 +0200)
tests/check/elements/mplex.c
tests/check/elements/opus.c
tests/check/elements/voaacenc.c
tests/check/elements/voamrwbenc.c

index e4090a8..13a2c27 100644 (file)
@@ -233,7 +233,7 @@ GST_START_TEST (test_audio_pad)
       "could not set to playing");
 
   /* corresponds to I420 buffer for the size mentioned in the caps */
-  inbuffer = gst_buffer_new ();
+  inbuffer = gst_buffer_new_and_alloc (sizeof (mp2_data));
   gst_buffer_fill (inbuffer, 0, mp2_data, sizeof (mp2_data));
   caps = gst_caps_from_string (AUDIO_CAPS_STRING);
   gst_pad_set_caps (mysrcpad, caps);
index 282589c..be5b2cf 100644 (file)
 
 #include <gst/check/gstcheck.h>
 
+#if G_BYTE_ORDER == G_BIG_ENDIAN
+#define AFORMAT "S16BE"
+#else
+#define AFORMAT "S16LE"
+#endif
+
+#define AUDIO_CAPS_STRING "audio/x-raw, " \
+                           "format = (string) " AFORMAT ", "\
+                           "layout = (string) interleaved, " \
+                           "rate = (int) 48000, " \
+                           "channels = (int) 1 "
+
 static const guint8 opus_ogg_id_header[19] = {
   0x4f, 0x70, 0x75, 0x73, 0x48, 0x65, 0x61, 0x64, 0x00, 0x02, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -60,8 +72,8 @@ setup_opusdec (void)
 
   GST_DEBUG ("setup_opusdec");
   opusdec = gst_check_setup_element ("opusdec");
-  mydecsrcpad = gst_check_setup_src_pad (opusdec, &srctemplate, NULL);
-  mydecsinkpad = gst_check_setup_sink_pad (opusdec, &sinktemplate, NULL);
+  mydecsrcpad = gst_check_setup_src_pad (opusdec, &srctemplate);
+  mydecsinkpad = gst_check_setup_sink_pad (opusdec, &sinktemplate);
   gst_pad_set_active (mydecsrcpad, TRUE);
   gst_pad_set_active (mydecsinkpad, TRUE);
 
@@ -88,8 +100,8 @@ setup_opusenc (void)
 
   GST_DEBUG ("setup_opusenc");
   opusenc = gst_check_setup_element ("opusenc");
-  myencsrcpad = gst_check_setup_src_pad (opusenc, &srctemplate, NULL);
-  myencsinkpad = gst_check_setup_sink_pad (opusenc, &sinktemplate, NULL);
+  myencsrcpad = gst_check_setup_src_pad (opusenc, &srctemplate);
+  myencsinkpad = gst_check_setup_sink_pad (opusenc, &sinktemplate);
   gst_pad_set_active (myencsrcpad, TRUE);
   gst_pad_set_active (myencsinkpad, TRUE);
 
@@ -121,7 +133,7 @@ check_buffers (guint expected)
   for (i = 0; i < num_buffers; ++i) {
     outbuffer = GST_BUFFER (buffers->data);
     fail_if (outbuffer == NULL);
-    fail_if (GST_BUFFER_SIZE (outbuffer) == 0);
+    fail_if (gst_buffer_get_size (outbuffer) == 0);
 
     buffers = g_list_remove (buffers, outbuffer);
 
@@ -142,7 +154,7 @@ GST_START_TEST (test_opus_id_header)
       "could not set to playing");
 
   inbuffer = gst_buffer_new_and_alloc (sizeof (opus_ogg_id_header));
-  memcpy (GST_BUFFER_DATA (inbuffer), opus_ogg_id_header,
+  gst_buffer_fill (inbuffer, 0, opus_ogg_id_header,
       sizeof (opus_ogg_id_header));
   ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
   gst_buffer_ref (inbuffer);
@@ -208,8 +220,6 @@ GST_START_TEST (test_opus_encode_samples)
   GstElement *opusenc;
   GstBuffer *inbuffer;
   GstCaps *caps;
-  guint16 *samples;
-  unsigned int n;
 
   opusenc = setup_opusenc ();
 
@@ -218,19 +228,15 @@ GST_START_TEST (test_opus_encode_samples)
       "could not set to playing");
 
   inbuffer = gst_buffer_new_and_alloc (nsamples * 2);
-  samples = (guint16 *) GST_BUFFER_DATA (inbuffer);
-  for (n = 0; n < nsamples; ++n) {
-    samples[n] = 0;
-  }
+  gst_buffer_memset (inbuffer, 0, 0, nsamples * 2);
 
   GST_BUFFER_TIMESTAMP (inbuffer) = GST_BUFFER_OFFSET (inbuffer) = 0;
   GST_BUFFER_DURATION (inbuffer) = GST_CLOCK_TIME_NONE;
   ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
 
-  caps =
-      gst_caps_from_string ("audio/x-raw,format=S16LE,rate=48000,channels=1");
+  caps = gst_caps_from_string (AUDIO_CAPS_STRING);
   fail_unless (caps != NULL);
-  gst_buffer_set_caps (inbuffer, caps);
+  gst_pad_set_caps (myencsrcpad, caps);
   gst_caps_unref (caps);
   gst_buffer_ref (inbuffer);
 
@@ -264,8 +270,7 @@ GST_START_TEST (test_opus_encode_properties)
   GstElement *opusenc;
   GstBuffer *inbuffer;
   GstCaps *caps;
-  guint16 *samples;
-  unsigned int n, step;
+  unsigned int step;
   static const struct
   {
     const char *param;
@@ -299,22 +304,19 @@ GST_START_TEST (test_opus_encode_properties)
           GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,
       "could not set to playing");
 
-  caps =
-      gst_caps_from_string ("audio/x-raw,format=S16LE,rate=48000,channels=1");
+  caps = gst_caps_from_string (AUDIO_CAPS_STRING);
   fail_unless (caps != NULL);
 
+  gst_pad_set_caps (myencsrcpad, caps);
+
   for (step = 0; step < steps; ++step) {
     inbuffer = gst_buffer_new_and_alloc (nsamples * 2);
-    samples = (guint16 *) GST_BUFFER_DATA (inbuffer);
-    for (n = 0; n < nsamples; ++n) {
-      samples[n] = 0;
-    }
+    gst_buffer_memset (inbuffer, 0, 0, nsamples * 2);
 
     GST_BUFFER_TIMESTAMP (inbuffer) = GST_BUFFER_OFFSET (inbuffer) = 0;
     GST_BUFFER_DURATION (inbuffer) = GST_CLOCK_TIME_NONE;
     ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
 
-    gst_buffer_set_caps (inbuffer, caps);
     gst_buffer_ref (inbuffer);
 
     /* pushing gives away my reference ... */
index 22b42fb..d12849b 100644 (file)
 #include <unistd.h>
 
 #include <gst/check/gstcheck.h>
-#include <gst/audio/multichannel.h>
+#include <gst/audio/audio.h>
 
 /* For ease of programming we use globals to keep refs for our floating
  * src and sink pads we create; otherwise we always have to do get_pad,
  * get_peer, and then remove references in every test function */
 static GstPad *mysrcpad, *mysinkpad;
 
-#define AUDIO_CAPS_STRING "audio/x-raw-int, " \
+#define AUDIO_CAPS_STRING "audio/x-raw, " \
+                           "format = (string) " GST_AUDIO_NE (S16) ", "\
+                           "layout = (string) interleaved, " \
                            "rate = (int) 48000, " \
                            "channels = (int) 2, " \
-                           "width = (int) 16, " \
-                           "depth = (int) 16, " \
-                           "signed = (boolean) true, " \
-                           "endianness = (int) BYTE_ORDER "
+                           "channel-mask = (bitmask) 3"
 
 #define AAC_RAW_CAPS_STRING "audio/mpeg, " \
                           "mpegversion = (int) 4, " \
@@ -75,12 +74,12 @@ setup_voaacenc (gboolean adts)
 
   GST_DEBUG ("setup_voaacenc");
   voaacenc = gst_check_setup_element ("voaacenc");
-  mysrcpad = gst_check_setup_src_pad (voaacenc, &srctemplate, NULL);
+  mysrcpad = gst_check_setup_src_pad (voaacenc, &srctemplate);
 
   if (adts)
-    mysinkpad = gst_check_setup_sink_pad (voaacenc, &sinktemplate_adts, NULL);
+    mysinkpad = gst_check_setup_sink_pad (voaacenc, &sinktemplate_adts);
   else
-    mysinkpad = gst_check_setup_sink_pad (voaacenc, &sinktemplate_raw, NULL);
+    mysinkpad = gst_check_setup_sink_pad (voaacenc, &sinktemplate_raw);
 
   gst_pad_set_active (mysrcpad, TRUE);
   gst_pad_set_active (mysinkpad, TRUE);
@@ -102,28 +101,6 @@ cleanup_voaacenc (GstElement * voaacenc)
 }
 
 static void
-set_channel_positions (GstCaps * caps, int channels,
-    GstAudioChannelPosition * channelpositions)
-{
-  GValue chanpos = { 0 };
-  GValue pos = { 0 };
-  GstStructure *structure = gst_caps_get_structure (caps, 0);
-  int c;
-
-  g_value_init (&chanpos, GST_TYPE_ARRAY);
-  g_value_init (&pos, GST_TYPE_AUDIO_CHANNEL_POSITION);
-
-  for (c = 0; c < channels; c++) {
-    g_value_set_enum (&pos, channelpositions[c]);
-    gst_value_array_append_value (&chanpos, &pos);
-  }
-  g_value_unset (&pos);
-
-  gst_structure_set_value (structure, "channel-positions", &chanpos);
-  g_value_unset (&chanpos);
-}
-
-static void
 do_test (gboolean adts)
 {
   GstElement *voaacenc;
@@ -131,10 +108,6 @@ do_test (gboolean adts)
   GstCaps *caps;
   gint i, num_buffers;
   const gint nbuffers = 10;
-  GstAudioChannelPosition channel_position_layout[2] =
-      { GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT,
-    GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT
-  };
 
   voaacenc = setup_voaacenc (adts);
   fail_unless (gst_element_set_state (voaacenc,
@@ -144,12 +117,10 @@ do_test (gboolean adts)
   /* corresponds to audio buffer mentioned in the caps */
   inbuffer = gst_buffer_new_and_alloc (1024 * nbuffers * 2 * 2);
   /* makes valgrind's memcheck happier */
-  memset (GST_BUFFER_DATA (inbuffer), 0, GST_BUFFER_SIZE (inbuffer));
+  gst_buffer_memset (inbuffer, 0, 0, 1024 * nbuffers * 2 * 2);
   caps = gst_caps_from_string (AUDIO_CAPS_STRING);
 
-  set_channel_positions (caps, 2, channel_position_layout);
-
-  gst_buffer_set_caps (inbuffer, caps);
+  gst_pad_set_caps (mysrcpad, caps);
   gst_caps_unref (caps);
   GST_BUFFER_TIMESTAMP (inbuffer) = 0;
   ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
@@ -163,14 +134,17 @@ do_test (gboolean adts)
 
   /* clean up buffers */
   for (i = 0; i < num_buffers; ++i) {
-    gint size, header = 0, id;
+    gint header = 0, id;
+    GstMapInfo map;
+    gsize size;
     guint8 *data;
 
     outbuffer = GST_BUFFER (buffers->data);
     fail_if (outbuffer == NULL);
 
-    data = GST_BUFFER_DATA (outbuffer);
-    size = GST_BUFFER_SIZE (outbuffer);
+    gst_buffer_map (outbuffer, &map, GST_MAP_READ);
+    data = map.data;
+    size = map.size;
 
     if (adts) {
       gboolean protection;
@@ -206,8 +180,9 @@ do_test (gboolean adts)
       const GValue *value;
       GstBuffer *buf;
       gint k;
+      GstMapInfo cmap;
 
-      caps = gst_buffer_get_caps (outbuffer);
+      caps = gst_pad_get_current_caps (mysinkpad);
       fail_if (caps == NULL);
       s = gst_caps_get_structure (caps, 0);
       fail_if (s == NULL);
@@ -215,10 +190,10 @@ do_test (gboolean adts)
       fail_if (value == NULL);
       buf = gst_value_get_buffer (value);
       fail_if (buf == NULL);
-      data = GST_BUFFER_DATA (buf);
-      size = GST_BUFFER_SIZE (buf);
-      fail_if (size < 2);
-      k = GST_READ_UINT16_BE (data);
+      gst_buffer_map (buf, &cmap, GST_MAP_READ);
+      fail_if (cmap.size < 2);
+      k = GST_READ_UINT16_BE (cmap.data);
+      gst_buffer_unmap (buf, &cmap);
       /* profile, rate, channels */
       fail_unless ((k & 0xFFF8) == ((0x02 << 11) | (0x3 << 7) | (0x02 << 3)));
       gst_caps_unref (caps);
@@ -229,6 +204,7 @@ do_test (gboolean adts)
     id = data[header] & (0x7 << 5);
     /* allow all but ID_END or ID_LFE */
     fail_if (id == 7 || id == 3);
+    gst_buffer_unmap (outbuffer, &map);
 
     buffers = g_list_remove (buffers, outbuffer);
 
index 18f3cc2..b3e674c 100644 (file)
  * get_peer, and then remove references in every test function */
 static GstPad *mysrcpad, *mysinkpad;
 
-#define AUDIO_CAPS_STRING "audio/x-raw-int, " \
+#if G_BYTE_ORDER == G_BIG_ENDIAN
+#define AFORMAT "S16BE"
+#else
+#define AFORMAT "S16LE"
+#endif
+
+#define AUDIO_CAPS_STRING "audio/x-raw, " \
+                           "format = (string) " AFORMAT ", "\
+                           "layout = (string) interleaved, " \
                            "rate = (int) 16000, " \
-                           "channels = (int) 1, " \
-                           "width = (int) 16, " \
-                           "depth = (int) 16, " \
-                           "signed = (boolean) true, " \
-                           "endianness = (int) BYTE_ORDER "
+                           "channels = (int) 1 "
+
 
 #define AMRWB_CAPS_STRING "audio/AMR-WB"
 
@@ -61,8 +66,8 @@ setup_voamrwbenc (void)
   voamrwbenc = gst_check_setup_element ("voamrwbenc");
   /* ensure mode as expected */
   g_object_set (voamrwbenc, "band-mode", 0, NULL);
-  mysrcpad = gst_check_setup_src_pad (voamrwbenc, &srctemplate, NULL);
-  mysinkpad = gst_check_setup_sink_pad (voamrwbenc, &sinktemplate, NULL);
+  mysrcpad = gst_check_setup_src_pad (voamrwbenc, &srctemplate);
+  mysinkpad = gst_check_setup_sink_pad (voamrwbenc, &sinktemplate);
   gst_pad_set_active (mysrcpad, TRUE);
   gst_pad_set_active (mysinkpad, TRUE);
 
@@ -99,10 +104,10 @@ do_test (void)
   /* corresponds to audio buffer mentioned in the caps */
   inbuffer = gst_buffer_new_and_alloc (320 * nbuffers * 2);
   /* makes valgrind's memcheck happier */
-  memset (GST_BUFFER_DATA (inbuffer), 0, GST_BUFFER_SIZE (inbuffer));
+  gst_buffer_memset (inbuffer, 0, 0, 1024 * nbuffers * 2 * 2);
   caps = gst_caps_from_string (AUDIO_CAPS_STRING);
 
-  gst_buffer_set_caps (inbuffer, caps);
+  gst_pad_set_caps (mysrcpad, caps);
   gst_caps_unref (caps);
   GST_BUFFER_TIMESTAMP (inbuffer) = 0;
   ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
@@ -116,15 +121,17 @@ do_test (void)
 
   /* clean up buffers */
   for (i = 0; i < num_buffers; ++i) {
-    gint size;
+    GstMapInfo map;
+    gsize size;
     guint8 *data;
     GstClockTime time, dur;
 
     outbuffer = GST_BUFFER (buffers->data);
     fail_if (outbuffer == NULL);
 
-    data = GST_BUFFER_DATA (outbuffer);
-    size = GST_BUFFER_SIZE (outbuffer);
+    gst_buffer_map (outbuffer, &map, GST_MAP_READ);
+    data = map.data;
+    size = map.size;
 
     /* at least for mode 0 */
     fail_unless (size == 18);
@@ -135,6 +142,7 @@ do_test (void)
     dur = GST_BUFFER_DURATION (outbuffer);
     fail_unless (time == 20 * GST_MSECOND * i);
     fail_unless (dur == 20 * GST_MSECOND);
+    gst_buffer_unmap (outbuffer, &map);
 
     buffers = g_list_remove (buffers, outbuffer);