summaryrefslogtreecommitdiffstats
path: root/gst/asfmux/gstasfmux.c
diff options
context:
space:
mode:
authorDave Robillard <dave@drobilla.net>2009-08-15 17:26:39 -0400
committerDave Robillard <dave@drobilla.net>2009-08-15 17:26:39 -0400
commit9a9917e89144923a79acaf8745ba7b958feda2a4 (patch)
tree46b8383d03acd11adb6d085abd32b44e5913da63 /gst/asfmux/gstasfmux.c
parente46ff7bda0f7996b456476dccb4a822688a690fb (diff)
parent2aa6fa29edf380a40c962a85aad3501950c71492 (diff)
downloadgst-plugins-bad-9a9917e89144923a79acaf8745ba7b958feda2a4.tar.gz
gst-plugins-bad-9a9917e89144923a79acaf8745ba7b958feda2a4.tar.bz2
gst-plugins-bad-9a9917e89144923a79acaf8745ba7b958feda2a4.zip
Merge branch 'master' of git://anongit.freedesktop.org/gstreamer/gst-plugins-bad into fdo
Diffstat (limited to 'gst/asfmux/gstasfmux.c')
-rw-r--r--gst/asfmux/gstasfmux.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gst/asfmux/gstasfmux.c b/gst/asfmux/gstasfmux.c
index 83f52701..7f17169f 100644
--- a/gst/asfmux/gstasfmux.c
+++ b/gst/asfmux/gstasfmux.c
@@ -1604,7 +1604,7 @@ gst_asf_mux_write_indexes (GstAsfMux * asfmux)
/* write simple indexes for video medias */
ordered_pads =
- g_slist_sort (asfmux->collect->data,
+ g_slist_sort (g_slist_copy (asfmux->collect->data),
(GCompareFunc) stream_number_compare);
for (walker = ordered_pads; walker; walker = g_slist_next (walker)) {
GstAsfPad *pad = (GstAsfPad *) walker->data;
@@ -1613,10 +1613,12 @@ gst_asf_mux_write_indexes (GstAsfMux * asfmux)
if (ret != GST_FLOW_OK) {
GST_ERROR_OBJECT (asfmux, "Failed to write simple index for stream %"
G_GUINT16_FORMAT, (guint16) pad->stream_number);
- return ret;
+ goto cleanup_and_return;
}
}
}
+cleanup_and_return:
+ g_slist_free (ordered_pads);
return ret;
}