platform/upstream/gstreamer.git
15 years agoavidemux: add debug for the superindex offsets
Wim Taymans [Tue, 13 Oct 2009 15:41:13 +0000 (17:41 +0200)]
avidemux: add debug for the superindex offsets

15 years agoqtdemux: Fix uninitialized variable warning
Jan Schmidt [Tue, 13 Oct 2009 15:02:37 +0000 (16:02 +0100)]
qtdemux: Fix uninitialized variable warning

Fix another bogus may-be-used-uninitialized warning in qtdemux

15 years agoavi: lower max file size
Wim Taymans [Tue, 13 Oct 2009 11:08:33 +0000 (13:08 +0200)]
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

15 years agojpegdec: fix bogus warning about discont flag on first buffer
Tim-Philipp Müller [Tue, 13 Oct 2009 00:02:15 +0000 (01:02 +0100)]
jpegdec: fix bogus warning about discont flag on first buffer

The very first buffer should always have the DISCONT flag set, no
need to warn about that. Only warn if we get a DISCONT buffer in
non-packetised mode and we already have some data.

15 years agojpegdec: fix crash for unusual vertical chroma subsampling factors
Tim-Philipp Müller [Mon, 12 Oct 2009 23:41:57 +0000 (00:41 +0100)]
jpegdec: fix crash for unusual vertical chroma subsampling factors

Fixes #597351.

15 years agoqtdemux: Fix uninitialized variable warnings
Jan Schmidt [Mon, 12 Oct 2009 23:12:42 +0000 (00:12 +0100)]
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.

15 years agojpegdec: fixes warning building in snow leopard
Josep Torra [Fri, 9 Oct 2009 22:37:08 +0000 (00:37 +0200)]
jpegdec: fixes warning building in snow leopard

15 years agoqtdemux: also consider Quicktime text subtitles
Mark Nauwelaerts [Fri, 9 Oct 2009 15:12:46 +0000 (17:12 +0200)]
qtdemux: also consider Quicktime text subtitles

15 years agoqtdemux: provide language tag for stream
Mark Nauwelaerts [Fri, 9 Oct 2009 15:02:57 +0000 (17:02 +0200)]
qtdemux: provide language tag for stream

15 years agoqtdemux: refactor common parts in track parsing
Mark Nauwelaerts [Fri, 9 Oct 2009 14:30:57 +0000 (16:30 +0200)]
qtdemux: refactor common parts in track parsing

15 years agoqtdemux: refactor buffer processing and sending
Mark Nauwelaerts [Fri, 9 Oct 2009 14:21:03 +0000 (16:21 +0200)]
qtdemux: refactor buffer processing and sending

... so it can be used in both pull and push based mode.

15 years agoqtdemux: extract palette data for dvd subpicture streams
Mark Nauwelaerts [Thu, 8 Oct 2009 11:39:25 +0000 (13:39 +0200)]
qtdemux: extract palette data for dvd subpicture streams

... and send it downstream using custom dvd event

15 years agoqtdemux: support 3GPP timed text subtitles
Mark Nauwelaerts [Wed, 7 Oct 2009 12:03:17 +0000 (14:03 +0200)]
qtdemux: support 3GPP timed text subtitles

In particular, also make subtitle support less subp(icture)-centric.

15 years agoqtdemux: NULL is not a valid taglist
Mark Nauwelaerts [Wed, 7 Oct 2009 14:15:55 +0000 (16:15 +0200)]
qtdemux: NULL is not a valid taglist

15 years agoqtdemux: recognize some more encypted track cases
Mark Nauwelaerts [Wed, 23 Sep 2009 15:20:25 +0000 (17:20 +0200)]
qtdemux: recognize some more encypted track cases

15 years agoid3: fixes warnings building on macosx
Josep Torra [Fri, 9 Oct 2009 13:59:25 +0000 (15:59 +0200)]
id3: fixes warnings building on macosx

Another round on the formating of that debug line.

