Previously seekability way always assumed until the first seek actually
failed. Now we assume that all servers are not seekable unless they provide
a Content-Length header. If a seek fails after that we continue to
assume no seekability. Fixes bug #585576.
This produces a water ripple effect on the video input,
based on motion or a rain drop algorithm.
Kindly relicensed to LGPL2+ by Kentaro Fukuchi <fukuchi@megaui.net>.
Fixes bug #588695.
This combines the StreakTV and BaltanTV filters from the
effectv project.
Kindly relicensed to LGPL2+ by Kentaro Fukuchi <fukuchi@megaui.net>.
Fixes bug #588368.
This filter adds a radiation-like motion blur effect
to the video stream.
Kindly relicensed to LGPL2+ by Kentaro Fukuchi <fukuchi@megaui.net>.
Fixes bug #588359.
This filter binarizes input frames and combines them with various
optical pattern.
Kindly relicensed to LGPL2+ by Kentaro Fukuchi <fukuchi@megaui.net>.
Fixes bug #588349.
Emit stream-status messages for the pulse thread.
Don't use our own GCond for signaling but simply use the pulse mainloop
mechanisms for synchronisation.
See #587695
When blending a source layer with an alpha of 'a' on top of another
destination layer we take the sum of:
* 'a' percent of the source layer
* (100 - 'a') percent of the destination layer (the remainder)
Once buffering has started (with an mdat atom), continue buffering
until moov atom is reached, which handles cases with multiple
mdat atoms. Also keep adapter/offset better in sync with upstream
and fix some debug statements. Fixes#587426.
This reverts commit 5503a59a57.
Reverting this since it causes regressions with a lot of sample files
I have, all of which worked fine with the last -good release (#586891).
Whenever we alloc something based on a user-supplied size, we should
really use g_try_new(), otherwise we can easily be made to abort by
passing a ridiculously large number to us for allocing. Fixes
problems with some fuzzed files.
Check the possibly 64-bit atom size more carefully before casting it
to an int and passing it to gst_pad_pull_range(), otherwise we might
end up pulling 0 bytes, getting an empty buffer as requested and
dereferencing not available data whilst thinking we actually asked
for and got 0x1000000000000 bytes. Similar fix for push mode operation
where neededbytes ends up being 0 bytes, which makes us assert. Fixes
crash with broken or fuzzed file (NB #122378).