mpegtsbase: Close a buffer leak and simplify input_done
tsparse leaked input buffers quite badly:
GST_TRACERS=leaks GST_DEBUG=GST_TRACER:9 gst-launch-1.0 audiotestsrc num-buffers=3 ! avenc_aac ! mpegtsmux ! tsparse ! fakesink
The input_done
vfunc was passed the input buffer, which it had to
consume. For this reason, the base class takes a reference on the buffer
if and only if input_done
is not NULL.
Before 34af8ed6, input_done
was used in
tsparse
to pass on the input buffer on the src
pad. That commit
changed the code to packetize for that pad as well and removed the use
of input_done
.
Afterwards, 0d2e9085 set input_done
again in order to handle automatic alignment of the output buffers to
the input buffers. However, it ignored the provided buffer and did not
even unref it, causing a leak.
Since no code makes use of the buffer provided with input_done
, just
remove the argument in order to simplify things a bit.