Commit graph

3250 commits

Author SHA1 Message Date
Stefan Kost
7b6e594b69 equalizer: fix filter history usage. Fixes #597397
The process functions where overwriting the history for each channel. Also pull
some static things out of the inner loop.
2009-10-05 23:04:39 +03:00
Wim Taymans
0040d01265 rtpbin: use locking around the sessions 2009-10-05 16:07:24 +02:00
Tim-Philipp Müller
45ff905771 qtdemux: make sure compatible brands buffer exists before dereferencing it 2009-10-05 11:46:08 +01:00
Robert Swain
c7b5df91a9 qtdemux: fix printf warnings on OSX
Cast variables passed to printf to avoid warnings about incorrect
formats (most likely caused by sizeof returning a size_t).

Fixes #597348.
2009-10-05 00:35:15 +01:00
Tim-Philipp Müller
4590daf202 qtdemux: remove internal genre table
No need to maintain our own genre table in qtdemux. The genres are
identical to the ID3 genres, so we can just use libgsttag's
gst_tag_id3_genre_get() to look them up.
2009-10-05 00:26:44 +01:00
Robert Swain
c45c304a7e Fix printf formats to avoid warnings in avidemux. Fixes #597214
https://bugzilla.gnome.org/show_bug.cgi?id=597214
2009-10-03 17:25:19 +02:00
Sebastian Dröge
650292706d matroskademux: Change one GST_WARNING to a GST_DEBUG 2009-10-03 12:21:34 +02:00
Sebastian Dröge
48b784e715 flvdemux: If there's no audio stream after 6 seconds of video signal no-more-pads
...and the other way around. Also ignore any audio/video streams that appear
after no-more-pads.

