* Update outgoing segment.base with accumulated time, ensuring all
streams are synchronized.
* Only consider streams as "new" is they have a STREAM_START event
with a different seqnum.
* Use GstStream segment.base instead of separate variable to store
the past running time.
* Disable passthrough
* Switch to glib 2.32 GMutex/GCond
* Avoid getting pad parent the expensive way
* Minor other fixes
Sometimes the decoder would use the allocator for something else than just
allocating output buffers, for example, querying different parameters.
This patch expose a getter accessor for the negotiated memory allocator.
Sometimes the encoder would use the allocator for something else than just
allocating output buffers, for example, querying different parameters.
This patch expose a getter accessor for the negotiated memory allocator.
Sometimes the encoder would need to use the allocator for something else than
just allocating output buffers, for example, querying different parameters.
This patch expose a getter accessor for the negotiated memory allocator.
Sometimes the decoder would need to use the pool or the allocator for
something else than just allocating output buffers. For example, the querying
for different parameters, such as asking for a bigger number of buffers to
allocate in the pool.
This patch expose a two getters accessors: one for the buffer pool and the
other for the memory allocator.
Add support for GstVideoMeta and GstVideoFrame.
Remove some redundant fields that are also in GstVideoInfo
Disable the shader code, it looks broken.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681719
We don't really care about what's inside those channels. This also makes the
caps valid because now it's no longer possible to have channels=1 and a mask
of 0x3.
Align the allocated memory to 16 bytes. When doing XSHM we are already aligned
to a page boundary but without, we use plain g_malloc, which could allocate
aligned on 8 bytes only.
See https://bugzilla.gnome.org/show_bug.cgi?id=680796
Don't ever block when acquiring a buffer from the bufferpool in the fallback
mode. If we block, we might deadlock when going to PAUSED because we never
unlock when going to paused.
The acquire can block when there are no more buffers in the pool, this is a
sign that the pool is too small. Since we are the only ones using the pool in
the fallback case and because we scale the buffer, someone else must be using
our pool as well and is doing something bad.
Pick delta pad earlier during header parsing, and pick it based
on whether it's a video stream or not rather than some rather
byzantine signalling from theoraenc etc. which would set the delta
flag on header packets which oggmux would then pick up and determine
that this is a "delta-able" stream.
Since the new videodecoder-based theoraenc didn't do that any more,
we would only see the first delta flag on the second video packet,
which is after we've already muxed a few audio packets flagged as
key units, which trips up the unit test.
Fixes pipelines/oggmux unit test.
https://bugzilla.gnome.org/show_bug.cgi?id=679958
There won't be a tag messages on the bus, because tags
are now sent downstream for sinks to post on the bus,
and there's no sink involved here that would do that.
Secondly, the audio decoder base class only sends the
tags out once it has received some non-header data as
input, which is not something we're providing here.