gstreamer/ext/hls
Alex Ashley 58072914fa hlsdemux: fix memory leak in gst_hls_demux_get_next_fragment
This patch fixes three memory leaks in hlsdemux, one that occurs
during normal operation and two that occur during error conditions.

The gst_hls_demux_get_next_fragment function calls
gst_fragment_get_buffer which increments the reference count
on the buffer but gst_hls_demux_get_next_fragment never calls unref on
the buffer. This means that the reference count for each downloaded
fragment never gets to zero and so its memory is never released.

This patch adds a call to gst_buffer_unref after the flags have been
updated on the buffer.

There is a leak-on-error in gst_hls_demux_decrypt_fragment if it fails
to download the key file. If the key fails to download, null is
returned without doing an unref on the encrypted fragment. The
semantics of gst_hls_demux_decrypt_fragment is that it takes ownership
of the encrypted fragment and releases it before returning.

There is a leak-on-error in gst_hls_src_buf_to_utf8_playlist in the
unlikely event that the gst_buffer_map fails. In the "happy path"
operation of gst_hls_src_buf_to_utf8_playlist the buffer gets an unref
before the function returns, therefore the error condition must do the
same.

https://bugzilla.gnome.org/show_bug.cgi?id=710881
2013-10-25 23:12:25 -03:00
..
gstfragmented.h Make the hls plugin depend on gnutls and move to ext/hls/ 2013-03-19 10:54:18 +01:00
gstfragmentedplugin.c Make the hls plugin depend on gnutls and move to ext/hls/ 2013-03-19 10:54:18 +01:00
gsthlsdemux.c hlsdemux: fix memory leak in gst_hls_demux_get_next_fragment 2013-10-25 23:12:25 -03:00
gsthlsdemux.h hlsdemux: Add support for group-id in the stream-start event 2013-07-23 10:33:31 +02:00
gsthlssink.c Make the hls plugin depend on gnutls and move to ext/hls/ 2013-03-19 10:54:18 +01:00
gsthlssink.h Make the hls plugin depend on gnutls and move to ext/hls/ 2013-03-19 10:54:18 +01:00
gstm3u8playlist.c hlssink: Use floats for the EXTINF duration values 2013-09-28 13:20:08 +02:00
gstm3u8playlist.h Make the hls plugin depend on gnutls and move to ext/hls/ 2013-03-19 10:54:18 +01:00
m3u8.c Make the hls plugin depend on gnutls and move to ext/hls/ 2013-03-19 10:54:18 +01:00
m3u8.h Make the hls plugin depend on gnutls and move to ext/hls/ 2013-03-19 10:54:18 +01:00
Makefile.am hls: fix for assert failure when using encrypted HLS streams 2013-07-22 14:55:17 +01:00