hlssink: don't leak old playlist entries when using max-files
authorTim-Philipp Müller <tim@centricular.net>
Sun, 6 Jan 2013 22:19:04 +0000 (22:19 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Sun, 6 Jan 2013 22:53:00 +0000 (22:53 +0000)
Based on patch by: Victor Gottardi <vgottardi@hotmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=689822

gst/hls/gstm3u8playlist.c
gst/hls/gstm3u8playlist.h

index 1f91920..e1838b7 100644 (file)
@@ -116,13 +116,12 @@ gst_m3u8_playlist_free (GstM3U8Playlist * playlist)
 }
 
 
-GList *
+gboolean
 gst_m3u8_playlist_add_entry (GstM3U8Playlist * playlist,
     const gchar * url, GFile * file, const gchar * title,
     gfloat duration, guint index, gboolean discontinuous)
 {
   GstM3U8Entry *entry;
-  GList *old_files = NULL;
 
   g_return_val_if_fail (playlist != NULL, FALSE);
   g_return_val_if_fail (url != NULL, FALSE);
@@ -139,8 +138,6 @@ gst_m3u8_playlist_add_entry (GstM3U8Playlist * playlist,
       GstM3U8Entry *old_entry;
 
       old_entry = g_queue_pop_head (playlist->entries);
-      g_object_ref (old_entry->file);
-      old_files = g_list_prepend (old_files, old_entry->file);
       gst_m3u8_entry_free (old_entry);
     }
   }
@@ -148,7 +145,7 @@ gst_m3u8_playlist_add_entry (GstM3U8Playlist * playlist,
   playlist->sequence_number = index + 1;
   g_queue_push_tail (playlist->entries, entry);
 
-  return old_files;
+  return TRUE;
 }
 
 static guint
index 1e733f5..bc81aed 100644 (file)
@@ -59,7 +59,7 @@ GstM3U8Playlist * gst_m3u8_playlist_new (guint version,
                                         guint window_size,
                                         gboolean allow_cache);
 void gst_m3u8_playlist_free (GstM3U8Playlist * playlist);
-GList * gst_m3u8_playlist_add_entry (GstM3U8Playlist * playlist,
+gboolean gst_m3u8_playlist_add_entry (GstM3U8Playlist * playlist,
                                     const gchar * url,
                                     GFile * file,
                                     const gchar *title,