diff options
Diffstat (limited to 'gst')
-rw-r--r-- | gst/asfmux/gstasfmux.c | 6 | ||||
-rw-r--r-- | gst/asfmux/gstasfmux.h | 3 |
2 files changed, 4 insertions, 5 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; } diff --git a/gst/asfmux/gstasfmux.h b/gst/asfmux/gstasfmux.h index 2b71fa36..4e13b36a 100644 --- a/gst/asfmux/gstasfmux.h +++ b/gst/asfmux/gstasfmux.h @@ -139,9 +139,6 @@ struct _GstAsfMux /* pads */ GstPad *srcpad; - /* sinkpads, video first */ - GSList *sinkpads; - GstCollectPads *collect; GstPadEventFunction collect_event; }; |