mpegtsmux: Fix memory leak when using prepare_func
prepare_func will allocate a new buffer to replace the original one. Instead of using gst_buffer_replace (which causes an extra refcount increment on the new buffer), we just unref the original buffer. https://bugzilla.gnome.org/show_bug.cgi?id=699786
This commit is contained in:
parent
0511a6b032
commit
4d4fd09a3a
@ -1018,9 +1018,9 @@ mpegtsmux_clip_inc_running_time (GstCollectPads * pads,
|
|||||||
if (pad_data->prepare_func) {
|
if (pad_data->prepare_func) {
|
||||||
MpegTsMux *mux = (MpegTsMux *) user_data;
|
MpegTsMux *mux = (MpegTsMux *) user_data;
|
||||||
|
|
||||||
buf = pad_data->prepare_func (buf, pad_data, mux);
|
*outbuf = pad_data->prepare_func (buf, pad_data, mux);
|
||||||
if (buf)
|
g_assert (*outbuf);
|
||||||
gst_buffer_replace (outbuf, buf);
|
gst_buffer_unref (buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
return GST_FLOW_OK;
|
return GST_FLOW_OK;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user