15 years agoid3: cast pointer math results to glong
Stefan Kost [Fri, 9 Oct 2009 11:44:02 +0000 (14:44 +0300)]
id3: cast pointer math results to glong

15 years agoflac: apparently on some platforms a FLAC__uint64!=guint64
Stefan Kost [Fri, 9 Oct 2009 11:37:32 +0000 (14:37 +0300)]
flac: apparently on some platforms a FLAC__uint64!=guint64

15 years agobuikd: explicitely cast, to tell some compilers that this is not long int
Stefan Kost [Fri, 9 Oct 2009 11:21:09 +0000 (14:21 +0300)]
buikd: explicitely cast, to tell some compilers that this is not long int

15 years agobuild: don't cast, but use the right format specified instead
Stefan Kost [Fri, 9 Oct 2009 10:38:17 +0000 (13:38 +0300)]
build: don't cast, but use the right format specified instead

This correct some of the previous macos fixes.

15 years agodv: fix warnings on macosx
Josep Torra [Fri, 9 Oct 2009 10:40:47 +0000 (12:40 +0200)]
dv: fix warnings on macosx

15 years agoflac: fix warnings on macosx
Josep Torra [Fri, 9 Oct 2009 10:25:19 +0000 (12:25 +0200)]
flac: fix warnings on macosx

15 years agoannodex: fix warnings in macosx
Josep Torra [Fri, 9 Oct 2009 10:19:35 +0000 (12:19 +0200)]
annodex: fix warnings in macosx

15 years agoosxvideo: fix a warning doing a cast
Josep Torra [Fri, 9 Oct 2009 10:14:22 +0000 (12:14 +0200)]
osxvideo: fix a warning doing a cast

15 years agoosxaudio: fix warnings on macosx
Josep Torra [Fri, 9 Oct 2009 10:11:12 +0000 (12:11 +0200)]
osxaudio: fix warnings on macosx

15 years agortpvrawpay: fix warning on macosx
Josep Torra [Fri, 9 Oct 2009 10:01:10 +0000 (12:01 +0200)]
rtpvrawpay: fix warning on macosx

15 years agortph263pay: fix warning on macosx
Josep Torra [Fri, 9 Oct 2009 09:57:59 +0000 (11:57 +0200)]
rtph263pay: fix warning on macosx

15 years agoqtdemux: fix warnings building on macosx
Josep Torra [Fri, 9 Oct 2009 09:54:03 +0000 (11:54 +0200)]
qtdemux: fix warnings building on macosx

15 years agoid3demux: fix printf warnings on macosx
Josep Torra [Fri, 9 Oct 2009 09:42:36 +0000 (11:42 +0200)]
id3demux: fix printf warnings on macosx

15 years agoavidemux: fix warning in macosx making the format portable
Josep Torra [Fri, 9 Oct 2009 09:30:00 +0000 (11:30 +0200)]
avidemux: fix warning in macosx making the format portable

15 years agoaudiofx: use G_GUINT64_FORMAT to fix warnings on OSX
Josep Torra [Fri, 9 Oct 2009 08:51:29 +0000 (10:51 +0200)]
audiofx: use G_GUINT64_FORMAT to fix warnings on OSX

15 years agoosxaudio: Fixes build on macosx snow leopard.
Josep Torra [Fri, 9 Oct 2009 08:11:38 +0000 (10:11 +0200)]
osxaudio: Fixes build on macosx snow leopard.

15 years agov4l2: Include sys/ioctl.h for the V4L ioctl requests
Pau Garcia i Quiles [Fri, 9 Oct 2009 09:34:16 +0000 (11:34 +0200)]
v4l2: Include sys/ioctl.h for the V4L ioctl requests

Old videodevice2.h kernel headers used ioctl stuff without
including ioctl.h, making compilation fail on older systems.

Note: Including ioctl.h here is only a workaround for old kernel
headers, should be removed once everybody has new enough headers.

Fixes bug #597867.

