mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-02 20:42:30 +00:00
multifilesink: don't leak memory when no max-files limit is set
Technically we weren't leaking the memory, just storing it internally and never using it until the element is freed. But we'd still use more and more memory over time, so this is not good over longer periods of time. Only keep track of files if there's actually a limit set, so that we will prune the list from time to time. https://bugzilla.gnome.org/show_bug.cgi?id=766991
This commit is contained in:
parent
e6a251e9c0
commit
a10c1cc060
1 changed files with 8 additions and 2 deletions
|
@ -1098,8 +1098,14 @@ gst_multi_file_sink_open_next_file (GstMultiFileSink * multifilesink)
|
|||
}
|
||||
|
||||
GST_INFO_OBJECT (multifilesink, "opening file %s", filename);
|
||||
multifilesink->files = g_slist_append (multifilesink->files, filename);
|
||||
multifilesink->n_files += 1;
|
||||
|
||||
/* Only add file to the list if max_files > 0, otherwise this leaks memory */
|
||||
if (multifilesink->max_files) {
|
||||
multifilesink->files = g_slist_append (multifilesink->files, filename);
|
||||
multifilesink->n_files += 1;
|
||||
} else {
|
||||
g_free (filename);
|
||||
}
|
||||
|
||||
multifilesink->cur_file_size = 0;
|
||||
return TRUE;
|
||||
|
|
Loading…
Reference in a new issue