+2005-11-21 Andy Wingo <wingo@pobox.com>
+
+ patch by: Alessandro Dessina <alessandro nnva org>
+
+ * ext/ogg/gstoggmux.c (gst_ogg_mux_set_header_on_caps):
+ * ext/ogg/gstoggparse.c (gst_ogg_parse_append_header)
+ (gst_ogg_parse_chain):
+ * ext/theora/theoraenc.c (theora_set_header_on_caps):
+ * ext/vorbis/vorbisenc.c (gst_vorbisenc_set_header_on_caps):
+ * ext/vorbis/vorbisparse.c (vorbis_parse_set_header_on_caps): Fix
+ gst_value_list calls on arrays. Fixes #321962.
+
2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
* ext/ogg/gstoggmux.c: (gst_ogg_mux_init),
gst_ogg_mux_set_header_on_caps (GstCaps * caps, GList * buffers)
{
GstStructure *structure;
- GValue list = { 0 };
+ GValue array = { 0 };
GList *walk = buffers;
caps = gst_caps_make_writable (caps);
structure = gst_caps_get_structure (caps, 0);
/* put buffers in a fixed list */
- g_value_init (&list, GST_TYPE_ARRAY);
+ g_value_init (&array, GST_TYPE_ARRAY);
while (walk) {
GstBuffer *buf = GST_BUFFER (walk->data);
g_value_init (&value, GST_TYPE_BUFFER);
gst_value_set_buffer (&value, buf);
- gst_value_list_append_value (&list, &value);
+ gst_value_array_append_value (&array, &value);
g_value_unset (&value);
}
- gst_structure_set_value (structure, "streamheader", &list);
- g_value_unset (&list);
+ gst_structure_set_value (structure, "streamheader", &array);
+ g_value_unset (&array);
return caps;
}
}
static void
-gst_ogg_parse_append_header (GValue * list, GstBuffer * buf)
+gst_ogg_parse_append_header (GValue * array, GstBuffer * buf)
{
GValue value = { 0 };
g_value_init (&value, GST_TYPE_BUFFER);
gst_value_set_buffer (&value, buf);
- gst_value_list_append_value (list, &value);
+ gst_value_array_append_value (array, &value);
g_value_unset (&value);
}
*/
GstCaps *caps;
GstStructure *structure;
- GValue list = { 0 };
+ GValue array = { 0 };
gint i, count = 0;
gboolean found_pending_headers = FALSE;
- g_value_init (&list, GST_TYPE_ARRAY);
+ g_value_init (&array, GST_TYPE_ARRAY);
for (i = 0; i < g_slist_length (ogg->oggstreams); i++) {
GstOggStream *stream = g_slist_nth_data (ogg->oggstreams, i);
goto failure;
}
- gst_ogg_parse_append_header (&list,
+ gst_ogg_parse_append_header (&array,
GST_BUFFER (stream->headers->data));
count++;
}
int j;
for (j = 1; j < g_slist_length (stream->headers); j++) {
- gst_ogg_parse_append_header (&list,
+ gst_ogg_parse_append_header (&array,
GST_BUFFER (g_slist_nth_data (stream->headers, j)));
count++;
}
caps = gst_caps_make_writable (caps);
structure = gst_caps_get_structure (caps, 0);
- gst_structure_set_value (structure, "streamheader", &list);
+ gst_structure_set_value (structure, "streamheader", &array);
gst_pad_set_caps (ogg->srcpad, caps);
- g_value_unset (&list);
+ g_value_unset (&array);
// gst_caps_free(caps);
GstBuffer * buf2, GstBuffer * buf3)
{
GstStructure *structure;
- GValue list = { 0 };
+ GValue array = { 0 };
GValue value = { 0 };
caps = gst_caps_make_writable (caps);
GST_BUFFER_FLAG_SET (buf3, GST_BUFFER_FLAG_IN_CAPS);
/* put buffers in a fixed list */
- g_value_init (&list, GST_TYPE_ARRAY);
+ g_value_init (&array, GST_TYPE_ARRAY);
g_value_init (&value, GST_TYPE_BUFFER);
gst_value_set_buffer (&value, buf1);
- gst_value_list_append_value (&list, &value);
+ gst_value_array_append_value (&array, &value);
g_value_unset (&value);
g_value_init (&value, GST_TYPE_BUFFER);
gst_value_set_buffer (&value, buf2);
- gst_value_list_append_value (&list, &value);
+ gst_value_array_append_value (&array, &value);
g_value_unset (&value);
g_value_init (&value, GST_TYPE_BUFFER);
gst_value_set_buffer (&value, buf3);
- gst_value_list_append_value (&list, &value);
- gst_structure_set_value (structure, "streamheader", &list);
+ gst_value_array_append_value (&array, &value);
+ gst_structure_set_value (structure, "streamheader", &array);
g_value_unset (&value);
- g_value_unset (&list);
+ g_value_unset (&array);
return caps;
}
GstBuffer * buf2, GstBuffer * buf3)
{
GstStructure *structure;
- GValue list = { 0 };
+ GValue array = { 0 };
GValue value = { 0 };
caps = gst_caps_make_writable (caps);
GST_BUFFER_FLAG_SET (buf3, GST_BUFFER_FLAG_IN_CAPS);
/* put buffers in a fixed list */
- g_value_init (&list, GST_TYPE_ARRAY);
+ g_value_init (&array, GST_TYPE_ARRAY);
g_value_init (&value, GST_TYPE_BUFFER);
gst_value_set_buffer (&value, buf1);
- gst_value_list_append_value (&list, &value);
+ gst_value_array_append_value (&array, &value);
g_value_unset (&value);
g_value_init (&value, GST_TYPE_BUFFER);
gst_value_set_buffer (&value, buf2);
- gst_value_list_append_value (&list, &value);
+ gst_value_array_append_value (&array, &value);
g_value_unset (&value);
g_value_init (&value, GST_TYPE_BUFFER);
gst_value_set_buffer (&value, buf3);
- gst_value_list_append_value (&list, &value);
- gst_structure_set_value (structure, "streamheader", &list);
+ gst_value_array_append_value (&array, &value);
+ gst_structure_set_value (structure, "streamheader", &array);
g_value_unset (&value);
- g_value_unset (&list);
+ g_value_unset (&array);
return caps;
}
{
GstBuffer *buf1, *buf2, *buf3;
GstStructure *structure;
- GValue list = { 0 };
+ GValue array = { 0 };
GValue value = { 0 };
g_assert (parse);
GST_BUFFER_FLAG_SET (buf3, GST_BUFFER_FLAG_IN_CAPS);
/* put buffers in a fixed list */
- g_value_init (&list, GST_TYPE_ARRAY);
+ g_value_init (&array, GST_TYPE_ARRAY);
g_value_init (&value, GST_TYPE_BUFFER);
g_value_set_boxed (&value, buf1);
- gst_value_list_append_value (&list, &value);
+ gst_value_array_append_value (&array, &value);
g_value_unset (&value);
g_value_init (&value, GST_TYPE_BUFFER);
g_value_set_boxed (&value, buf2);
- gst_value_list_append_value (&list, &value);
+ gst_value_array_append_value (&array, &value);
g_value_unset (&value);
g_value_init (&value, GST_TYPE_BUFFER);
g_value_set_boxed (&value, buf3);
- gst_value_list_append_value (&list, &value);
- gst_structure_set_value (structure, "streamheader", &list);
+ gst_value_array_append_value (&array, &value);
+ gst_structure_set_value (structure, "streamheader", &array);
g_value_unset (&value);
- g_value_unset (&list);
+ g_value_unset (&array);
}
static GstFlowReturn