Commit graph

165 commits

Author SHA1 Message Date
Mark Nauwelaerts
1e22e29cd3 mpegaudioparse: require tighter sync match when draining 2011-04-04 20:56:32 +02:00
Sebastian Dröge
b2c90da38e mpegaudioparse: Parse encoder delay and encoder padding from the LAME header if present 2011-04-01 15:02:36 +02:00
Arun Raghavan
4dda05ad66 dcaparse: Bump rank to primary+1
Seems to work fine with a reasonably wide range of media, so bumping
rank.
2011-03-24 18:43:22 +05:30
Arun Raghavan
ec23bc2768 dcaparse: Expose frame size in caps
This exports the size of the frame (number of bytes from one sync point
to the next) as the "frame_size" field in caps.
2011-03-23 22:42:16 +05:30
Arun Raghavan
e83f53dbed dcaparse: Expose block size in caps
This sets the "block_size" field on caps as the number of samples
encoded in one frame.
2011-03-23 22:42:16 +05:30
Tim-Philipp Müller
d8f5745186 mpegaudioparse: add FIXME for making the base class use xing seek tables better 2011-03-17 20:52:07 +00:00
Sebastian Dröge
48e8c093dc dcaparse: Add depth and endianness to the caps
Some decoders can only handle specific endianness or a fixed
depth and this allows better negotiation.

Fixes bug #644208.
2011-03-14 18:26:53 +01:00
David Schleef
a68137c4dc Revert "aacparse: allow parsed frames on sink pad"
This reverts commit e49b89d5c5.
2011-02-26 13:55:51 -08:00
David Schleef
e49b89d5c5 aacparse: allow parsed frames on sink pad 2011-02-25 20:00:41 -08:00
David Schleef
fa3ff9e5ed baseparse: Create baseparse library 2011-02-17 13:57:56 -08:00
Mark Nauwelaerts
99baf8ae17 baseparse: tune QUERY_SEEKING response
Even if we currently do not have a duration yet, assume seekable if
it looks like we'll likely be able to determine it later on
(which coincides with needed information to perform seeking).

Fixes #641047.
2011-02-17 13:00:59 +01:00
Arun Raghavan
3f683e0288 baseparse: Update min/max bitrate before first posting them
This avoids posting an initial min-bitrate of G_UINTMAX and max-bitrate
of 0.

https://bugzilla.gnome.org/show_bug.cgi?id=641857
2011-02-09 18:30:51 +01:00
Arun Raghavan
cfc3f5e43b mpegaudioparse: Post CBR bitrate as nominal bitrate
Even if VBR headers are missing, we can't guarantee that a stream is in
fact a CBR stream, so it's safer to let baseparse calculate the average
bitrate rather than assume a CBR stream. However, in order to make
/some/ metadata available before the requisite number of frames have
been parsed, this posts the bitrate from the non-VBR headers as the
nominal bitrate.

