Robert Swain
29c33806c1
qtdemux: Parse from the previously parsed sample up to sample n
2009-11-23 16:29:14 +01:00
Robert Swain
52b1040219
qtdemux: Make qtdemux_parse_samples () parse up to n samples
2009-11-23 16:29:14 +01:00
Robert Swain
1f7b878d89
qtdemux: Separate off stbl sub-atom initialisation
2009-11-23 16:29:14 +01:00
Robert Swain
6a6d2c4970
qtdemux: Move variables into context in preparation for refactorisation
2009-11-23 16:29:14 +01:00
Robert Swain
ab61fb22f6
qtdemux: Fix bug where stps is never parsed due to logic error
2009-11-23 16:29:14 +01:00
Robert Swain
a1e2047472
qtdemux: Port ctts from Gnode * to GstByteReader
2009-11-23 16:29:14 +01:00
Robert Swain
9e49197208
qtdemux: Switch from QtAtomParser to GstByteReader
2009-11-23 16:29:14 +01:00
Wim Taymans
5d41590601
qtdemux: fix typo and grammar
2009-11-23 12:53:50 +01:00
Tim-Philipp Müller
5908c40405
deinterlace: fix typo in mode enum description
2009-11-20 10:30:00 +00:00
Stefan Kost
9ee0815e85
docs: more links and better short description
...
Fix spelling of GstRtpSsrcDemux to get it linked. Add more links. Change
the short description to be more meaningful.
2009-11-20 11:25:49 +02:00
Thiago Santos
e35085e5b5
qtdemux: Add more fields to SVQ3 caps
...
qtdemux only added the whole stsd atom as 'codec_data'
in its output caps for SVQ3. This patch makes it add
the SEQH (inside a SMI atom) and a gamma field (taken
from the gama atom) if available.
Fixes #587922
2009-11-18 16:41:50 -03:00
Edward Hervey
f2f75d7fd9
wavenc: Raise rank of muxer to PRIMARY
2009-11-18 17:55:42 +01:00
Edward Hervey
8a1e0c53ae
y4m: Raise rank of encoder to PRIMARY
2009-11-18 17:54:36 +01:00
Edward Hervey
a5dd867d6f
law: Raise rank of encoders to PRIMARY
2009-11-18 17:54:35 +01:00
Bastien Nocera
efc611e420
Add user-id and user-pw properties
...
So that one doesn't need to modify the URL to have access
to authenticated RTSP streams.
fixes #601728
2009-11-18 17:27:19 +01:00
Mark Nauwelaerts
bf5f3a3964
qtdemux: fix bogus memory chunk size check
2009-11-18 12:54:48 +01:00
Wim Taymans
f52859432f
jitterbuffer: release lock before emiting signals
...
Release the jbuf lock before emiting the request-pt-map signal to avoid
deadlocks. We also need to catch the shutdown case when locking again.
Fixes #593354
2009-11-18 10:50:44 +01:00
Wim Taymans
8c3b03de26
rtp: add BroadcomVoice depayloader
2009-11-18 10:50:43 +01:00
Wim Taymans
039d225a78
rtpbvpay: add rfc reference
2009-11-18 10:50:43 +01:00
Wim Taymans
02476fb5a3
rtp: add BroadcomVoice payloader
2009-11-18 10:50:43 +01:00
Jan Urbański
dd82612340
flvmux: properly finish the ECMA array
...
The ECMA array with the file index was missing a mandatory end marker.
Fixes bug #601242 .
2009-11-18 08:03:43 +01:00
Jan Schmidt
baa79ffecb
Use new still-frame API from gst-plugins-base
2009-11-18 03:09:06 +00:00
Michael Smith
fe9415544e
qtdemux: identify IMA adpcm in qt properly.
2009-11-17 17:59:13 -08:00
Tim-Philipp Müller
4b1566d7f3
equalizer: printf format fix
2009-11-05 23:40:15 +00:00
Thiago Santos
feed8c2af3
avimux: do not write empty INFO list
...
avoid writing an empty INFO list chunk, both because
it is useless and because vlc refuses to play the
resulting file.
2009-11-05 12:31:56 -03:00
Sebastian Dröge
fb682d0444
equalizer: Notify about band property changes caused by changing number of bands
2009-11-05 10:54:12 +01:00
Sebastian Dröge
64e00f172c
equalizer: Make changes to band properties and the number of bands threadsafe
2009-11-05 10:45:59 +01:00
Sebastian Dröge
025e26f73a
equalizer: Fix stupid off by two bug
2009-11-05 10:30:46 +01:00
Sebastian Dröge
9405a328b1
equalizer: Add band property to select the band filter type
...
This allows per band configuration of a peak, low shelf or
high shelf filter, which can be very useful if the band frequencies
and widths are manually configured.
2009-11-05 08:21:33 +01:00
Sebastian Dröge
0525abd4af
equalizer: Fix code style
2009-11-05 08:21:33 +01:00
Sebastian Dröge
e1acc8f4da
equalizer: Some cleanup
2009-11-05 08:21:33 +01:00
Gabriel Millaire
773f142483
celtpay/depay : change GST_DEBUG_OBJECT to GST_LOG_OBJECT in pay_handle_buffer and depay_process
2009-11-04 12:02:50 -05:00
Gabriel Millaire
ac90398092
celtpay/depay: Negotiate parameters through caps
...
celtdepay : added default framesize(480) channels(1) and clockrate(32000)
depay_setcaps : now gets channels and framesize from string with default value
depay_process : now adds timestamp to outbuf
Added frame_size to GstRtpCeltDepay
Changed some GST_DEBUG to GST_DEBUG_OBJECT or GST_LOG_OBJECT
celtpay : getcaps : gets channel and framesize and sets caps
Added frame-size to static caps for audio/x-celt
2009-11-04 12:02:50 -05:00
Jan Schmidt
1636bb0800
deinterlace: Pull in CFLAGS and LIBS flags from -base before core before system.
2009-11-04 15:59:49 +00:00
Edward Hervey
8df3e5c22b
qtdemux: init variables to make compiler on osx build bot happy
2009-11-04 16:47:42 +01:00
Tim-Philipp Müller
261454dd92
qtdemux: init variables to make compiler on osx build bot happy
2009-11-03 16:05:47 +00:00
Tim-Philipp Müller
65a1db99eb
deinterlace: remove pointless call to gst_element_no_more_pads()
2009-11-02 08:45:53 +00:00
Stefan Kost
03d2f4bdec
level: fix decay to be smooth
...
The length not having any fractional part as it was promoted to gdouble after
dividing two guint64.
2009-11-01 00:31:48 +02:00
Stefan Kost
71044b37b6
level: calculate the message-intervall when it changes
2009-11-01 00:31:48 +02:00
Stefan Kost
f5b3392fa6
level: clocktime is a guint64, use right macro to init fields
2009-11-01 00:31:48 +02:00
Stefan Kost
519e424494
level: use more g-style types
2009-11-01 00:31:48 +02:00
Wim Taymans
0c12f585e3
avidemux: use segment_full when we can
...
Use segment_full so that we can pass the applied rate to the segment values. We
will change the applied rate when we implement skip mode.
2009-10-27 18:07:18 +01:00
Robert Swain
0cbe0d6e98
wavenc: Fix buffer offset by moving length incrementation
2009-10-27 12:43:33 +01:00
Michael Smith
b0b54d9324
Add dependencies of gstriff to things that link to gstriff, needed on Win32.
2009-10-23 18:09:43 -07:00
Stefan Kost
e43eb89449
tests: add a jitterbuffer test
...
Tests pushing a few buffers in various order and asserting the order sent by the
jitterbuffer. Contains two disabled tests that need more work.
2009-10-22 13:35:57 +03:00
Sebastian Dröge
68176befa2
matroskamux: Dirac "muxing" units end on EOS too
...
A Dirac muxing unit are all non-picture, non-end-of-sequence
packets up to and including the first picture or eos packet.
See http://www.diracvideo.org/wiki/index.php/ContainerFormatMappingGuidelines
2009-10-22 12:32:32 +02:00
Tim-Philipp Müller
457ac565ba
avidemux: fix compilation with debugging disabled
...
total_idx is always evaluated.
2009-10-22 02:09:08 +01:00
Edward Hervey
683f2a02fb
avidemux: Stop scanning at the last entry... and not the one before :)
...
This ensures we actually push out everything
2009-10-20 18:23:28 +02:00
Andy Wingo
c917d65e6d
qtdemux: unpack more information into image/x-j2c caps
...
* gst/qtdemux/qtdemux_fourcc.h: Add new fourccs for use by the mj2
unpacker.
* gst/qtdemux/qtdemux.c (qtdemux_parse_trak): Unpack JPEG2000 component
mapping and channel definitions from the jp2h header. Will add
component-map and channel-definitions elements to the caps if the
component maps or channel definitions are nonstandard, where standard
order means RGB, 444 packed YUV, or greyscale, with no alpha channel.
Fixes #598915 .
2009-10-20 17:20:55 +02:00
Stefan Kost
217b54a8f6
level: code cleanup
...
Use gdouble instead of double. Calculate falloff_time once instead of twice.
2009-10-18 23:53:42 +03:00
Edward Hervey
024f1bae0c
avidemux: MEMDUMP the junk blobs
...
It will only actually pull the junk blobs from upstream if the memdump
level is activated
2009-10-18 16:16:43 +02:00
Edward Hervey
1f5ace4de1
avidemux: Some avi files have INFO lists in the headers.
2009-10-18 16:16:43 +02:00
Edward Hervey
6e849f84fc
avidemux: Don't seek on empty streams
2009-10-18 16:16:43 +02:00
Edward Hervey
a6ed612f42
avidemux: Ensure _calculate_durations_from_index only uses valid streams
2009-10-18 16:15:08 +02:00
Edward Hervey
1936d6ed26
avidemux: Only call convert function if we have strf.auds
2009-10-18 16:15:08 +02:00
Edward Hervey
af99a4a1de
avidemux: Use first indexed stream for seeking.
...
In the future, main_stream can be adjusted to contain the optimal stream
as mentionned in the FIXME line 3440
2009-10-18 16:15:05 +02:00
Edward Hervey
2110cbe556
avidemux: Only expose streams that actually have something in it.
...
This guarantees that in pull-mode, all streams have a valid index to
work with.
2009-10-18 16:14:40 +02:00
Edward Hervey
546aa4c4dd
avidemux: Properly mark presence of index.
...
Instead of blindly saying we have an index, only do so if we have a
non-empty index.
2009-10-18 15:40:37 +02:00
Mark Nauwelaerts
3d0659b813
debugutils: register pushfilesrc element
2009-10-16 18:19:20 +02:00
Mark Nauwelaerts
8f2beb5e51
avimux: support (some) VBR audio muxing
...
AVI format can handle VBR audio provided audio chunks are of fixed duration
(cfr fixed duration video frames). Apply this approach to (always) parsed
raw AAC and (if parsed) to MPEG-1/2 audio.
See #368681 .
2009-10-16 17:31:02 +02:00
Stefan Kost
6904e46ef2
build: use gst-glib-gen.mak to fix the glib build rules.
...
The build rules in glib-gen.mak were using pattern rules in a non save way.
2009-10-16 11:53:38 +03:00
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