Mark Nauwelaerts
7ceeb14834
avidemux: adjust flow return aggregation to updated loop_data
...
In particular, each stream is now treated separately, and one stream's
EOS should not lead to overall EOS.
2009-10-15 21:32:08 +02:00
Mark Nauwelaerts
354a062c89
qtdemux: check some more atom sizes prior to parsing
2009-10-15 17:06:41 +02:00
Wim Taymans
6725c91387
rtsp: handle events in TCP mode
...
We need to handle events in TCP mode so that we can reply to the LATENCY event
with TRUE.
2009-10-15 13:20:26 +02:00
Mark Nauwelaerts
f071ff6993
avidemux: add missing argument in debug message
2009-10-15 11:26:09 +02:00
Wim Taymans
88884cfddb
rtspsrc: forward events into the rtpbin
...
Only catch the SEEK event on the srcpad and let other events enter the rtpbin.
2009-10-14 17:01:51 +02:00
Thiago Santos
959a3f9c95
matroskademux: Fix late tags finding
...
Use the correct taglist variable when notifying of late tags.
2009-10-14 11:33:24 -03:00
Mark Nauwelaerts
0141934eec
avidemux: use GstIndex for (limited) seeking in push mode
...
... but disable this for now. Although it basically works fine,
user experience might be shaky (depending on taste), since there
is no keyframe info in push mode.
2009-10-14 13:15:09 +02:00
Mark Nauwelaerts
35dc28d69a
avidemux: add GstIndex support
2009-10-14 13:15:06 +02:00
Mark Nauwelaerts
92dd51e511
avidemux: also determine duration in push mode
2009-10-14 13:15:04 +02:00
Mark Nauwelaerts
e967767b27
qtdemux: add GstIndex support
2009-10-14 13:15:02 +02:00
Håvard Graff
58b9de4cca
rtpptdemux: only forward the lost-event to the last seen pt-number
...
forward all events on all pads except for the PacketLost event, which we want to
forward to the last seen pt pad.
Fixes #598377
2009-10-14 12:28:55 +02:00
Wim Taymans
daa6d8f206
avidemux: demote some warnings to debug
2009-10-13 18:19:32 +02:00
Wim Taymans
9aa151a661
avi: add new avi flag we might want to use
2009-10-13 17:48:51 +02:00
Wim Taymans
df0335e65b
avimux: calculate suggested buffer size
...
Calculate the suggested buffer size based on the largest chunk in the file.
See #597847
2009-10-13 17:48:51 +02:00
Wim Taymans
b134ca31fa
avimux: add jpeg2000 to allowed caps
2009-10-13 17:48:51 +02:00
Wim Taymans
aea78a75ac
avidemux: add debug for the superindex offsets
2009-10-13 17:48:50 +02:00
Jan Schmidt
99f43dbb58
qtdemux: Fix uninitialized variable warning
...
Fix another bogus may-be-used-uninitialized warning in qtdemux
2009-10-13 16:03:13 +01:00
Wim Taymans
50110d022d
avi: lower max file size
...
Make a constant of the max file size and lower the value to what ffmpeg does,
hopefully improving compatibility with windows media player.
See #597847
2009-10-13 13:08:33 +02:00
Jan Schmidt
42b09362f6
qtdemux: Fix uninitialized variable warnings
...
The gcc on the OS/X buildbot complains about these variables not being
initialized, even though they can't possibly actually be used
uninitialized.
2009-10-13 00:12:42 +01:00
Mark Nauwelaerts
6f34e2b0db
qtdemux: also consider Quicktime text subtitles
2009-10-09 17:49:20 +02:00
Mark Nauwelaerts
955a719c1a
qtdemux: provide language tag for stream
2009-10-09 17:49:17 +02:00
Mark Nauwelaerts
1210a92ff6
qtdemux: refactor common parts in track parsing
2009-10-09 17:49:14 +02:00
Mark Nauwelaerts
5ed2c3e562
qtdemux: refactor buffer processing and sending
...
... so it can be used in both pull and push based mode.
2009-10-09 17:49:12 +02:00
Mark Nauwelaerts
674b0c4289
qtdemux: extract palette data for dvd subpicture streams
...
... and send it downstream using custom dvd event
2009-10-09 17:49:10 +02:00
Mark Nauwelaerts
b2d70862e8
qtdemux: support 3GPP timed text subtitles
...
In particular, also make subtitle support less subp(icture)-centric.
2009-10-09 17:49:06 +02:00
Mark Nauwelaerts
faaa32dccb
qtdemux: NULL is not a valid taglist
2009-10-09 17:49:04 +02:00
Mark Nauwelaerts
533106203c
qtdemux: recognize some more encypted track cases
2009-10-09 17:49:02 +02:00
Josep Torra
114dbba7ad
id3: fixes warnings building on macosx
...
Another round on the formating of that debug line.
2009-10-09 15:59:25 +02:00
Stefan Kost
53cb3e2716
id3: cast pointer math results to glong
2009-10-09 14:44:02 +03:00
Stefan Kost
f854836f5c
buikd: explicitely cast, to tell some compilers that this is not long int
2009-10-09 14:21:09 +03:00
Stefan Kost
f41d7e7bd5
build: don't cast, but use the right format specified instead
...
This correct some of the previous macos fixes.
2009-10-09 13:54:24 +03:00
Josep Torra
863233abf5
rtpvrawpay: fix warning on macosx
2009-10-09 12:01:10 +02:00
Josep Torra
a1fbe64317
rtph263pay: fix warning on macosx
2009-10-09 11:57:59 +02:00
Josep Torra
c3d3eb6c3b
qtdemux: fix warnings building on macosx
2009-10-09 11:54:03 +02:00
Josep Torra
093546ba74
id3demux: fix printf warnings on macosx
2009-10-09 11:43:45 +02:00
Josep Torra
28ccc40bab
avidemux: fix warning in macosx making the format portable
2009-10-09 11:43:44 +02:00
Josep Torra
00aa3421e0
audiofx: use G_GUINT64_FORMAT to fix warnings on OSX
2009-10-09 11:43:44 +02:00
René Stadler
c40cb18762
matroskademux: fix strstr() usage on possibly unterminated string
2009-10-08 23:31:07 +03:00
Jan Schmidt
cdb0b68e21
avi/wav: Fix some compiler warnings about incompatible pointers.
2009-10-08 10:20:09 +01:00
Jan Schmidt
db6af4bd57
multifile: Fix plugin description
2009-10-07 23:42:48 +01:00
Stefan Kost
e0cdd879b4
build: fprintf, sprintf, sscanf need stdio.h
2009-10-07 14:03:20 +03:00
Stefan Kost
27ea0b076a
equalizer: use shelfing filters for first and last band
...
Refactor the filter setup. Add two new filters with shelf characteristics for
first and last band. Change gain calculation as recommended in the quoted
document (no qrt needed). Rename variables to match the formulas in the
document.
2009-10-07 00:35:27 +03:00
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
Mark Nauwelaerts
02581dd2a5
matroskademux: use proper order for no-more-pads and newsegment and tag sending
2009-09-23 17:24:22 +02:00
Mark Nauwelaerts
702df566c3
matroskademux: sprinkle a few branch prediction macros
2009-09-23 17:24:22 +02:00
Alessandro Decina
195883b30a
Fix compile warnings with gcc 4.0.1.
2009-09-22 15:04:36 +02:00
Jan Schmidt
600516be90
matroskamux: Don't get stuck in an infinite loop with Dirac
...
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.
2009-09-22 11:50:11 +01:00
Tim-Philipp Müller
0506545b04
videomixer: fix up Makefile some more
...
Remove CFLAGS from LIBADD and make order of the various CFLAGS and
LIBS at least consistent with each other.
2009-09-22 11:02:02 +01:00
Brian Cameron
341be447a6
videomixer: Add $(GST_PLUGINS_BASE_LIBS) to LDFLAGS for linking libgstvideo
...
Fixes bug #595897 .
2009-09-22 08:09:39 +02:00
Wim Taymans
10eb1a0ff4
avi: fix timestamps in push mode
2009-09-21 18:10:12 +02:00
Wim Taymans
2f26ee4285
avi: add some performance measurements
...
Measure the performance of various index and header parsing steps to the
PERFORMANCE debug category.
2009-09-21 12:32:51 +02:00