| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Remove some duplicate counters.
Be smarter when updateing the current the timestamp and offset in the stream
because we can reuse previously calculated values when simply go forward one
step.
Correctly set metadata on outgoing buffers.
|
| |
|
| |
|
|
|
|
|
|
| |
disable code, start on reimplementing loop based operation.
Rewrite the index handling so that all streams use their own index for decoding
media.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new function and datastructure to parse and hold the index entries on a
per stream base. Also avoid doing too much work trying to figure out the
timestamps and durations as we can trivially do that later.
Less information in the entries makes them 2 times smaller and not doing too
much work makes this code about 12 times faster than the regular case.
Hook in the new function alongside the existing function for comparison until
the rest of the code is updated to handle the new index datastructure.
|
|
|
|
| |
Fixes #596319.
|
| |
|
|
|
|
|
| |
Also change error message to more accurately reflect cases in which
it can occur.
|
|
|
|
|
|
|
| |
For calculating the durations of each sample, we are supposed to add each
duration modulo 1<<32 so make the elapsed time counter a uint32.
Fixes #595942
|
| |
|
|
|
|
| |
There's no gst_byte_reader_has_remaining() yet. Fixes build.
|
|
|
|
|
| |
Now that GstByteReader has unchecked and inlined variants as well, map
atomparser functions to their respective bytereader equivalents.
|
| |
|
|
|
|
|
|
|
| |
If it looks like we would be allocating a silly size for our sample
index, just bail out instead of trying to allocate it. Helps with
broken or fuzzed files where we might end up trying to malloc a
couple of hundred MBs otherwise.
|
|
|
|
| |
header
|
|
|
|
| |
error message
|
|
|
|
| |
_get_remaining()
|
| |
|
|
|
|
| |
the atom length
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure we don't read beyond the atom boundary. Note that the code
behaves slightly differently in the corner case where there is not
enough atom data for the specified number of samples (n_samples_time)
in the atom, but still enough data to fill the pre-allocated index of
n_samples entries: before we would just stop parsing the stts data
and continue, whereas now we will likely error out. This should not
be a problem in practice though. We could maintain the old behaviour
by doing reads with a size check inside the loop if needed.
|
|
|
|
|
|
| |
Use GstByteReader to parse stsz and stsc chunks, and check size of
available data before parsing it, instead of blindly assuming there
will be enough data. Fixes crashes with some fuzzed/broken files.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
At the end, Dirac streams have an EOS packet with 0 length.
Don't ever sit in an infinite loop when processing one. Allows
muxing Dirac into mkv to complete successfully.
|
|
|
|
|
| |
Remove CFLAGS from LIBADD and make order of the various CFLAGS and
LIBS at least consistent with each other.
|
|
|
|
| |
Fixes bug #595897.
|
| |
|
|
|
|
|
| |
Measure the performance of various index and header parsing steps to the
PERFORMANCE debug category.
|
| |
|
|
|
|
| |
The adapter would be leaked if it was empty and the data could be pushed out directly.
|
|
|
|
|
|
|
|
| |
Add a property to allow control over what event causes a file
to finish being written and a new file start. The default is
the same as before -- each buffer causes a new file to be
written. Added is a case where buffers are written to the
same file until a discontinuity in the stream.
|
|
|
|
|
| |
This fixes playback of some files that don't have a valid data chunk length,
apparently some program creates these.
|
|
|
|
|
| |
Add a post-messages property and deprecate the less descriptive message
property.
|
|
|
|
|
| |
Use the post-messages property name instead of silent as it is more
descriptive.
|
|
|
|
|
|
|
|
|
| |
Add a silent property that can be set to FALSE to post messages on the bus for
each written file.
Do some more cleanups.
Add some docs.
Fixes #594663
|
|
|
|
|
|
| |
avoid leaks
Fixes bug #594691.
|
| |
|
|
|
|
|
|
|
| |
For this fix the averaging of the chroma values. It should't be (a/2 + b)/2
but just (a + b)/2.
Fixes bug #594599.
|
|
|
|
|
|
| |
So that multifdsink always start sending header buffer first
Fixes #594520
|
|
|
|
|
|
|
| |
Add a parameter 'ignore-pt' that disables creating a gstrtpptdemux module and
ghosts the pads of gstrtpjitterbuffer instead of the ones of gstrtpptdemux.
Fixes #594490
|
|
|
|
| |
fixes #594254
|
|
|
|
|
|
| |
Make log GST_DEBUG under normal circumstances, GST_WARNING otherwise.
Fixes #594253
|
|
|
|
|
|
|
|
|
|
|
| |
When we receive a reordered packet with the same timestamp as the previous one
(which can happen for fragmented packets) don't consider the packet as lost but
instead wait for the reordered packet to arrive.
Switch the warning-level, so that a reordering does not get a warning, only
an actual produced lost-packet.
Fixes #594251
|