mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-02 20:42:30 +00:00
hlssink: don't leak old playlist entries when using max-files
Based on patch by: Victor Gottardi <vgottardi@hotmail.com> https://bugzilla.gnome.org/show_bug.cgi?id=689822
This commit is contained in:
parent
1e9aaee3ec
commit
c313b7e212
2 changed files with 3 additions and 6 deletions
|
@ -116,13 +116,12 @@ gst_m3u8_playlist_free (GstM3U8Playlist * playlist)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
GList *
|
gboolean
|
||||||
gst_m3u8_playlist_add_entry (GstM3U8Playlist * playlist,
|
gst_m3u8_playlist_add_entry (GstM3U8Playlist * playlist,
|
||||||
const gchar * url, GFile * file, const gchar * title,
|
const gchar * url, GFile * file, const gchar * title,
|
||||||
gfloat duration, guint index, gboolean discontinuous)
|
gfloat duration, guint index, gboolean discontinuous)
|
||||||
{
|
{
|
||||||
GstM3U8Entry *entry;
|
GstM3U8Entry *entry;
|
||||||
GList *old_files = NULL;
|
|
||||||
|
|
||||||
g_return_val_if_fail (playlist != NULL, FALSE);
|
g_return_val_if_fail (playlist != NULL, FALSE);
|
||||||
g_return_val_if_fail (url != NULL, FALSE);
|
g_return_val_if_fail (url != NULL, FALSE);
|
||||||
|
@ -139,8 +138,6 @@ gst_m3u8_playlist_add_entry (GstM3U8Playlist * playlist,
|
||||||
GstM3U8Entry *old_entry;
|
GstM3U8Entry *old_entry;
|
||||||
|
|
||||||
old_entry = g_queue_pop_head (playlist->entries);
|
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);
|
gst_m3u8_entry_free (old_entry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -148,7 +145,7 @@ gst_m3u8_playlist_add_entry (GstM3U8Playlist * playlist,
|
||||||
playlist->sequence_number = index + 1;
|
playlist->sequence_number = index + 1;
|
||||||
g_queue_push_tail (playlist->entries, entry);
|
g_queue_push_tail (playlist->entries, entry);
|
||||||
|
|
||||||
return old_files;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static guint
|
static guint
|
||||||
|
|
|
@ -59,7 +59,7 @@ GstM3U8Playlist * gst_m3u8_playlist_new (guint version,
|
||||||
guint window_size,
|
guint window_size,
|
||||||
gboolean allow_cache);
|
gboolean allow_cache);
|
||||||
void gst_m3u8_playlist_free (GstM3U8Playlist * playlist);
|
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,
|
const gchar * url,
|
||||||
GFile * file,
|
GFile * file,
|
||||||
const gchar *title,
|
const gchar *title,
|
||||||
|
|
Loading…
Reference in a new issue