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
if (pad_data->prepare_func) {
MpegTsMux *mux = (MpegTsMux *) user_data;
if (pad_data->prepare_func) {
MpegTsMux *mux = (MpegTsMux *) user_data;
- buf = pad_data->prepare_func (buf, pad_data, mux);
- if (buf)
- gst_buffer_replace (outbuf, buf);
+ *outbuf = pad_data->prepare_func (buf, pad_data, mux);
+ g_assert (*outbuf);
+ gst_buffer_unref (buf);