15 years agocheck: Make the level unit test succeed on Solaris 10
Jan Schmidt [Thu, 8 Oct 2009 23:14:07 +0000 (00:14 +0100)]
check: Make the level unit test succeed on Solaris 10

Add a configure check for functional isinf() and fpclass(), and
use fpclass() where possible when isinf() is not available.

15 years agomatroskademux: fix strstr() usage on possibly unterminated string
René Stadler [Sat, 16 May 2009 10:52:50 +0000 (13:52 +0300)]
matroskademux: fix strstr() usage on possibly unterminated string

15 years agocheck: Link against LIBM and include math.h for isinf()
Jan Schmidt [Thu, 8 Oct 2009 15:16:14 +0000 (16:16 +0100)]
check: Link against LIBM and include math.h for isinf()

15 years agooss: Downgrade the rank of osssrc to SECONDARY
Sjoerd Simons [Wed, 7 Oct 2009 20:51:38 +0000 (21:51 +0100)]
oss: Downgrade the rank of osssrc to SECONDARY

which is the same rank as osssink has.

Fixes bug #597730.

15 years agoAutomatic update of common submodule
Jan Schmidt [Thu, 8 Oct 2009 09:59:53 +0000 (10:59 +0100)]
Automatic update of common submodule

From 19fa4f3 to a3e3ce4

15 years agoavi/wav: Fix some compiler warnings about incompatible pointers.
Jan Schmidt [Thu, 8 Oct 2009 09:20:09 +0000 (10:20 +0100)]
avi/wav: Fix some compiler warnings about incompatible pointers.

15 years agomultifile: Fix plugin description
Jan Schmidt [Mon, 5 Oct 2009 16:36:55 +0000 (17:36 +0100)]
multifile: Fix plugin description

15 years agobuild: fprintf, sprintf, sscanf need stdio.h
Stefan Kost [Wed, 7 Oct 2009 11:03:20 +0000 (14:03 +0300)]
build: fprintf, sprintf, sscanf need stdio.h

15 years agoequalizer: use shelfing filters for first and last band
Stefan Kost [Tue, 6 Oct 2009 21:33:49 +0000 (00:33 +0300)]
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.

15 years agopulsesrc: guard fragment size with a lower limit based on latency-time
René Stadler [Fri, 2 Oct 2009 20:51:29 +0000 (23:51 +0300)]
pulsesrc: guard fragment size with a lower limit based on latency-time

In case that the pulse daemon runs the source device at a relatively low fixed
fragment size compared to the requested latency-time, configure the ring buffer
segsize to the largest integer multiple of the fragment size that is still
smaller than or equal to the requested latency-time.

Fixes bug #597463.

15 years agojpegdec: comment/logging cleanups and more branch guides
Stefan Kost [Tue, 6 Oct 2009 14:40:47 +0000 (17:40 +0300)]
jpegdec: comment/logging cleanups and more branch guides

15 years agoequalizer: fix filter history usage. Fixes #597397
Stefan Kost [Mon, 5 Oct 2009 19:43:11 +0000 (22:43 +0300)]
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.

15 years agortpbin: use locking around the sessions
Wim Taymans [Mon, 5 Oct 2009 14:07:24 +0000 (16:07 +0200)]
rtpbin: use locking around the sessions

15 years agoqtdemux: make sure compatible brands buffer exists before dereferencing it
Tim-Philipp Müller [Mon, 5 Oct 2009 10:46:08 +0000 (11:46 +0100)]
qtdemux: make sure compatible brands buffer exists before dereferencing it

15 years agoqtdemux: fix printf warnings on OSX
Robert Swain [Sun, 4 Oct 2009 19:59:24 +0000 (21:59 +0200)]
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.

15 years agoqtdemux: remove internal genre table
Tim-Philipp Müller [Thu, 1 Oct 2009 23:23:34 +0000 (00:23 +0100)]
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.

15 years agoFix printf formats to avoid warnings in avidemux. Fixes #597214
Robert Swain [Sat, 3 Oct 2009 15:18:28 +0000 (17:18 +0200)]
Fix printf formats to avoid warnings in avidemux. Fixes #597214

