Remove unit test for GstIndex.
Make some other unit tests compile
check_PROGRAMS = \
- generic/index \
generic/states \
elements/aacparse \
elements/ac3parse \
elements_audioecho_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
elements_audioecho_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_MAJORMINOR) $(LDADD)
+elements_audioinvert_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
+elements_audioinvert_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_MAJORMINOR) $(LDADD)
+
elements_audiopanorama_LDADD = \
- $(GST_BASE_LIBS) $(GST_CONTROLLER_LIBS) \
- $(LDADD)
+ $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_MAJORMINOR) $(GST_BASE_LIBS) \
+ $(GST_CONTROLLER_LIBS) $(LDADD)
elements_audiopanorama_CFLAGS = \
- $(GST_BASE_CFLAGS) $(GST_CONTROLLER_CFLAGS) \
+ $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CONTROLLER_CFLAGS) \
$(CFLAGS) $(AM_CFLAGS)
+elements_audiowsincband_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
+elements_audiowsincband_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_MAJORMINOR) $(LDADD)
+
+elements_audiowsinclimit_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
+elements_audiowsinclimit_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_MAJORMINOR) $(LDADD)
+
elements_cmmldec_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
elements_cmmlenc_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
gpointer user_data)
{
if (!have_data) {
- gdouble *data = (gdouble *) GST_BUFFER_DATA (buffer);
+ gsize size;
+ gdouble *data;
- fail_unless (GST_BUFFER_SIZE (buffer) > 5 * sizeof (gdouble));
+ data = gst_buffer_map (buffer, &size, NULL, GST_MAP_READ);
+
+ fail_unless (size > 5 * sizeof (gdouble));
fail_unless (data[0] == 0.0);
fail_unless (data[1] == 0.0);
fail_unless (data[2] == 0.0);
fail_unless (data[3] == 0.0);
fail_unless (data[4] == 0.0);
fail_unless (data[5] != 0.0);
+
+ gst_buffer_unmap (buffer, data, size);
have_data = TRUE;
}
}
gpointer user_data)
{
if (!have_data) {
- gdouble *data = (gdouble *) GST_BUFFER_DATA (buffer);
+ gsize size;
+ gdouble *data;
- fail_unless (GST_BUFFER_SIZE (buffer) > 5 * sizeof (gdouble));
+ data = gst_buffer_map (buffer, &size, NULL, GST_MAP_READ);
+
+ fail_unless (size > 5 * sizeof (gdouble));
fail_unless (data[0] == 0.0);
fail_unless (data[1] == 0.0);
fail_unless (data[2] == 0.0);
fail_unless (data[3] == 0.0);
fail_unless (data[4] == 0.0);
fail_unless (data[5] != 0.0);
+
+ gst_buffer_unmap (buffer, data, size);
have_data = TRUE;
}
}
#include <unistd.h>
+#include <gst/audio/audio.h>
#include <gst/base/gstbasetransform.h>
#include <gst/check/gstcheck.h>
"could not set to playing");
inbuffer = gst_buffer_new_and_alloc (8);
- memcpy (GST_BUFFER_DATA (inbuffer), in, 8);
- fail_unless (memcmp (GST_BUFFER_DATA (inbuffer), in, 8) == 0);
+ gst_buffer_fill (inbuffer, 0, in, 8);
+ fail_unless (gst_buffer_memcmp (inbuffer, 0, in, 8) == 0);
caps = gst_caps_from_string (INVERT_CAPS_STRING);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
fail_unless_equals_int (g_list_length (buffers), 1);
fail_if ((outbuffer = (GstBuffer *) buffers->data) == NULL);
- res = (gint16 *) GST_BUFFER_DATA (outbuffer);
+ res = gst_buffer_map (outbuffer, NULL, NULL, GST_MAP_READ);
GST_INFO ("expected %+5d %+5d %+5d %+5d real %+5d %+5d %+5d %+5d",
in[0], in[1], in[2], in[3], res[0], res[1], res[2], res[3]);
- fail_unless (memcmp (GST_BUFFER_DATA (outbuffer), in, 8) == 0);
+ gst_buffer_unmap (outbuffer, res, -1);
+
+ fail_unless (gst_buffer_memcmp (outbuffer, 0, in, 8) == 0);
/* cleanup */
cleanup_invert (invert);
"could not set to playing");
inbuffer = gst_buffer_new_and_alloc (8);
- memcpy (GST_BUFFER_DATA (inbuffer), in, 8);
- fail_unless (memcmp (GST_BUFFER_DATA (inbuffer), in, 8) == 0);
+ gst_buffer_fill (inbuffer, 0, in, 8);
+ fail_unless (gst_buffer_memcmp (inbuffer, 0, in, 8) == 0);
caps = gst_caps_from_string (INVERT_CAPS_STRING);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
fail_unless_equals_int (g_list_length (buffers), 1);
fail_if ((outbuffer = (GstBuffer *) buffers->data) == NULL);
- res = (gint16 *) GST_BUFFER_DATA (outbuffer);
+ res = gst_buffer_map (outbuffer, NULL, NULL, GST_MAP_READ);
GST_INFO ("expected %+5d %+5d %+5d %+5d real %+5d %+5d %+5d %+5d",
out[0], out[1], out[2], out[3], res[0], res[1], res[2], res[3]);
- fail_unless (memcmp (GST_BUFFER_DATA (outbuffer), out, 8) == 0);
+ gst_buffer_unmap (outbuffer, res, -1);
+
+ fail_unless (gst_buffer_memcmp (outbuffer, 0, out, 8) == 0);
/* cleanup */
cleanup_invert (invert);
"could not set to playing");
inbuffer = gst_buffer_new_and_alloc (8);
- memcpy (GST_BUFFER_DATA (inbuffer), in, 8);
- fail_unless (memcmp (GST_BUFFER_DATA (inbuffer), in, 8) == 0);
+ gst_buffer_fill (inbuffer, 0, in, 8);
+ fail_unless (gst_buffer_memcmp (inbuffer, 0, in, 8) == 0);
caps = gst_caps_from_string (INVERT_CAPS_STRING);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
fail_unless_equals_int (g_list_length (buffers), 1);
fail_if ((outbuffer = (GstBuffer *) buffers->data) == NULL);
- res = (gint16 *) GST_BUFFER_DATA (outbuffer);
+ res = gst_buffer_map (outbuffer, NULL, NULL, GST_MAP_READ);
GST_INFO ("expected %+5d %+5d %+5d %+5d real %+5d %+5d %+5d %+5d",
out[0], out[1], out[2], out[3], res[0], res[1], res[2], res[3]);
- fail_unless (memcmp (GST_BUFFER_DATA (outbuffer), out, 8) == 0);
+ gst_buffer_unmap (outbuffer, res, -1);
+
+ fail_unless (gst_buffer_memcmp (outbuffer, 0, out, 8) == 0);
/* cleanup */
cleanup_invert (invert);
"could not set to playing");
inbuffer = gst_buffer_new_and_alloc (8);
- memcpy (GST_BUFFER_DATA (inbuffer), in, 8);
- fail_unless (memcmp (GST_BUFFER_DATA (inbuffer), in, 8) == 0);
+ gst_buffer_fill (inbuffer, 0, in, 8);
+ fail_unless (gst_buffer_memcmp (inbuffer, 0, in, 8) == 0);
caps = gst_caps_from_string (INVERT_CAPS_STRING);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
fail_unless_equals_int (g_list_length (buffers), 1);
fail_if ((outbuffer = (GstBuffer *) buffers->data) == NULL);
- res = (gint16 *) GST_BUFFER_DATA (outbuffer);
+ res = gst_buffer_map (outbuffer, NULL, NULL, GST_MAP_READ);
GST_INFO ("expected %+5d %+5d %+5d %+5d real %+5d %+5d %+5d %+5d",
out[0], out[1], out[2], out[3], res[0], res[1], res[2], res[3]);
- fail_unless (memcmp (GST_BUFFER_DATA (outbuffer), out, 8) == 0);
+ gst_buffer_unmap (outbuffer, res, -1);
+
+ fail_unless (gst_buffer_memcmp (outbuffer, 0, out, 8) == 0);
/* cleanup */
cleanup_invert (invert);
*/
#include <gst/gst.h>
+#include <gst/audio/audio.h>
#include <gst/base/gstbasetransform.h>
#include <gst/check/gstcheck.h>
GstPad *mysrcpad, *mysinkpad;
#define AUDIO_WSINC_BAND_CAPS_STRING_32 \
- "audio/x-raw-float, " \
- "channels = (int) 1, " \
- "rate = (int) 44100, " \
- "endianness = (int) BYTE_ORDER, " \
- "width = (int) 32" \
+ "audio/x-raw, " \
+ "format = (string) " GST_AUDIO_NE (F32) ", " \
+ "channels = (int) 1, " \
+ "rate = (int) 44100"
#define AUDIO_WSINC_BAND_CAPS_STRING_64 \
- "audio/x-raw-float, " \
- "channels = (int) 1, " \
- "rate = (int) 44100, " \
- "endianness = (int) BYTE_ORDER, " \
- "width = (int) 64" \
+ "audio/x-raw, " \
+ "format = (string) " GST_AUDIO_NE (F64) ", " \
+ "channels = (int) 1, " \
+ "rate = (int) 44100"
+
+#define FORMATS "{ "GST_AUDIO_NE (F32)","GST_AUDIO_NE (F64)" }"
static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS ("audio/x-raw-float, "
- "channels = (int) 1, "
- "rate = (int) 44100, "
- "endianness = (int) BYTE_ORDER, " "width = (int) { 32, 64 } ")
+ GST_STATIC_CAPS ("audio/x-raw, "
+ "format = (string) " FORMATS ", "
+ "channels = (int) 1, " "rate = (int) 44100")
);
static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS ("audio/x-raw-float, "
- "channels = (int) 1, "
- "rate = (int) 44100, "
- "endianness = (int) BYTE_ORDER, " "width = (int) { 32, 64 } ")
+ GST_STATIC_CAPS ("audio/x-raw, "
+ "format = (string) " FORMATS ", "
+ "channels = (int) 1, " "rate = (int) 44100")
);
static GstElement *
44100 / 4.0 + 1000, NULL);
inbuffer = gst_buffer_new_and_alloc (1024 * sizeof (gfloat));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gfloat *) GST_BUFFER_DATA (inbuffer);
+
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 1024; i++)
in[i] = 1.0;
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_BAND_CAPS_STRING_32);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gfloat *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gfloat);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
+
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
44100 / 4.0 + 1000, NULL);
inbuffer = gst_buffer_new_and_alloc (1024 * sizeof (gfloat));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gfloat *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 1024; i += 4) {
in[i] = 0.0;
in[i + 1] = 1.0;
in[i + 2] = 0.0;
in[i + 3] = -1.0;
}
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_BAND_CAPS_STRING_32);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gfloat *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gfloat);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
44100 / 4.0 + 1000, NULL);
inbuffer = gst_buffer_new_and_alloc (1024 * sizeof (gfloat));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gfloat *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 1024; i += 2) {
in[i] = 1.0;
in[i + 1] = -1.0;
}
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_BAND_CAPS_STRING_32);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gfloat *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gfloat);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
44100 / 4.0 + 1000, NULL);
inbuffer = gst_buffer_new_and_alloc (1024 * sizeof (gfloat));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gfloat *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 1024; i++)
in[i] = 1.0;
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_BAND_CAPS_STRING_32);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gfloat *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gfloat);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
44100 / 4.0 + 1000, NULL);
inbuffer = gst_buffer_new_and_alloc (1024 * sizeof (gfloat));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gfloat *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 1024; i += 4) {
in[i] = 0.0;
in[i + 2] = 0.0;
in[i + 3] = -1.0;
}
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_BAND_CAPS_STRING_32);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gfloat *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gfloat);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
44100 / 4.0 + 1000, NULL);
inbuffer = gst_buffer_new_and_alloc (1024 * sizeof (gfloat));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gfloat *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 1024; i += 2) {
in[i] = 1.0;
in[i + 1] = -1.0;
}
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_BAND_CAPS_STRING_32);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gfloat *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gfloat);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
44100 / 4.0 + 44100 / 16.0, NULL);
inbuffer = gst_buffer_new_and_alloc (20 * sizeof (gfloat));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gfloat *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 20; i++)
in[i] = 1.0;
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_BAND_CAPS_STRING_32);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
44100 / 4.0 + 1000, NULL);
inbuffer = gst_buffer_new_and_alloc (1024 * sizeof (gdouble));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gdouble *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 1024; i++)
in[i] = 1.0;
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_BAND_CAPS_STRING_64);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gdouble *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gdouble);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
44100 / 4.0 + 1000, NULL);
inbuffer = gst_buffer_new_and_alloc (1024 * sizeof (gdouble));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gdouble *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 1024; i += 4) {
in[i] = 0.0;
in[i + 1] = 1.0;
in[i + 2] = 0.0;
in[i + 3] = -1.0;
}
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_BAND_CAPS_STRING_64);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gdouble *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gdouble);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
44100 / 4.0 + 1000, NULL);
inbuffer = gst_buffer_new_and_alloc (1024 * sizeof (gdouble));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gdouble *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 1024; i += 2) {
in[i] = 1.0;
in[i + 1] = -1.0;
}
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_BAND_CAPS_STRING_64);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gdouble *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gdouble);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
44100 / 4.0 + 1000, NULL);
inbuffer = gst_buffer_new_and_alloc (1024 * sizeof (gdouble));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gdouble *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 1024; i++)
in[i] = 1.0;
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_BAND_CAPS_STRING_64);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gdouble *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gdouble);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
44100 / 4.0 + 1000, NULL);
inbuffer = gst_buffer_new_and_alloc (1024 * sizeof (gdouble));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gdouble *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 1024; i += 4) {
in[i] = 0.0;
in[i + 2] = 0.0;
in[i + 3] = -1.0;
}
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_BAND_CAPS_STRING_64);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gdouble *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gdouble);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
44100 / 4.0 + 1000, NULL);
inbuffer = gst_buffer_new_and_alloc (1024 * sizeof (gdouble));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gdouble *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 1024; i += 2) {
in[i] = 1.0;
in[i + 1] = -1.0;
}
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_BAND_CAPS_STRING_64);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gdouble *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gdouble);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
44100 / 4.0 + 44100 / 16.0, NULL);
inbuffer = gst_buffer_new_and_alloc (20 * sizeof (gdouble));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gdouble *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 20; i++)
in[i] = 1.0;
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_BAND_CAPS_STRING_64);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
- *
+ *
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
*/
#include <gst/gst.h>
+#include <gst/audio/audio.h>
#include <gst/base/gstbasetransform.h>
#include <gst/check/gstcheck.h>
GstPad *mysrcpad, *mysinkpad;
#define AUDIO_WSINC_LIMIT_CAPS_STRING_32 \
- "audio/x-raw-float, " \
- "channels = (int) 1, " \
- "rate = (int) 44100, " \
- "endianness = (int) BYTE_ORDER, " \
- "width = (int) 32" \
+ "audio/x-raw, " \
+ "format = (string) " GST_AUDIO_NE (F32) ", " \
+ "channels = (int) 1, " \
+ "rate = (int) 44100"
#define AUDIO_WSINC_LIMIT_CAPS_STRING_64 \
- "audio/x-raw-float, " \
- "channels = (int) 1, " \
- "rate = (int) 44100, " \
- "endianness = (int) BYTE_ORDER, " \
- "width = (int) 64" \
+ "audio/x-raw, " \
+ "format = (string) " GST_AUDIO_NE (F64) ", " \
+ "channels = (int) 1, " \
+ "rate = (int) 44100"
+
+#define FORMATS "{ "GST_AUDIO_NE (F32)","GST_AUDIO_NE (F64)" }"
static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS ("audio/x-raw-float, "
- "channels = (int) 1, "
- "rate = (int) 44100, "
- "endianness = (int) BYTE_ORDER, " "width = (int) { 32, 64 } ")
+ GST_STATIC_CAPS ("audio/x-raw, "
+ "channels = (string) " FORMATS ", "
+ "channels = (int) 1, " "rate = (int) 44100")
);
static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS ("audio/x-raw-float, "
- "channels = (int) 1, "
- "rate = (int) 44100, "
- "endianness = (int) BYTE_ORDER, " "width = (int) { 32, 64 } ")
+ GST_STATIC_CAPS ("audio/x-raw, "
+ "channels = (string) " FORMATS ", "
+ "channels = (int) 1, " "rate = (int) 44100")
);
static GstElement *
g_object_set (G_OBJECT (audiowsinclimit), "cutoff", 44100 / 4.0, NULL);
inbuffer = gst_buffer_new_and_alloc (128 * sizeof (gfloat));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gfloat *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 128; i++)
in[i] = 1.0;
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_LIMIT_CAPS_STRING_32);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gfloat *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gfloat);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
rms = sqrt (rms / buffer_length);
+ gst_buffer_unmap (outbuffer, res, size);
fail_unless (rms >= 0.9);
}
g_object_set (G_OBJECT (audiowsinclimit), "cutoff", 44100 / 4.0, NULL);
inbuffer = gst_buffer_new_and_alloc (128 * sizeof (gfloat));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gfloat *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 128; i += 2) {
in[i] = 1.0;
in[i + 1] = -1.0;
}
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_LIMIT_CAPS_STRING_32);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gfloat *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gfloat);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
rms = sqrt (rms / buffer_length);
+ gst_buffer_unmap (outbuffer, res, size);
fail_unless (rms <= 0.1);
}
g_object_set (G_OBJECT (audiowsinclimit), "cutoff", 44100 / 4.0, NULL);
inbuffer = gst_buffer_new_and_alloc (128 * sizeof (gfloat));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gfloat *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 128; i++)
in[i] = 1.0;
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_LIMIT_CAPS_STRING_32);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gfloat *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gfloat);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
rms = sqrt (rms / buffer_length);
+ gst_buffer_unmap (outbuffer, res, size);
fail_unless (rms <= 0.1);
}
g_object_set (G_OBJECT (audiowsinclimit), "cutoff", 44100 / 4.0, NULL);
inbuffer = gst_buffer_new_and_alloc (128 * sizeof (gfloat));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gfloat *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 128; i += 2) {
in[i] = 1.0;
in[i + 1] = -1.0;
}
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_LIMIT_CAPS_STRING_32);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gfloat *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gfloat);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
rms = sqrt (rms / buffer_length);
+ gst_buffer_unmap (outbuffer, res, size);
fail_unless (rms >= 0.9);
}
g_object_set (G_OBJECT (audiowsinclimit), "cutoff", 44100 / 4.0, NULL);
inbuffer = gst_buffer_new_and_alloc (20 * sizeof (gfloat));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gfloat *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 20; i++)
in[i] = 1.0;
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_LIMIT_CAPS_STRING_32);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
g_object_set (G_OBJECT (audiowsinclimit), "cutoff", 44100 / 4.0, NULL);
inbuffer = gst_buffer_new_and_alloc (128 * sizeof (gdouble));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gdouble *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 128; i++)
in[i] = 1.0;
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_LIMIT_CAPS_STRING_64);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gdouble *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gdouble);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
rms = sqrt (rms / buffer_length);
+ gst_buffer_unmap (outbuffer, res, size);
fail_unless (rms >= 0.9);
}
g_object_set (G_OBJECT (audiowsinclimit), "cutoff", 44100 / 4.0, NULL);
inbuffer = gst_buffer_new_and_alloc (128 * sizeof (gdouble));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gdouble *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 128; i += 2) {
in[i] = 1.0;
in[i + 1] = -1.0;
}
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_LIMIT_CAPS_STRING_64);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gdouble *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gdouble);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
rms = sqrt (rms / buffer_length);
+ gst_buffer_unmap (outbuffer, res, size);
fail_unless (rms <= 0.1);
}
g_object_set (G_OBJECT (audiowsinclimit), "cutoff", 44100 / 4.0, NULL);
inbuffer = gst_buffer_new_and_alloc (128 * sizeof (gdouble));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gdouble *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 128; i++)
in[i] = 1.0;
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_LIMIT_CAPS_STRING_64);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gdouble *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gdouble);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
rms = sqrt (rms / buffer_length);
+ gst_buffer_unmap (outbuffer, res, size);
fail_unless (rms <= 0.1);
}
g_object_set (G_OBJECT (audiowsinclimit), "cutoff", 44100 / 4.0, NULL);
inbuffer = gst_buffer_new_and_alloc (128 * sizeof (gdouble));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gdouble *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 128; i += 2) {
in[i] = 1.0;
in[i + 1] = -1.0;
}
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_LIMIT_CAPS_STRING_64);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
for (node = buffers; node; node = node->next) {
gint buffer_length;
+ gsize size;
fail_if ((outbuffer = (GstBuffer *) node->data) == NULL);
- res = (gdouble *) GST_BUFFER_DATA (outbuffer);
- buffer_length = GST_BUFFER_SIZE (outbuffer) / sizeof (gdouble);
+ res = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
+ buffer_length = size / sizeof (gfloat);
rms = 0.0;
for (i = 0; i < buffer_length; i++)
rms += res[i] * res[i];
rms = sqrt (rms / buffer_length);
+ gst_buffer_unmap (outbuffer, res, size);
fail_unless (rms >= 0.9);
}
g_object_set (G_OBJECT (audiowsinclimit), "cutoff", 44100 / 4.0, NULL);
inbuffer = gst_buffer_new_and_alloc (20 * sizeof (gdouble));
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
- in = (gdouble *) GST_BUFFER_DATA (inbuffer);
+ in = gst_buffer_map (inbuffer, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 20; i++)
in[i] = 1.0;
+ gst_buffer_unmap (inbuffer, in, -1);
caps = gst_caps_from_string (AUDIO_WSINC_LIMIT_CAPS_STRING_64);
- gst_buffer_set_caps (inbuffer, caps);
+ gst_pad_set_caps (mysrcpad, caps);
gst_caps_unref (caps);
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
filter = gst_element_factory_make ("capsfilter", NULL);
sink = gst_element_factory_make ("autovideosink", NULL);
- caps = gst_caps_new_simple ("video/x-raw-yuv", "format", GST_TYPE_FOURCC,
- GST_MAKE_FOURCC ('A', 'C', 'D', 'C'), NULL);
+ caps = gst_caps_new_simple ("video/x-raw", "format", G_TYPE_STRING,
+ "ABCD", NULL);
g_object_set (filter, "caps", caps, NULL);
gst_caps_unref (caps);
inbuffer = gst_buffer_new_and_alloc (1);
caps = gst_caps_from_string (src_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);
switch (i) {
case 0:{ /* check riff header */
/* avi header */
- guint8 *data = GST_BUFFER_DATA (outbuffer);
+ gsize size;
+ guint8 *data, *orig;
+
+ data = orig = gst_buffer_map (outbuffer, &size, NULL, GST_MAP_READ);
fail_unless (memcmp (data, data0, sizeof (data0)) == 0);
fail_unless (memcmp (data + 8, data1, sizeof (data1)) == 0);
fail_unless (memcmp (data + 8, data4, sizeof (data4)) == 0);
fail_unless (memcmp (data + 76, data5, sizeof (data5)) == 0);
/* avi data header */
- data = GST_BUFFER_DATA (outbuffer);
- data += GST_BUFFER_SIZE (outbuffer) - 12;
+ data = orig;
+ data += size - 12;
fail_unless (memcmp (data, data6, sizeof (data6)) == 0);
data += 8;
fail_unless (memcmp (data, data7, sizeof (data7)) == 0);
+ gst_buffer_unmap (outbuffer, orig, size);
break;
}
case 1: /* chunk header */
- fail_unless (GST_BUFFER_SIZE (outbuffer) == 8);
- fail_unless (memcmp (GST_BUFFER_DATA (outbuffer), chunk_id, 4) == 0);
+ fail_unless (gst_buffer_get_size (outbuffer) == 8);
+ fail_unless (gst_buffer_memcmp (outbuffer, 0, chunk_id, 4) == 0);
break;
case 2:
- fail_unless (GST_BUFFER_SIZE (outbuffer) == 1);
+ fail_unless (gst_buffer_get_size (outbuffer) == 1);
break;
case 3: /* buffer we put in, must be padded to even size */
- fail_unless (GST_BUFFER_SIZE (outbuffer) == 1);
+ fail_unless (gst_buffer_get_size (outbuffer) == 1);
break;
default:
break;
static void
check_wrong_buffer (guint8 * data, guint length)
{
- GstBuffer *buffer = gst_buffer_new ();
+ GstBuffer *buffer = gst_buffer_new_allocate (NULL, length, 0);
GstElement *avisubtitle = setup_avisubtitle ();
- gst_buffer_set_data (buffer, data, length);
+ gst_buffer_fill (buffer, 0, data, length);
fail_unless (gst_element_set_state (avisubtitle,
GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,
"could not set to playing");
check_correct_buffer (guint8 * src_data, guint src_size, guint8 * dst_data,
guint dst_size)
{
- GstBuffer *buffer = gst_buffer_new ();
+ GstBuffer *buffer = gst_buffer_new_allocate (NULL, src_size, 0);
GstBuffer *newBuffer;
GstElement *avisubtitle = setup_avisubtitle ();
GstEvent *event;
fail_unless (g_list_length (buffers) == 0, "Buffers list needs to be empty");
- gst_buffer_set_data (buffer, src_data, src_size);
+ gst_buffer_fill (buffer, 0, src_data, src_size);
fail_unless (gst_element_set_state (avisubtitle,
GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,
"could not set to playing");
newBuffer = GST_BUFFER (buffers->data);
buffers = g_list_remove (buffers, newBuffer);
fail_unless (g_list_length (buffers) == 1, "Buffers list needs to be empty");
- fail_unless (GST_BUFFER_SIZE (newBuffer) == dst_size,
+ fail_unless (gst_buffer_get_size (newBuffer) == dst_size,
"size of the new buffer is wrong ( %d != %d)",
- GST_BUFFER_SIZE (newBuffer), dst_size);
- fail_unless (memcmp (GST_BUFFER_DATA (newBuffer), dst_data, dst_size) == 0,
+ gst_buffer_get_size (newBuffer), dst_size);
+ fail_unless (gst_buffer_memcmp (newBuffer, 0, dst_data, dst_size) == 0,
"data of the buffer is not correct");
gst_buffer_unref (newBuffer);
/* free the buffer from seeking */
{
GstElement *capssetter;
GstBuffer *buffer;
+ GstCaps *current_out;
capssetter = setup_capssetter ();
fail_unless (gst_element_set_state (capssetter,
GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,
"could not set to playing");
- buffer = gst_buffer_new_and_alloc (4);
- ASSERT_BUFFER_REFCOUNT (buffer, "buffer", 1);
- memcpy (GST_BUFFER_DATA (buffer), "data", 4);
-
- gst_buffer_set_caps (buffer, in_caps);
- gst_caps_unref (in_caps);
-
g_object_set (capssetter, "join", join, NULL);
g_object_set (capssetter, "replace", replace, NULL);
g_object_set (capssetter, "caps", prop_caps, NULL);
gst_caps_unref (prop_caps);
+ buffer = gst_buffer_new_and_alloc (4);
+ ASSERT_BUFFER_REFCOUNT (buffer, "buffer", 1);
+ gst_buffer_fill (buffer, 0, "data", 4);
+
+ gst_pad_set_caps (mysrcpad, in_caps);
+ gst_caps_unref (in_caps);
+
/* pushing gives away my reference ... */
fail_unless (gst_pad_push (mysrcpad, buffer) == GST_FLOW_OK,
"Failed pushing buffer to capssetter");
buffer = g_list_first (buffers)->data;
ASSERT_BUFFER_REFCOUNT (buffer, "buffer", 1);
- fail_unless (gst_caps_is_equal (out_caps, GST_BUFFER_CAPS (buffer)));
+ current_out = gst_pad_get_current_caps (mysinkpad);
+ fail_unless (gst_caps_is_equal (out_caps, current_out));
+ gst_caps_unref (current_out);
gst_caps_unref (out_caps);
/* cleanup */
static gboolean
gst_caps_is_interlaced (GstCaps * caps)
{
- GstStructure G_GNUC_UNUSED *structure;
- gboolean interlaced = FALSE;
+ GstVideoInfo info;
fail_unless (gst_caps_is_fixed (caps));
- structure = gst_caps_get_structure (caps, 0);
- fail_unless (gst_video_format_parse_caps_interlaced (caps, &interlaced));
- return interlaced;
+ fail_unless (gst_video_info_from_caps (&info, caps));
+
+ return GST_VIDEO_INFO_IS_INTERLACED (&info);
}
GST_START_TEST (test_create_and_unref)
"width=(int)3200, height=(int)3400, framerate=(fraction)0/1"
#define CAPS_YUY2 \
- "video/x-raw-yuv, " \
+ "video/x-raw, " \
CAPS_VIDEO_COMMON ", " \
- "format=(fourcc)YUY2"
+ "format=(string)YUY2"
#define CAPS_YUY2_INTERLACED \
CAPS_YUY2 ", " \
- "interlaced=(boolean)true"
+ "interlace-mode=interleaved"
#define CAPS_YVYU \
- "video/x-raw-yuv, " \
+ "video/x-raw, " \
CAPS_VIDEO_COMMON ", " \
- "format=(fourcc)YVYU"
+ "format=(string)YVYU"
#define CAPS_YVYU_INTERLACED \
CAPS_YVYU ", " \
- "interlaced=(boolean)true"
+ "interlace-mode=interleaved"
#define CAPS_YUY2_IMAGE \
- "video/x-raw-yuv, " \
+ "video/x-raw, " \
CAPS_IMAGE_COMMON ", " \
- "format=(fourcc)YUY2"
+ "format=(string)YUY2"
#define CAPS_YUY2_INTERLACED_IMAGE \
CAPS_YUY2_IMAGE ", " \
- "interlaced=(boolean)true"
+ "interlace-mode=interleaved"
#define CAPS_YVYU_IMAGE \
- "video/x-raw-yuv, " \
+ "video/x-raw, " \
CAPS_IMAGE_COMMON ", " \
- "format=(fourcc)YVYU"
+ "format=(string)YVYU"
#define CAPS_YVYU_INTERLACED_IMAGE \
CAPS_YVYU_IMAGE ", " \
- "interlaced=(boolean)true"
+ "interlace-mode=interleaved"
static GstElement *deinterlace;
static GstPad *srcpad;
/*
* Checks if 2 buffers are equal
*
- * Equals means same caps and same data
+ * Equals means same data
*/
static gboolean
test_buffer_equals (GstBuffer * buf_a, GstBuffer * buf_b)
{
- GstCaps *caps_a;
- GstCaps *caps_b;
-
- if (GST_BUFFER_SIZE (buf_a) != GST_BUFFER_SIZE (buf_b))
- return FALSE;
-
- caps_a = gst_buffer_get_caps (buf_a);
- caps_b = gst_buffer_get_caps (buf_b);
-
- if (!gst_caps_is_equal (caps_a, caps_b))
- return FALSE;
+ gsize s1, s2;
+ gpointer d1, d2;
+ gboolean res = FALSE;
- gst_caps_unref (caps_a);
- gst_caps_unref (caps_b);
+ d1 = gst_buffer_map (buf_a, &s1, NULL, GST_MAP_READ);
+ d2 = gst_buffer_map (buf_b, &s2, NULL, GST_MAP_READ);
- return memcmp (GST_BUFFER_DATA (buf_a), GST_BUFFER_DATA (buf_b),
- GST_BUFFER_SIZE (buf_a)) == 0;
+ if (s1 == s2) {
+ res = memcmp (d1, d2, s1) == 0;
+ }
+ return res;
}
-static gboolean
-sinkpad_enqueue_buffer (GstPad * pad, GstBuffer * buf, gpointer data)
+static GstPadProbeReturn
+sinkpad_enqueue_buffer (GstPad * pad, GstPadProbeInfo * info, gpointer data)
{
GQueue *queue = (GQueue *) data;
+ GstBuffer *buf = GST_PAD_PROBE_INFO_BUFFER (info);
/* enqueue a copy for being compared later */
g_queue_push_tail (queue, gst_buffer_copy (buf));
- return TRUE;
+ return GST_PAD_PROBE_OK;
}
/*
* pad buffer probe that compares the buffer with the top one
* in the GQueue passed as the user data
*/
-static gboolean
-srcpad_dequeue_and_compare_buffer (GstPad * pad, GstBuffer * buf, gpointer data)
+static GstPadProbeReturn
+srcpad_dequeue_and_compare_buffer (GstPad * pad, GstPadProbeInfo * info,
+ gpointer data)
{
GQueue *queue = (GQueue *) data;
+ GstBuffer *buf = GST_PAD_PROBE_INFO_BUFFER (info);
GstBuffer *queue_buf;
queue_buf = (GstBuffer *) g_queue_pop_head (queue);
gst_buffer_unref (queue_buf);
- return TRUE;
+ return GST_PAD_PROBE_OK;
}
/*
queue = g_queue_new ();
/* set up probes for testing */
- gst_pad_add_buffer_probe (sinkpad, (GCallback) sinkpad_enqueue_buffer, queue);
- gst_pad_add_buffer_probe (srcpad,
- (GCallback) srcpad_dequeue_and_compare_buffer, queue);
+ gst_pad_add_probe (sinkpad, GST_PAD_PROBE_TYPE_BUFFER, sinkpad_enqueue_buffer,
+ queue, NULL);
+ gst_pad_add_probe (srcpad, GST_PAD_PROBE_TYPE_BUFFER,
+ srcpad_dequeue_and_compare_buffer, queue, NULL);
fail_unless (gst_element_set_state (pipeline, GST_STATE_PLAYING) !=
GST_STATE_CHANGE_FAILURE);
static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS ("audio/x-raw-float, "
- "width = (int) 32, "
- "channels = (int) 1, "
- "rate = (int) {32000, 48000}, " "endianness = (int) BYTE_ORDER"));
+ GST_STATIC_CAPS ("audio/x-raw, "
+ "format = (string) " GST_AUDIO_NE (F32) ", "
+ "channels = (int) 1, " "rate = (int) {32000, 48000}"));
static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS ("audio/x-raw-float, "
- "width = (int) 32, "
- "channels = (int) { 2, 3 }, "
- "rate = (int) {32000, 48000}, " "endianness = (int) BYTE_ORDER"));
+ GST_STATIC_CAPS ("audio/x-raw, "
+ "format = (string) " GST_AUDIO_NE (F32) ", "
+ "channels = (int) { 2, 3 }, " "rate = (int) {32000, 48000}"));
#define CAPS_32khz \
- "audio/x-raw-float, " \
- "width = (int) 32, " \
+ "audio/x-raw, " \
+ "format = (string) "GST_AUDIO_NE (F32) ", " \
"channels = (int) 2, " \
- "rate = (int) 32000, " \
- "endianness = (int) BYTE_ORDER"
+ "rate = (int) 32000"
#define CAPS_48khz \
- "audio/x-raw-float, " \
- "width = (int) 32, " \
+ "audio/x-raw, " \
+ "format = (string) "GST_AUDIO_NE (F32) ", " \
"channels = (int) 2, " \
- "rate = (int) 48000, " \
- "endianness = (int) BYTE_ORDER"
+ "rate = (int) 48000"
#define CAPS_48khz_3CH \
- "audio/x-raw-float, " \
- "width = (int) 32, " \
+ "audio/x-raw, " \
+ "format = (string) "GST_AUDIO_NE (F32) ", " \
"channels = (int) 3, " \
- "rate = (int) 48000, " \
- "endianness = (int) BYTE_ORDER"
+ "rate = (int) 48000"
static GstFlowReturn
-deinterleave_chain_func (GstPad * pad, GstBuffer * buffer)
+deinterleave_chain_func (GstPad * pad, GstObject * parent, GstBuffer * buffer)
{
gint i;
+ gsize size;
gfloat *indata;
fail_unless (GST_IS_BUFFER (buffer));
- fail_unless_equals_int (GST_BUFFER_SIZE (buffer), 48000 * sizeof (gfloat));
- fail_unless (GST_BUFFER_DATA (buffer) != NULL);
-
- indata = (gfloat *) GST_BUFFER_DATA (buffer);
+ indata = gst_buffer_map (buffer, &size, NULL, GST_MAP_READ);
+ fail_unless_equals_int (size, 48000 * sizeof (gfloat));
+ fail_unless (indata != NULL);
if (strcmp (GST_PAD_NAME (pad), "sink0") == 0) {
for (i = 0; i < 48000; i++)
} else {
g_assert_not_reached ();
}
-
+ gst_buffer_unmap (buffer, indata, size);
gst_buffer_unref (buffer);
return GST_FLOW_OK;
GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS);
inbuf = gst_buffer_new_and_alloc (2 * 48000 * sizeof (gfloat));
- indata = (gfloat *) GST_BUFFER_DATA (inbuf);
+ indata = gst_buffer_map (inbuf, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 2 * 48000; i += 2) {
indata[i] = -1.0;
indata[i + 1] = 1.0;
}
- gst_buffer_set_caps (inbuf, caps);
+ gst_buffer_unmap (inbuf, indata, -1);
+ gst_pad_set_caps (mysrcpad, caps);
fail_unless (gst_pad_push (mysrcpad, inbuf) == GST_FLOW_OK);
GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS);
inbuf = gst_buffer_new_and_alloc (2 * 48000 * sizeof (gfloat));
- indata = (gfloat *) GST_BUFFER_DATA (inbuf);
+ indata = gst_buffer_map (inbuf, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 2 * 48000; i += 2) {
indata[i] = -1.0;
indata[i + 1] = 1.0;
}
- gst_buffer_set_caps (inbuf, caps);
+ gst_buffer_unmap (inbuf, indata, -1);
+ gst_pad_set_caps (mysrcpad, caps);
fail_unless (gst_pad_push (mysrcpad, inbuf) == GST_FLOW_OK);
GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS);
inbuf = gst_buffer_new_and_alloc (2 * 48000 * sizeof (gfloat));
- indata = (gfloat *) GST_BUFFER_DATA (inbuf);
+ indata = gst_buffer_map (inbuf, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 2 * 48000; i += 2) {
indata[i] = -1.0;
indata[i + 1] = 1.0;
}
- gst_buffer_set_caps (inbuf, caps);
+ gst_buffer_unmap (inbuf, indata, -1);
+ gst_pad_set_caps (mysrcpad, caps);
fail_unless (gst_pad_push (mysrcpad, inbuf) == GST_FLOW_OK);
gst_pad_set_caps (mysrcpad, caps2);
inbuf = gst_buffer_new_and_alloc (2 * 48000 * sizeof (gfloat));
- indata = (gfloat *) GST_BUFFER_DATA (inbuf);
+ indata = gst_buffer_map (inbuf, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 2 * 48000; i += 2) {
indata[i] = -1.0;
indata[i + 1] = 1.0;
}
- gst_buffer_set_caps (inbuf, caps2);
+ gst_buffer_unmap (inbuf, indata, -1);
+ gst_pad_set_caps (mysrcpad, caps2);
/* Should work fine because the caps changed in a compatible way */
fail_unless (gst_pad_push (mysrcpad, inbuf) == GST_FLOW_OK);
gst_pad_set_caps (mysrcpad, caps2);
inbuf = gst_buffer_new_and_alloc (3 * 48000 * sizeof (gfloat));
- indata = (gfloat *) GST_BUFFER_DATA (inbuf);
+ indata = gst_buffer_map (inbuf, NULL, NULL, GST_MAP_WRITE);
for (i = 0; i < 3 * 48000; i += 3) {
indata[i] = -1.0;
indata[i + 1] = 1.0;
indata[i + 2] = 0.0;
}
- gst_buffer_set_caps (inbuf, caps2);
+ gst_buffer_unmap (inbuf, indata, -1);
+ gst_pad_set_caps (mysrcpad, caps2);
/* Should break because the caps changed in an incompatible way */
fail_if (gst_pad_push (mysrcpad, inbuf) == GST_FLOW_OK);
{
GstAudioChannelPosition layout[NUM_CHANNELS];
GstCaps *caps;
- gfloat *data;
+ gfloat *data, *p;
guint size, i, c;
- caps = gst_caps_new_simple ("audio/x-raw-float",
- "width", G_TYPE_INT, 32,
- "depth", G_TYPE_INT, 32,
+ caps = gst_caps_new_simple ("audio/x-raw",
+ "format", G_TYPE_STRING, GST_AUDIO_NE (F32),
"channels", G_TYPE_INT, NUM_CHANNELS,
- "rate", G_TYPE_INT, SAMPLE_RATE,
- "endianness", G_TYPE_INT, G_BYTE_ORDER, NULL);
+ "rate", G_TYPE_INT, SAMPLE_RATE, NULL);
for (i = 0; i < NUM_CHANNELS; ++i)
layout[i] = GST_AUDIO_CHANNEL_POSITION_NONE;
set_channel_positions (caps, NUM_CHANNELS, layout);
size = sizeof (gfloat) * SAMPLES_PER_BUFFER * NUM_CHANNELS;
- data = (gfloat *) g_malloc (size);
-
- GST_BUFFER_MALLOCDATA (buf) = (guint8 *) data;
- GST_BUFFER_DATA (buf) = (guint8 *) data;
- GST_BUFFER_SIZE (buf) = size;
-
- GST_BUFFER_OFFSET (buf) = 0;
- GST_BUFFER_TIMESTAMP (buf) = 0;
-
- GST_BUFFER_CAPS (buf) = caps;
+ data = p = (gfloat *) g_malloc (size);
for (i = 0; i < SAMPLES_PER_BUFFER; ++i) {
for (c = 0; c < NUM_CHANNELS; ++c) {
- *data = (gfloat) ((i * NUM_CHANNELS) + c);
- ++data;
+ *p = (gfloat) ((i * NUM_CHANNELS) + c);
+ ++p;
}
}
+ gst_buffer_take_memory (buf, -1, gst_memory_new_wrapped (0, data, g_free,
+ size, 0, size));
+
+ GST_BUFFER_OFFSET (buf) = 0;
+ GST_BUFFER_TIMESTAMP (buf) = 0;
+
+ /* FIXME, caps */
}
-static gboolean
-float_buffer_check_probe (GstPad * pad, GstBuffer * buf, gpointer userdata)
+static GstPadProbeReturn
+float_buffer_check_probe (GstPad * pad, GstPadProbeInfo * info,
+ gpointer userdata)
{
gfloat *data;
+ gsize size;
guint padnum, numpads;
guint num, i;
GstCaps *caps;
GstStructure *s;
GstAudioChannelPosition *pos;
gint channels;
+ GstBuffer *buffer = GST_PAD_PROBE_INFO_BUFFER (info);
fail_unless_equals_int (sscanf (GST_PAD_NAME (pad), "src%u", &padnum), 1);
numpads = pads_created;
/* Check caps */
- caps = GST_BUFFER_CAPS (buf);
+ caps = gst_pad_get_current_caps (pad);
fail_unless (caps != NULL);
s = gst_caps_get_structure (caps, 0);
fail_unless (gst_structure_get_int (s, "channels", &channels));
pos = gst_audio_get_channel_positions (s);
fail_unless (pos != NULL && pos[0] == GST_AUDIO_CHANNEL_POSITION_NONE);
g_free (pos);
+ gst_caps_unref (caps);
- data = (gfloat *) GST_BUFFER_DATA (buf);
- num = GST_BUFFER_SIZE (buf) / sizeof (gfloat);
+ data = gst_buffer_map (buffer, &size, NULL, GST_MAP_READ);
+ num = size / sizeof (gfloat);
/* Check buffer content */
for (i = 0; i < num; ++i) {
/* check that the first channel is on pad src0, the second on src1 etc. */
fail_unless_equals_int (rest, padnum);
}
+ gst_buffer_unmap (buffer, data, size);
- return TRUE; /* don't drop data */
+ return GST_PAD_PROBE_OK; /* don't drop data */
}
static void
fail_unless_equals_int (gst_pad_link (pad, sinkpad), GST_PAD_LINK_OK);
gst_object_unref (sinkpad);
- gst_pad_add_buffer_probe (pad, G_CALLBACK (float_buffer_check_probe), NULL);
+ gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_BUFFER, float_buffer_check_probe,
+ NULL, NULL);
gst_element_set_state (sink, GST_STATE_PLAYING);
gst_element_set_state (queue, GST_STATE_PLAYING);
+++ /dev/null
-/* GStreamer
- * unit test for index setting on all elements
- * Copyright (C) 2005 Thomas Vander Stichele <thomas at apestaart dot org>
- * Copyright (C) 2011 Tim-Philipp Müller <tim centricular net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * 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.
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <gst/check/gstcheck.h>
-
-static GList *elements = NULL;
-
-static void
-setup (void)
-{
- GList *features, *f;
- GList *plugins, *p;
- gchar **ignorelist = NULL;
- const gchar *INDEX_IGNORE_ELEMENTS = NULL;
-
- GST_DEBUG ("getting elements for package %s", PACKAGE);
- INDEX_IGNORE_ELEMENTS = g_getenv ("GST_INDEX_IGNORE_ELEMENTS");
- if (!g_getenv ("GST_NO_INDEX_IGNORE_ELEMENTS") && INDEX_IGNORE_ELEMENTS) {
- GST_DEBUG ("Will ignore element factories: '%s'", INDEX_IGNORE_ELEMENTS);
- ignorelist = g_strsplit (INDEX_IGNORE_ELEMENTS, " ", 0);
- }
-
- plugins = gst_registry_get_plugin_list (gst_registry_get_default ());
-
- for (p = plugins; p; p = p->next) {
- GstPlugin *plugin = p->data;
-
- if (strcmp (gst_plugin_get_source (plugin), PACKAGE) != 0)
- continue;
-
- features =
- gst_registry_get_feature_list_by_plugin (gst_registry_get_default (),
- gst_plugin_get_name (plugin));
-
- for (f = features; f; f = f->next) {
- GstPluginFeature *feature = f->data;
- const gchar *name = gst_plugin_feature_get_name (feature);
- gboolean ignore = FALSE;
-
- if (!GST_IS_ELEMENT_FACTORY (feature))
- continue;
-
- if (ignorelist) {
- gchar **s;
-
- for (s = ignorelist; s && *s; ++s) {
- if (g_str_has_prefix (name, *s)) {
- GST_DEBUG ("ignoring element %s", name);
- ignore = TRUE;
- }
- }
- if (ignore)
- continue;
- }
-
- GST_DEBUG ("adding element %s", name);
- elements = g_list_prepend (elements, (gpointer) g_strdup (name));
- }
- gst_plugin_feature_list_free (features);
- }
- gst_plugin_list_free (plugins);
- g_strfreev (ignorelist);
-}
-
-static void
-teardown (void)
-{
- GList *e;
-
- for (e = elements; e; e = e->next) {
- g_free (e->data);
- }
- g_list_free (elements);
- elements = NULL;
-}
-
-GST_START_TEST (test_set_index)
-{
- GstElement *element;
- GstIndex *idx;
- GList *e;
-
- idx = gst_index_factory_make ("memindex");
- if (idx == NULL)
- return;
-
- gst_object_ref_sink (idx);
-
- for (e = elements; e; e = e->next) {
- const gchar *name = e->data;
-
- GST_INFO ("testing element %s", name);
- element = gst_element_factory_make (name, name);
- fail_if (element == NULL, "Could not make element from factory %s", name);
-
- gst_element_set_index (element, idx);
- gst_object_unref (element);
- }
-
- gst_object_unref (idx);
-}
-
-GST_END_TEST;
-
-static Suite *
-index_suite (void)
-{
- Suite *s = suite_create ("index");
- TCase *tc_chain = tcase_create ("general");
-
- suite_add_tcase (s, tc_chain);
- tcase_add_checked_fixture (tc_chain, setup, teardown);
- tcase_add_test (tc_chain, test_set_index);
-
- return s;
-}
-
-GST_CHECK_MAIN (index);
GList *plugins, *p;
gchar **ignorelist = NULL;
const gchar *STATE_IGNORE_ELEMENTS = NULL;
+ GstRegistry *def;
GST_DEBUG ("getting elements for package %s", PACKAGE);
STATE_IGNORE_ELEMENTS = g_getenv ("GST_STATE_IGNORE_ELEMENTS");
ignorelist = g_strsplit (STATE_IGNORE_ELEMENTS, " ", 0);
}
- plugins = gst_registry_get_plugin_list (gst_registry_get_default ());
+ def = gst_registry_get ();
+
+ plugins = gst_registry_get_plugin_list (def);
for (p = plugins; p; p = p->next) {
GstPlugin *plugin = p->data;
continue;
features =
- gst_registry_get_feature_list_by_plugin (gst_registry_get_default (),
+ gst_registry_get_feature_list_by_plugin (def,
gst_plugin_get_name (plugin));
for (f = features; f; f = f->next) {