index 020d749793dacd78390b191737058f46a762dac3..46cee6dad5b69695b2f3610fdb363b9c82fc5f93 100644 (file)
#include "config.h"
#endif
+/* FIXME 0.11: suppress warnings for deprecated API such as GStaticRecMutex
+ * with newer GLib versions (>= 2.31.0) */
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
+
#include <gst/gstutils.h>
#include <gst/base/gstbytereader.h>
#include <gst/riff/riff-media.h>
{
GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&audio_src_template));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&video_src_template));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&gst_asf_demux_sink_template));
+ gst_element_class_add_static_pad_template (element_class,
+ &audio_src_template);
+ gst_element_class_add_static_pad_template (element_class,
+ &video_src_template);
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_asf_demux_sink_template);
gst_element_class_set_details_simple (element_class, "ASF Demuxer",
"Codec/Demuxer",
gst_object_unref (stream->pad);
stream->pad = NULL;
}
+
+ while (stream->payloads->len > 0) {
+ AsfPayload *payload;
+ guint last;
+
+ last = stream->payloads->len - 1;
+ payload = &g_array_index (stream->payloads, AsfPayload, last);
+ gst_buffer_replace (&payload->buf, NULL);
+ g_array_remove_index (stream->payloads, last);
+ }
if (stream->payloads) {
+ int i;
+ for (i = 0; i < stream->payloads->len; i++) {
+ AsfPayload *payload;
+ payload = &g_array_index (stream->payloads, AsfPayload, i);
+ gst_buffer_replace (&payload->buf, NULL);
+ }
g_array_free (stream->payloads, TRUE);
stream->payloads = NULL;
}