https://bugzilla.gnome.org/show_bug.cgi?id=597214

15 years agomatroskademux: Change one GST_WARNING to a GST_DEBUG
Sebastian Dröge [Sat, 3 Oct 2009 07:52:57 +0000 (09:52 +0200)]
matroskademux: Change one GST_WARNING to a GST_DEBUG

15 years agoflvdemux: If there's no audio stream after 6 seconds of video signal no-more-pads
Sebastian Dröge [Fri, 2 Oct 2009 12:37:54 +0000 (14:37 +0200)]
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.

15 years agoflvdemux: Make sure to only signal no-more-pads a single time
Sebastian Dröge [Fri, 2 Oct 2009 12:37:40 +0000 (14:37 +0200)]
flvdemux: Make sure to only signal no-more-pads a single time

15 years agopulse: rename pa_buffer_attr variables
René Stadler [Fri, 2 Oct 2009 19:55:45 +0000 (22:55 +0300)]
pulse: rename pa_buffer_attr variables

Makes it much easier to see what is going on and is a lot less error prone.

15 years agortp: add missing include to fix the build
Stefan Kost [Fri, 2 Oct 2009 15:25:16 +0000 (18:25 +0300)]
rtp: add missing include to fix the build

15 years agovideofilter: add G_OBJECT_WARN_INVALID_PROPERTY_ID to property setter
Stefan Kost [Fri, 2 Oct 2009 10:15:59 +0000 (13:15 +0300)]
videofilter: add G_OBJECT_WARN_INVALID_PROPERTY_ID to property setter

15 years agolevel: don't give wrong number of fields in the message docs
Stefan Kost [Fri, 2 Oct 2009 10:10:44 +0000 (13:10 +0300)]
level: don't give wrong number of fields in the message docs

15 years agojitterbuffer: cache latency in nanoseconds
Wim Taymans [Thu, 1 Oct 2009 10:52:40 +0000 (12:52 +0200)]
jitterbuffer: cache latency in nanoseconds

Cache the latency in nanoseconds units to avoid having to convert the
milliseconds value to nanoseconds all the time.

15 years agojitterbuffer: handle -1 input timestamps
Wim Taymans [Thu, 1 Oct 2009 10:12:09 +0000 (12:12 +0200)]
jitterbuffer: handle -1 input timestamps

Don't try to check a -1 timestamp against the max delay.

15 years agoavi: don't misues perf-category and remove unused ext category
Stefan Kost [Thu, 1 Oct 2009 07:54:55 +0000 (10:54 +0300)]
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.

15 years agortpg729pay/depay: Demote per-buffer debug messages to log level
Olivier Crête [Wed, 16 Sep 2009 18:23:24 +0000 (14:23 -0400)]
rtpg729pay/depay: Demote per-buffer debug messages to log level

15 years agortpg729pay: Don't leak incoming buffers after subbuffering them
Olivier Crête [Wed, 16 Sep 2009 18:16:27 +0000 (14:16 -0400)]
rtpg729pay: Don't leak incoming buffers after subbuffering them

15 years agortpg729pay/depay: Add debug categories
Olivier Crête [Wed, 16 Sep 2009 17:57:05 +0000 (13:57 -0400)]
rtpg729pay/depay: Add debug categories

15 years agortpg729pay: Remove long unneeded define replacement
Olivier Crête [Wed, 16 Sep 2009 17:55:19 +0000 (13:55 -0400)]
rtpg729pay: Remove long unneeded define replacement

15 years agoUpdate makefile with missing header file
Christian F.K. Schaller [Wed, 30 Sep 2009 17:06:07 +0000 (18:06 +0100)]
Update makefile with missing header file

15 years agortp: Use autoaudio{sink,src} instead of alsa in the examples
Sebastian Dröge [Wed, 30 Sep 2009 16:45:17 +0000 (18:45 +0200)]
rtp: Use autoaudio{sink,src} instead of alsa in the examples