https://bugzilla.gnome.org/show_bug.cgi?id=641858
2011-02-09 18:30:48 +01:00
Mark Nauwelaerts
c85e8e8015 amrparse: a valid amr-wb frame should not have reserved frame type index
See #639715.
2011-02-07 19:59:21 +01:00
Mark Nauwelaerts
8e4b8b813d ac3parse: improve handling of dependent substream frames
In particular, timestamps of these should track main-stream timestamps.
2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
7f805f17b2 baseparse: tune default duration estimate update interval
Rather than a fixed default frame count, estimate frame count to aim for
an interval duration depending on fps if available, otherwise use old
fixed default.
2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
479865c1b3 baseparse: reverse playback; mind keyframes for fragment boundary 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
57babfca39 amrparse: properly check for sufficient available data prior to access 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
3ba3339993 baseparse: ensure non-empty candidate frames 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
ac8080f003 baseparse: clarify some debug statements 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
16342223ee baseparse: properly track upstream timestamps
... rather than with a delay.
2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
b97e560f1a baseparse: need proper frame duration to obtain sensible frame bitrate 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
559b3ead93 baseparse: proper initial values for index tracking variables 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
f3da619dd2 baseparse: arrange for consistent event handling 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
18b347296c baseparse: header style cleaning 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
2c872ad913 baseparse: provide some more initial frame metadata in parse_frame
... and document accordingly.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
6a45c4f65e baseparse: refactor passthrough into format flags
Also add a format flag to signal baseparse that subclass/format can provide
(parsed) timestamp rather than an estimated one.  In particular, such "strong"
timestamp then allows to e.g. determine duration.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
1c89488c50 baseparse: introduce a baseparse frame to serve as context
... and adjust subclass parsers accordingly
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
400198b2cd baseparse: restrict duration scanning to pull mode and avoid extra set_caps call 2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
3e9d5c4bf8 baseparse: update some documentation
Also add some more debug.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
829507b650 baseparse: allow increasing min_size for current frame parsing only
Also check that subclass actually either directs to skip bytes or
increases expected frame size to avoid going nowhere in bogus
indefinite looping.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
18b69e9320 baesparse: fix refactor regression in loop based parsing 2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
f4f7306e37 baseparse: pass all available data to subclass rather than minimum
Also reduce some adapter calls and add a few debug statements.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
e54e2a9616 baseparse: fix reverse playback handling 2011-01-28 12:16:56 +01:00
Mark Nauwelaerts
695c9599f4 baseparse: minor typo and debug statement cleanup 2011-01-28 12:16:56 +01:00
Mark Nauwelaerts
fcd0f5cb7a baseparse: reduce locking
... which is either already mute and/or implicitly handled by STREAM_LOCK.
2011-01-28 12:16:56 +01:00
Mark Nauwelaerts
3da135ce02 baseparse: avoid loop in frame locating interpolation 2011-01-26 17:16:49 +01:00
Mark Nauwelaerts
289cd65abd flacparse: mind gst_buffer_unref not liking NULL
Fixes #639950.
2011-01-19 18:41:59 +01:00
Thiago Santos
a6a982e8be audioparsers: baseparse: Be careful to not lose the event ref
Don't unref the event if it hasn't been handled, because the caller
assumes it is still valid and might reuse it.

I ran into this problem when transcoding an AVI (with mp3 inside)
to gpp.

https://bugzilla.gnome.org/show_bug.cgi?id=639555
2011-01-15 13:48:26 -03:00
Tim-Philipp Müller
aba0899b19 dcaparse: fix sync word for 14-bit little endian coding
Fix copy'n'paste bug that made us look for the raw little endian
sync word twice instead of looking for the 14-bit LE sync word
as well. Fixes parsing of such streams (see #636234 for sample file).
2011-01-13 17:10:13 +00:00
Tim-Philipp Müller
095eaa1752 docs: minor baseparse docs/comment fixes
Remove copy'n'paste leftovers.
2011-01-13 16:28:24 +00:00
Edward Hervey
063be2f972 flacparse: Fix unitialized variable on macosx 2011-01-06 12:49:43 +01:00
Mark Nauwelaerts
01e9b677a8 ac3parse: relax bsid checking
... to the widest possible spec interpretation.

Fixes #637062.
2010-12-13 15:29:33 +01:00
Mark Nauwelaerts
f64f03264f audioparsers: update some documentation 2010-12-03 18:23:20 +01:00
Mark Nauwelaerts
8f0e2346c7 mpegaudioparse: add to documentation 2010-12-03 18:23:17 +01:00
Mark Nauwelaerts
fa0dea3fdc dcaparse: add to documentation 2010-12-03 18:23:14 +01:00
Mark Nauwelaerts
26feb26fc1 baseparse: increase keyframe awareness
... which is not particular relevant for audio parsing, but more so
in video cases.  In particular, auto-determine if dealing with video (caps).
2010-12-03 18:23:06 +01:00
Mark Nauwelaerts
ce6d8b6d93 ac3parse: use proper EAC-3 caps 2010-12-01 15:29:55 +01:00
Mark Nauwelaerts
aa93b5b458 baseparse: avoid unexpected stray metadata 2010-11-30 16:23:26 +01:00
Mark Nauwelaerts
145e041af5 baseparse: use proper _NONE output value when applicable 2010-11-30 16:23:24 +01:00