Fixes bug #597091.
2009-10-03 12:21:34 +02:00
Sebastian Dröge
f84bc538b5 flvdemux: Make sure to only signal no-more-pads a single time 2009-10-03 12:21:34 +02:00
Stefan Kost
d1d126b5b4 rtp: add missing include to fix the build 2009-10-02 18:25:16 +03:00
Stefan Kost
da05a85455 videofilter: add G_OBJECT_WARN_INVALID_PROPERTY_ID to property setter 2009-10-02 13:44:41 +03:00
Stefan Kost
948d5168ce level: don't give wrong number of fields in the message docs 2009-10-02 13:44:41 +03:00
Wim Taymans
8fb77403c5 jitterbuffer: cache latency in nanoseconds
Cache the latency in nanoseconds units to avoid having to convert the
milliseconds value to nanoseconds all the time.
2009-10-01 12:52:40 +02:00
Wim Taymans
c262735164 jitterbuffer: handle -1 input timestamps
Don't try to check a -1 timestamp against the max delay.
2009-10-01 12:12:09 +02:00
Stefan Kost
458cd4dcdc avi: don't misues perf-category and remove unused ext category
The performance category is meant to be used to audit codepaths that lead to bad
performance (e.g. copies, conversion that can be avoided).
Remove the event category which is not used.
2009-10-01 10:57:42 +03:00
Olivier Crête
00db9a585b rtpg729pay/depay: Demote per-buffer debug messages to log level 2009-09-30 20:36:05 -04:00
Olivier Crête
165516f0ef rtpg729pay: Don't leak incoming buffers after subbuffering them 2009-09-30 20:36:05 -04:00
Olivier Crête
680c97a7ca rtpg729pay/depay: Add debug categories 2009-09-30 20:36:05 -04:00
Olivier Crête
1ba7693f7a rtpg729pay: Remove long unneeded define replacement 2009-09-30 20:36:05 -04:00
Wim Taymans
3f263edbbf avi: small cleanups 2009-09-28 22:18:25 +02:00
Wim Taymans
217315c20b avi: fix timestamping in some audio streams
For vbr audio streams we need to use the number of blocks to calculate the
timestamps.
When the allocation of additional index memory fails, don't throw away what
we had before.
Various cleanups.
2009-09-28 22:17:02 +02:00
Wim Taymans
7b9b8343ba avi: add support for ODML indexes again 2009-09-28 22:17:00 +02:00
Wim Taymans
ceb7d66e25 avi: implement index scanning
Implement scanning of the file when we can parse the index.
Some refactoring of common code.
Cleanups and comments.
Remove some reimplemented code.
Remove index massage code and put a FIXME where we should do something
equivalent later.
2009-09-28 22:16:57 +02:00
Wim Taymans
8aa3830852 avi: fix reverse playback 2009-09-28 22:16:55 +02:00
Wim Taymans
3338f91cfe avi: fix prev keyframe search and cleanups 2009-09-28 22:16:53 +02:00
Wim Taymans
1b325945e5 avi: remove code that got converted 2009-09-28 22:16:50 +02:00
Wim Taymans
c199b1d039 avi: more cleanups
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.
2009-09-28 22:16:48 +02:00
Wim Taymans
0d70fe30a8 avidemux: small cleanups 2009-09-28 22:16:46 +02:00
Wim Taymans
b4a490655a avi: fix read offset and cleanups 2009-09-28 22:16:43 +02:00
Wim Taymans
9c37611dfa avi: rewrite index playback
disable code, start on reimplementing loop based operation.
Rewrite the index handling so that all streams use their own index for decoding
media.
2009-09-28 22:16:41 +02:00
Wim Taymans
89bcbbbe7c avidemux: add new index parsing code
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.
2009-09-28 22:16:38 +02:00
Mark Nauwelaerts
0fac7b5347 qtdemux: some optional QT specified stsd MPEG-4 atoms also apply to H264
Fixes #596319.
2009-09-25 19:23:15 +02:00
Mark Nauwelaerts
e21d16a4f8 qtdemux: only send tag events downstream after newsegment 2009-09-25 16:47:42 +02:00
Mark Nauwelaerts
50d5c8dce5 rtspsrc: if transport protocol unsupported, try another one
Also change error message to more accurately reflect cases in which
it can occur.
2009-09-25 16:47:39 +02:00
Wim Taymans
03f46a42e5 qtdemux: add durations modulo 1<<32
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
2009-09-25 11:54:06 +02:00
Wim Taymans
4e114a2b24 qtdemux: small cleanup 2009-09-24 20:38:54 +02:00
Tim-Philipp Müller
01e00ba1cd qtdemux: don't use core API that doesn't exist yet
There's no gst_byte_reader_has_remaining() yet. Fixes build.
2009-09-24 19:33:39 +01:00
Tim-Philipp Müller
fab4113c24 qtdemux: map some atomparser functions to their new bytereader equivalents
Now that GstByteReader has unchecked and inlined variants as well, map
atomparser functions to their respective bytereader equivalents.
2009-09-24 16:34:08 +01:00
Tim-Philipp Müller
0f197776e1 qtdemux: add qt_atom_parser_has_chunks() and fix indentation 2009-09-24 16:32:02 +01:00
Tim-Philipp Müller
f65e6ea3a1 qtdemux: bail out instead of trying to alloc silly index sizes
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.
2009-09-24 16:29:26 +01:00
Tim-Philipp Müller
abaf91e428 qtdemux: error out correctly if we don't even have enough bytes for an atom header 2009-09-24 16:29:25 +01:00
Tim-Philipp Müller
25db7df49b qtdemux: init fourcc to 0 as well to avoid invalid reads when printf'ing error message 2009-09-24 16:29:25 +01:00
Tim-Philipp Müller
9da3ed6491 qtdemux: add qt_atom_parse_has_remaining() to avoid overflows with _get_remaining() 2009-09-24 16:28:40 +01:00
Tim-Philipp Müller
a16feec38e qtdemux: use GstByteReader when parsing tkhd atom 2009-09-23 16:54:43 +01:00
Tim-Philipp Müller
6b7f4f5e23 qtdemux: use unsigned ints for node length and do more sanity checking of the atom length 2009-09-23 16:54:43 +01:00
Tim-Philipp Müller
3abeb1e578 qtdemux: use GstByteReader for atom dumping and fix a few bugs 2009-09-23 16:54:42 +01:00
Tim-Philipp Müller
c8c9b0f35d qtdemux: move stco, stts, stss and stps atom parsing over to GstByteReader
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.
2009-09-23 16:54:42 +01:00
Tim-Philipp Müller
4be46b1586 qtdemux: use bytereader to parse stsz and stsc atoms
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.
2009-09-23 16:54:42 +01:00
Tim-Philipp Müller
5875e2016a qtdemux: add qt_atom_parser_get_offset() and optimise _peek_sub() 2009-09-23 16:54:42 +01:00
Tim-Philipp Müller
410ebb7eb3 qtdemux: add QtAtomParser, an inlined GstByteReader variant 2009-09-23 16:54:41 +01:00