15 years agojpegdec: don't leak output buffers on decoding errors
Stefan Kost [Tue, 29 Sep 2009 14:51:04 +0000 (17:51 +0300)]
jpegdec: don't leak output buffers on decoding errors

The setjmp handles libjpeg error. Free the outputbffer if we don't need it.

15 years agojpegdec: fix 'unused variable' compiler warning when compiling with GST_DISABLE_GST_DEBUG
Tim-Philipp Müller [Mon, 28 Sep 2009 23:01:59 +0000 (00:01 +0100)]
jpegdec: fix 'unused variable' compiler warning when compiling with GST_DISABLE_GST_DEBUG

15 years agoavi: small cleanups
Wim Taymans [Wed, 23 Sep 2009 12:25:08 +0000 (14:25 +0200)]
avi: small cleanups

15 years agoavi: fix timestamping in some audio streams
Wim Taymans [Wed, 23 Sep 2009 11:57:02 +0000 (13:57 +0200)]
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.

15 years agoavi: add support for ODML indexes again
Wim Taymans [Wed, 23 Sep 2009 10:56:07 +0000 (12:56 +0200)]
avi: add support for ODML indexes again

15 years agoavi: implement index scanning
Wim Taymans [Tue, 22 Sep 2009 20:12:58 +0000 (22:12 +0200)]
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.

15 years agoavi: fix reverse playback
Wim Taymans [Tue, 22 Sep 2009 16:18:20 +0000 (18:18 +0200)]
avi: fix reverse playback

15 years agoavi: fix prev keyframe search and cleanups
Wim Taymans [Tue, 22 Sep 2009 15:42:48 +0000 (17:42 +0200)]
avi: fix prev keyframe search and cleanups

15 years agoavi: remove code that got converted
Wim Taymans [Tue, 22 Sep 2009 12:51:30 +0000 (14:51 +0200)]
avi: remove code that got converted

15 years agoavi: more cleanups
Wim Taymans [Tue, 22 Sep 2009 12:44:42 +0000 (14:44 +0200)]
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.

15 years agoavidemux: small cleanups
Wim Taymans [Tue, 22 Sep 2009 10:35:30 +0000 (12:35 +0200)]
avidemux: small cleanups

15 years agoavi: fix read offset and cleanups
Wim Taymans [Mon, 21 Sep 2009 23:28:54 +0000 (01:28 +0200)]
avi: fix read offset and cleanups

15 years agoavi: rewrite index playback
Wim Taymans [Mon, 21 Sep 2009 16:04:25 +0000 (18:04 +0200)]
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.

15 years agoavidemux: add new index parsing code
Wim Taymans [Mon, 21 Sep 2009 13:35:55 +0000 (15:35 +0200)]
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.

15 years agojpeg: handle more libjpeg return values, add some more branch hints
Stefan Kost [Mon, 28 Sep 2009 13:29:45 +0000 (16:29 +0300)]
jpeg: handle more libjpeg return values, add some more branch hints

Also remove unused size variable in _chain().

15 years agoqtdemux: some optional QT specified stsd MPEG-4 atoms also apply to H264
Mark Nauwelaerts [Fri, 25 Sep 2009 17:21:32 +0000 (19:21 +0200)]
qtdemux: some optional QT specified stsd MPEG-4 atoms also apply to H264

Fixes #596319.

15 years agoqtdemux: only send tag events downstream after newsegment
Mark Nauwelaerts [Fri, 25 Sep 2009 14:40:31 +0000 (16:40 +0200)]
qtdemux: only send tag events downstream after newsegment

15 years agortspsrc: if transport protocol unsupported, try another one
Mark Nauwelaerts [Fri, 25 Sep 2009 12:14:03 +0000 (14:14 +0200)]
rtspsrc: if transport protocol unsupported, try another one

Also change error message to more accurately reflect cases in which
it can occur.

