A JPEG image inside an RTP stream has a preceeding RFC2435 header that
conveys width/height. The dimensions in this header are limited to be
multiples of 8. Since JPEG uses an MCU of 8x8 pixels any image must
already indirectly have image data dimensions that are rounded up in
order to contain enough data to render the image. Therefore this fix
safely rounds the image dimensions in the RFC2435 header up to the
closest multiple of 8.
Since unsigned types are used, a negative value would show as very, very
positive.
Fixes A/V sync on some... less than well made files where timestamps go
backwards.
We assume for now that all buffers in a buffer list
should end up in the same file (so we can group GOPs
in buffer lists, for example). Could optimise this
a bit to avoid the memcpy.
This also copies the caps. Otherwise we could end up pusing
the first buffer without any caps, which causes downstream
to not get notified about the caps.
Fixes bug #664892.
there is at least two use cases where default frame rate
should or may be disabled:
- vp8 stream with altref frame enabled. If default frame rate
is enabled, some players will missinterprete it (critical!)
- for webm container, to reduce micro overhead
- for stream with variable frame rate.
Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
Handle corner case where we try to read beyond the end of the
last file part, in which case we want to return a short read.
If we get fewer bytes than expected for any other file part,
we should just error out, since something fishy's going on
then.
Looks like some parsers (in some versions at least) expect the
offsets to be set, and behave weird if that's not the case
(e.g. off-by-one in h264parse).
PulseAudio 1.0 supports per-source-output volumes, and this exposes the
functionality via the GstStreamVolume interface.
When compiled against pre-1.0 PulseAudio, the interface is not
implemented, and the "volume" or "mute" properties are not available.
This bit of ugliness will go away when we can depend on PulseAudio 1.0
or greater.
https://bugzilla.gnome.org/show_bug.cgi?id=595055
Tests fail to build because g_mkdtemp is available from glib since
2.26.
This patch adds a condition around the redefinition of
g_mkdtemp on the tests to only build it if glib is older than
2.26.
Let's initialize them to zero. It looks alright, but then it
also looks alright with v3, or with the corresponding pixels
from the source. I don't know what the original intent would
be, and the original effectv source also has this bug/feature.
https://bugzilla.gnome.org/show_bug.cgi?id=661841