Before the signal handler would get the ghostpad passed as second
argument but it could've already been unreffed and destroyed.
This would then lead to crashes and all that.
Now we get the ghostpad from the proxy pad, which we get from the
target pad as it's peer.
Fixes bug #591318.
This tests 100000 random multiplications/divisions of all scaling
function variants and compares the result with the result that is
generated by GMP on the same input.
For this check for GSL and GMP during configure but only use
it for this single unit test.
Testing functions were provided by Kipp Cannon <kcannon@ligo.caltech.edu>
The new functions are
gst_util_uint64_scale_int_round()
gst_util_uint64_scale_int_ceil()
gst_util_uint64_scale_round()
gst_util_uint64_scale_ceil()
Fixes bug #590919.
Before it returned that [start,stop] is inside the segment and that the
difference between segment_start and start needs to be clipped. If the
clipping is done on a buffer (like in baseaudiosink) this will result
in the data pointer being at a invalid memory position.
Fixes bug #589849.
This fixes many unit tests under valgrind that shows
leaking GstTasks that are not really leaked but just
not unreffed by the task thread before the unit test
stopped.
Fixes bug #591045.
For some people the build of libgstcheck was broken because the make
target that creates the internal-check.h file wasn't executed for
some reason. This should hopefully fix this.
Check for metadata writability when setting caps on buffer or when copying
metadata flags. Only enable these extra assertions in git versions.
This should help us find bad elements.
Often we don't need the result of the intersection. Add a variant that only
tries to intersect. It can break out earlier and does less GValue copying.
API: gst_caps_can_intersect()
If downstream returns error and upstream has already delivered
everything (including EOS) and will no longer be around to find
out that we paused (and why), post error message. Fixes#589991.
Make a downstream element return an error after upstream has already
put all data into queue (including EOS). As such, upstream
will not be around to pick up the error, so it is up to queue to
act appropriately. See #589991.
Note there may be downstream fatal errors (e.g. negotiation) that do
not warrant an error message already having been posted.