15 years agoqtdemux: add durations modulo 1<<32
Wim Taymans [Fri, 25 Sep 2009 09:54:06 +0000 (11:54 +0200)]
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

15 years agoqtdemux: small cleanup
Wim Taymans [Thu, 24 Sep 2009 18:38:54 +0000 (20:38 +0200)]
qtdemux: small cleanup

15 years agoqtdemux: don't use core API that doesn't exist yet
Tim-Philipp Müller [Thu, 24 Sep 2009 18:33:39 +0000 (19:33 +0100)]
qtdemux: don't use core API that doesn't exist yet

There's no gst_byte_reader_has_remaining() yet. Fixes build.

15 years agoqtdemux: map some atomparser functions to their new bytereader equivalents
Tim-Philipp Müller [Thu, 24 Sep 2009 12:20:50 +0000 (13:20 +0100)]
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.

15 years agoqtdemux: add qt_atom_parser_has_chunks() and fix indentation
Tim-Philipp Müller [Tue, 25 Aug 2009 11:11:28 +0000 (12:11 +0100)]
qtdemux: add qt_atom_parser_has_chunks() and fix indentation

15 years agoqtdemux: bail out instead of trying to alloc silly index sizes
Tim-Philipp Müller [Thu, 20 Aug 2009 17:21:59 +0000 (18:21 +0100)]
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.

15 years agoqtdemux: error out correctly if we don't even have enough bytes for an atom header
Tim-Philipp Müller [Thu, 20 Aug 2009 15:47:25 +0000 (16:47 +0100)]
qtdemux: error out correctly if we don't even have enough bytes for an atom header

15 years agoqtdemux: init fourcc to 0 as well to avoid invalid reads when printf'ing error message
Tim-Philipp Müller [Thu, 20 Aug 2009 14:39:00 +0000 (15:39 +0100)]
qtdemux: init fourcc to 0 as well to avoid invalid reads when printf'ing error message

15 years agoqtdemux: add qt_atom_parse_has_remaining() to avoid overflows with _get_remaining()
Tim-Philipp Müller [Thu, 20 Aug 2009 00:39:17 +0000 (01:39 +0100)]
qtdemux: add qt_atom_parse_has_remaining() to avoid overflows with _get_remaining()

15 years agoqtdemux: use GstByteReader when parsing tkhd atom
Tim-Philipp Müller [Thu, 20 Aug 2009 00:21:04 +0000 (01:21 +0100)]
qtdemux: use GstByteReader when parsing tkhd atom

15 years agoqtdemux: use unsigned ints for node length and do more sanity checking of the atom...
Tim-Philipp Müller [Wed, 19 Aug 2009 18:13:38 +0000 (19:13 +0100)]
qtdemux: use unsigned ints for node length and do more sanity checking of the atom length

15 years agoqtdemux: use GstByteReader for atom dumping and fix a few bugs
Tim-Philipp Müller [Wed, 19 Aug 2009 00:36:33 +0000 (01:36 +0100)]
qtdemux: use GstByteReader for atom dumping and fix a few bugs

15 years agoqtdemux: move stco, stts, stss and stps atom parsing over to GstByteReader
Tim-Philipp Müller [Fri, 21 Aug 2009 13:21:08 +0000 (14:21 +0100)]
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.

15 years agoqtdemux: use bytereader to parse stsz and stsc atoms
Tim-Philipp Müller [Tue, 30 Jun 2009 18:51:15 +0000 (19:51 +0100)]
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.

15 years agoqtdemux: add qt_atom_parser_get_offset() and optimise _peek_sub()
Tim-Philipp Müller [Sat, 15 Aug 2009 19:38:40 +0000 (20:38 +0100)]
qtdemux: add qt_atom_parser_get_offset() and optimise _peek_sub()

15 years agoqtdemux: add QtAtomParser, an inlined GstByteReader variant
Tim-Philipp Müller [Wed, 1 Jul 2009 12:49:57 +0000 (13:49 +0100)]
qtdemux: add QtAtomParser, an inlined GstByteReader variant