platform/upstream/gst-plugins-good.git
13 years agobaesparse: fix refactor regression in loop based parsing
Mark Nauwelaerts [Fri, 14 Jan 2011 14:26:37 +0000 (15:26 +0100)]
baesparse: fix refactor regression in loop based parsing

13 years agobaseparse: pass all available data to subclass rather than minimum
Mark Nauwelaerts [Thu, 6 Jan 2011 10:16:56 +0000 (11:16 +0100)]
baseparse: pass all available data to subclass rather than minimum

Also reduce some adapter calls and add a few debug statements.

13 years agobaseparse: fix reverse playback handling
Mark Nauwelaerts [Fri, 10 Dec 2010 14:59:49 +0000 (15:59 +0100)]
baseparse: fix reverse playback handling

13 years agobaseparse: minor typo and debug statement cleanup
Mark Nauwelaerts [Fri, 10 Dec 2010 13:56:13 +0000 (14:56 +0100)]
baseparse: minor typo and debug statement cleanup

13 years agobaseparse: reduce locking
Mark Nauwelaerts [Fri, 10 Dec 2010 13:40:05 +0000 (14:40 +0100)]
baseparse: reduce locking

... which is either already mute and/or implicitly handled by STREAM_LOCK.

13 years agobaseparse: avoid loop in frame locating interpolation
Mark Nauwelaerts [Fri, 14 Jan 2011 13:08:38 +0000 (14:08 +0100)]
baseparse: avoid loop in frame locating interpolation

13 years agoflacparse: mind gst_buffer_unref not liking NULL
Mark Nauwelaerts [Wed, 19 Jan 2011 17:26:30 +0000 (18:26 +0100)]
flacparse: mind gst_buffer_unref not liking NULL

Fixes #639950.

13 years agoaudioparsers: baseparse: Be careful to not lose the event ref
Thiago Santos [Fri, 14 Jan 2011 19:30:11 +0000 (16:30 -0300)]
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

13 years agodcaparse: fix sync word for 14-bit little endian coding
Tim-Philipp Müller [Thu, 13 Jan 2011 17:10:13 +0000 (17:10 +0000)]
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).

13 years agodocs: minor baseparse docs/comment fixes
Tim-Philipp Müller [Thu, 13 Jan 2011 16:27:04 +0000 (16:27 +0000)]
docs: minor baseparse docs/comment fixes

Remove copy'n'paste leftovers.

13 years agoflacparse: Fix unitialized variable on macosx
Edward Hervey [Thu, 6 Jan 2011 11:49:43 +0000 (12:49 +0100)]
flacparse: Fix unitialized variable on macosx

13 years agoac3parse: relax bsid checking
Mark Nauwelaerts [Mon, 13 Dec 2010 14:17:29 +0000 (15:17 +0100)]
ac3parse: relax bsid checking

... to the widest possible spec interpretation.

Fixes #637062.

13 years agoaudioparsers: update some documentation
Mark Nauwelaerts [Fri, 3 Dec 2010 17:11:56 +0000 (18:11 +0100)]
audioparsers: update some documentation

13 years agompegaudioparse: add to documentation
Mark Nauwelaerts [Fri, 3 Dec 2010 17:11:38 +0000 (18:11 +0100)]
mpegaudioparse: add to documentation

13 years agodcaparse: add to documentation
Mark Nauwelaerts [Fri, 3 Dec 2010 17:11:09 +0000 (18:11 +0100)]
dcaparse: add to documentation

13 years agobaseparse: increase keyframe awareness
Mark Nauwelaerts [Mon, 8 Nov 2010 18:58:31 +0000 (19:58 +0100)]
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).

13 years agoac3parse: use proper EAC-3 caps
Mark Nauwelaerts [Wed, 1 Dec 2010 14:28:53 +0000 (15:28 +0100)]
ac3parse: use proper EAC-3 caps

13 years agobaseparse: avoid unexpected stray metadata
Mark Nauwelaerts [Tue, 30 Nov 2010 14:41:02 +0000 (15:41 +0100)]
baseparse: avoid unexpected stray metadata

13 years agobaseparse: use proper _NONE output value when applicable
Mark Nauwelaerts [Tue, 30 Nov 2010 14:40:28 +0000 (15:40 +0100)]
baseparse: use proper _NONE output value when applicable

13 years agoaudioparsers: Remove dead assignments
Edward Hervey [Thu, 25 Nov 2010 17:56:42 +0000 (18:56 +0100)]
audioparsers: Remove dead assignments

13 years agoaudioparse: fix possible division-by-zero
Andoni Morales Alastruey [Thu, 25 Nov 2010 16:14:23 +0000 (17:14 +0100)]
audioparse: fix possible division-by-zero

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

13 years agobaseparse: use correct offset when adding index entry
Mark Nauwelaerts [Wed, 17 Nov 2010 15:23:42 +0000 (16:23 +0100)]
baseparse: use correct offset when adding index entry

... bearing in mind that BUFFER_OFFSET is media specific and may not
reflect the basic offset after having been parsed.

13 years agobaseparse: enhancements for timestamp marked framed formats
Mark Nauwelaerts [Wed, 17 Nov 2010 13:30:09 +0000 (14:30 +0100)]
baseparse: enhancements for timestamp marked framed formats

That is, as such formats allow subclass to extract position from frame,
it is possible to extract duration (if not otherwise provided)
from (near) last frame, and a seek can fairly accurately target the required
position.

Fixes #631389.

13 years agobaseparse: refactor frame scanning peformed by _loop
Mark Nauwelaerts [Tue, 16 Nov 2010 16:06:14 +0000 (17:06 +0100)]
baseparse: refactor frame scanning peformed by _loop

13 years agobaseparse: slightly optimize sending of pending newsegment events
Mark Nauwelaerts [Tue, 16 Nov 2010 17:04:00 +0000 (18:04 +0100)]
baseparse: slightly optimize sending of pending newsegment events

13 years agobaseparse: minor fixes and enhancements
Mark Nauwelaerts [Tue, 16 Nov 2010 16:04:35 +0000 (17:04 +0100)]
baseparse: minor fixes and enhancements

Arrange for upstream as well as downstream flushing when seeking.
Also determine upstream size as well as seekability.  Adjust some comments
to reality and employ debug statement in proper order.

13 years agoaacparse: minor cleanups
Mark Nauwelaerts [Wed, 17 Nov 2010 14:33:36 +0000 (15:33 +0100)]
aacparse: minor cleanups

13 years agoaacparse: fix regression in ADIF src caps setting
Mark Nauwelaerts [Wed, 17 Nov 2010 14:24:37 +0000 (15:24 +0100)]
aacparse: fix regression in ADIF src caps setting

13 years agoflacparse: parse seektable
Mark Nauwelaerts [Tue, 16 Nov 2010 11:11:53 +0000 (12:11 +0100)]
flacparse: parse seektable

Fixes #631389 (partially).

13 years agoflacparse: minor refactor and enable default baseparse segment clipping
Mark Nauwelaerts [Tue, 16 Nov 2010 11:08:54 +0000 (12:08 +0100)]
flacparse: minor refactor and enable default baseparse segment clipping

13 years agompegaudioparse: fix silly leak in _reset
Mark Nauwelaerts [Tue, 9 Nov 2010 18:38:25 +0000 (19:38 +0100)]
mpegaudioparse: fix silly leak in _reset

13 years agobaseparse: use only upstream duration if it provides one
Mark Nauwelaerts [Fri, 29 Oct 2010 12:08:58 +0000 (14:08 +0200)]
baseparse: use only upstream duration if it provides one

13 years agobaseparse: reflow update_bitrate code
Mark Nauwelaerts [Mon, 25 Oct 2010 12:15:50 +0000 (14:15 +0200)]
baseparse: reflow update_bitrate code

... which makes local variables represent real state better, and avoids
triggering unneeded updates/actions.

13 years agobaseparse: add some debug statements
Mark Nauwelaerts [Mon, 25 Oct 2010 12:13:51 +0000 (14:13 +0200)]
baseparse: add some debug statements

13 years agodcaparse: init variable to make osx build bot happy
Tim-Philipp Müller [Tue, 19 Oct 2010 22:25:54 +0000 (23:25 +0100)]
dcaparse: init variable to make osx build bot happy

gstdcaparse.c: In function 'gst_dca_parse_check_valid_frame':
gstdcaparse.c:246: warning: 'best_sync' may be used uninitialized in this function

13 years agoaudioparsers: add very basic dts/dca parser
Tim-Philipp Müller [Mon, 18 Oct 2010 23:15:20 +0000 (00:15 +0100)]
audioparsers: add very basic dts/dca parser

Still some issues, e.g. with seekable queries in totem, but also
processing already-chunked input (created with matroskademux ! gdppay).

13 years agoac3parse: properly parse e-ac3 frame header
Mark Nauwelaerts [Thu, 14 Oct 2010 14:48:21 +0000 (16:48 +0200)]
ac3parse: properly parse e-ac3 frame header

Also add a few debug statements.

13 years agoflacparse: tweak setting buffer metadata; avoid timestamp jitter
Mark Nauwelaerts [Wed, 13 Oct 2010 09:00:01 +0000 (11:00 +0200)]
flacparse: tweak setting buffer metadata; avoid timestamp jitter

Fixes #631993.

13 years agoaacparse: streamline src caps setting
Mark Nauwelaerts [Tue, 12 Oct 2010 16:07:49 +0000 (18:07 +0200)]
aacparse: streamline src caps setting

In particular, also set src caps whenever changes in stream warrant doing so.

13 years agoflacparse: Adjust unit tests to new flacparse behaviour
Sebastian Dröge [Tue, 12 Oct 2010 08:28:33 +0000 (10:28 +0200)]
flacparse: Adjust unit tests to new flacparse behaviour

Garbage after frames is now included in the frames because flacparse
has no easy way to detect the real end of a frame. Decoders are
expected to everything after the frame because only decoding the
bitstream will reveal the real end of the frame.

Fixes bug #631814.

13 years agoflacparse: Don't drop the last frame if it is followed by garbage
Sebastian Dröge [Tue, 12 Oct 2010 08:27:53 +0000 (10:27 +0200)]
flacparse: Don't drop the last frame if it is followed by garbage

See bug #631814.

13 years agobaseparse: perform bitrate handling and posting after newsegment sending
Mark Nauwelaerts [Mon, 11 Oct 2010 15:49:46 +0000 (17:49 +0200)]
baseparse: perform bitrate handling and posting after newsegment sending

13 years agobaseparse: immediately post subclass provided bitrate
Mark Nauwelaerts [Mon, 11 Oct 2010 15:36:19 +0000 (17:36 +0200)]
baseparse: immediately post subclass provided bitrate

13 years agoflacparse: fix parsing with unknown framesizes
Mark Nauwelaerts [Mon, 11 Oct 2010 15:06:48 +0000 (17:06 +0200)]
flacparse: fix parsing with unknown framesizes

Fixes #631814 (mostly).

13 years agoflacparse: Simplify frame header parsing by using lookup tables
Sebastian Dröge [Thu, 7 Oct 2010 21:37:36 +0000 (23:37 +0200)]
flacparse: Simplify frame header parsing by using lookup tables

Based on a patch by Felipe Contreras.

See bug #631200.

13 years agoflacparse: Don't parse the complete FLAC frames but only look for valid frame headers
Sebastian Dröge [Thu, 7 Oct 2010 21:28:08 +0000 (23:28 +0200)]
flacparse: Don't parse the complete FLAC frames but only look for valid frame headers

Thanks to Felipe Contreras for the suggestion. This is partially
based on his patches and makes flacparse more than 3.5 times faster.

Looking for valid frame headers is unlikely to give false positives
because every frame header is at least 9 bytes long, contains a
14 bit sync code and a 8 bit checksum over the first 8 bytes.

Fixes bug #631200.

13 years agoflacparse: Really post tags only after the initial newsegment event
Sebastian Dröge [Wed, 6 Oct 2010 16:32:51 +0000 (18:32 +0200)]
flacparse: Really post tags only after the initial newsegment event

The first newsegment event will be send by the first call to
gst_base_parse_push_buffer() if necessary, posting the tags
before that is not a good idea. Instead do it from the
GstBaseParse::pre_push_buffer vfunc.

13 years agoRevert "baseparse: add skip property"
Tim-Philipp Müller [Tue, 5 Oct 2010 10:17:52 +0000 (11:17 +0100)]
Revert "baseparse: add skip property"

This reverts commit b5a3d60363d837a10f0533c141ec93d10b742312.

Reverting this for now, since no one really seems to remember why this
property exists or what it could possibly be good for. It seems to have
been in the original mp3parse since the beginning of time and was back-
ported from there.

13 years agoflacparse: Fix uninitialized variable compiler warnings
Sebastian Dröge [Mon, 4 Oct 2010 08:41:52 +0000 (10:41 +0200)]
flacparse: Fix uninitialized variable compiler warnings

These warnings are wrong, the variables are only used if they were
initialized by the bit reader.

13 years agoflacparse: fix picture parsing
Felipe Contreras [Mon, 13 Sep 2010 23:48:58 +0000 (02:48 +0300)]
flacparse: fix picture parsing

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
13 years agoflacparse: Push tags before the header buffers are pushed
Sebastian Dröge [Sun, 3 Oct 2010 21:54:49 +0000 (23:54 +0200)]
flacparse: Push tags before the header buffers are pushed

13 years agoflacparse: trivial caps fix
Felipe Contreras [Mon, 2 Aug 2010 17:50:21 +0000 (20:50 +0300)]
flacparse: trivial caps fix

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
13 years agoaudioparser: Let the format string agree with the parameters to fix compiler warning
Sebastian Dröge [Sun, 3 Oct 2010 21:50:29 +0000 (23:50 +0200)]
audioparser: Let the format string agree with the parameters to fix compiler warning

13 years agoac3parse: Use unchecked versions of the bitreader get functions
Sebastian Dröge [Sun, 3 Oct 2010 13:41:20 +0000 (15:41 +0200)]
ac3parse: Use unchecked versions of the bitreader get functions

We didn't check the return values anyway...

13 years agobaseparse: Fix debug output
Arun Raghavan [Wed, 22 Sep 2010 10:14:43 +0000 (15:44 +0530)]
baseparse: Fix debug output

We lose the reference to the buffer after gst_pad_push(), so the debug
print should happen before.

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

13 years agoaudioparsers: add flacparse unit test
Mark Nauwelaerts [Fri, 1 Oct 2010 10:34:55 +0000 (12:34 +0200)]
audioparsers: add flacparse unit test

... and tweak parser test helper in the process.

13 years agobaseparse: support reverse playback
Mark Nauwelaerts [Wed, 29 Sep 2010 14:12:42 +0000 (16:12 +0200)]
baseparse: support reverse playback

... in pull mode or upstream driven.

13 years agobaseparse: remove done TODOs and update documentation
Mark Nauwelaerts [Mon, 27 Sep 2010 10:16:43 +0000 (12:16 +0200)]
baseparse: remove done TODOs and update documentation

13 years agobaseparse: use determined seekability in answering SEEKING query
Mark Nauwelaerts [Sat, 25 Sep 2010 12:40:54 +0000 (14:40 +0200)]
baseparse: use determined seekability in answering SEEKING query

13 years agobaseparse: add skip property
Mark Nauwelaerts [Sat, 25 Sep 2010 12:32:06 +0000 (14:32 +0200)]
baseparse: add skip property

13 years agoaudioparsers: add ac3parse and mpegaudioparse unit test
Mark Nauwelaerts [Sat, 25 Sep 2010 11:59:39 +0000 (13:59 +0200)]
audioparsers: add ac3parse and mpegaudioparse unit test

13 years agompegaudioparse: initial version
Mark Nauwelaerts [Sat, 25 Sep 2010 11:59:18 +0000 (13:59 +0200)]
mpegaudioparse: initial version

... adequately equivalent to mp3parse, so lets boldly set it
to higher rank.

13 years agoaacparse: set minimum frame size at _start
Mark Nauwelaerts [Sat, 25 Sep 2010 12:01:07 +0000 (14:01 +0200)]
aacparse: set minimum frame size at _start

... rather than one time at _init.

13 years agoaudioparsers: refactor existing unit tests using common helper
Mark Nauwelaerts [Sat, 25 Sep 2010 11:50:51 +0000 (13:50 +0200)]
audioparsers: refactor existing unit tests using common helper

13 years agobaseparse: use _set_frame_props to configure frame lead_in and lead_out
Mark Nauwelaerts [Wed, 22 Sep 2010 13:07:09 +0000 (15:07 +0200)]
baseparse: use _set_frame_props to configure frame lead_in and lead_out

... provided a corresponding decoder with sufficient leading and following
frames to carry out full decoding for a particular segment.

13 years agobaseparse: use _set_duration to configure duration update interval
Mark Nauwelaerts [Wed, 22 Sep 2010 12:13:17 +0000 (14:13 +0200)]
baseparse: use _set_duration to configure duration update interval

... as it logically belongs there as one or the other; either subclass
can provide a duration, or an estimate must be made (reguarly updated).

13 years agobaseparse: localize use of provided fps information
Mark Nauwelaerts [Wed, 22 Sep 2010 11:55:20 +0000 (13:55 +0200)]
baseparse: localize use of provided fps information

13 years agobaseparse: seek table and accurate seek support
Mark Nauwelaerts [Wed, 22 Sep 2010 10:13:12 +0000 (12:13 +0200)]
baseparse: seek table and accurate seek support

13 years agobaseparse: proper and more extended segment and seek handling
Mark Nauwelaerts [Tue, 21 Sep 2010 11:57:10 +0000 (13:57 +0200)]
baseparse: proper and more extended segment and seek handling

That is, loop pause handling, segment seek support, newsegment for gaps, etc

13 years agobaseparse: add index support
Mark Nauwelaerts [Tue, 21 Sep 2010 08:57:04 +0000 (10:57 +0200)]
baseparse: add index support

13 years agobaseparse: refactor state reset
Mark Nauwelaerts [Tue, 21 Sep 2010 07:59:56 +0000 (09:59 +0200)]
baseparse: refactor state reset

13 years agobaseparse: prevent indefinite resyncing
Mark Nauwelaerts [Mon, 20 Sep 2010 14:39:37 +0000 (16:39 +0200)]
baseparse: prevent indefinite resyncing

13 years agobaseparse: specific EOS handling if no output so far
Mark Nauwelaerts [Mon, 20 Sep 2010 11:57:55 +0000 (13:57 +0200)]
baseparse: specific EOS handling if no output so far

13 years agobaseparse: adjust _set_frame_prop documentation and set default as claimed
Mark Nauwelaerts [Mon, 20 Sep 2010 11:31:57 +0000 (13:31 +0200)]
baseparse: adjust _set_frame_prop documentation and set default as claimed

13 years agobaseparse: fix bitrate copy-and-paste and update heuristic
Mark Nauwelaerts [Mon, 20 Sep 2010 11:30:54 +0000 (13:30 +0200)]
baseparse: fix bitrate copy-and-paste and update heuristic

13 years agobaseparse: post duration message if average bitrates is updated
Mark Nauwelaerts [Fri, 17 Sep 2010 16:33:29 +0000 (18:33 +0200)]
baseparse: post duration message if average bitrates is updated

13 years agobaseparse: remove is_seekable vmethod and use a set_seek instead
Mark Nauwelaerts [Fri, 17 Sep 2010 16:24:22 +0000 (18:24 +0200)]
baseparse: remove is_seekable vmethod and use a set_seek instead

Seekability, like duration, etc is unlikely to change (frequently), and
the default assumption covers most cases, so let subclass set when needed.
At the same time, allow subclass to indicate if it has seek-metadata (table)
available, and possibly have it provide an average bitrate.

13 years agoac3parse: remove redundant default is_seekable
Mark Nauwelaerts [Fri, 17 Sep 2010 15:35:40 +0000 (17:35 +0200)]
ac3parse: remove redundant default is_seekable

13 years agobaseparse: add another hook for subclass prior to pushing buffer
Mark Nauwelaerts [Fri, 17 Sep 2010 15:21:46 +0000 (17:21 +0200)]
baseparse: add another hook for subclass prior to pushing buffer

... and allow subclass to perform custom segment clipping, or to
emit tags or messages at this time.

13 years agobaseparse: 0 converts to 0 by default
Mark Nauwelaerts [Fri, 17 Sep 2010 15:19:37 +0000 (17:19 +0200)]
baseparse: 0 converts to 0 by default

13 years agobasepase: refactor conversion using helper function and export default convert
Mark Nauwelaerts [Thu, 16 Sep 2010 16:56:46 +0000 (18:56 +0200)]
basepase: refactor conversion using helper function and export default convert

13 years agobaseparse: streamline query handling
Mark Nauwelaerts [Thu, 16 Sep 2010 16:35:47 +0000 (18:35 +0200)]
baseparse: streamline query handling

13 years agobaseparse: cleanup struct and remove unused member
Mark Nauwelaerts [Thu, 16 Sep 2010 09:51:20 +0000 (11:51 +0200)]
baseparse: cleanup struct and remove unused member

13 years agoaudioparsers: increase ranks to enable auto-plugging
Mark Nauwelaerts [Mon, 16 Aug 2010 09:04:37 +0000 (11:04 +0200)]
audioparsers: increase ranks to enable auto-plugging

Because we can, and should, have some shakedown testing before having
these make it into -good later on ...

13 years agobaseparse: Allow chaining of subclass event handlers
Arun Raghavan [Wed, 22 Sep 2010 10:37:24 +0000 (16:07 +0530)]
baseparse: Allow chaining of subclass event handlers

This allows the child class to chain its event handler with
GstBaseParse, so that subclasses don't have to duplicate all the default
event handling logic.

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

13 years agobaseparse: Don't use GST_FLOW_IS_FATAL()
Sebastian Dröge [Fri, 27 Aug 2010 16:35:10 +0000 (18:35 +0200)]
baseparse: Don't use GST_FLOW_IS_FATAL()

Also don't post an error message for UNEXPECTED and do it
for NOT_LINKED.

13 years agobaseparse: non-TIME seek event is simply not handled
Mark Nauwelaerts [Mon, 6 Sep 2010 12:12:00 +0000 (14:12 +0200)]
baseparse: non-TIME seek event is simply not handled

13 years agobaseparse: fix seek event ref handling
Mark Nauwelaerts [Tue, 15 Jun 2010 13:34:05 +0000 (15:34 +0200)]
baseparse: fix seek event ref handling

13 years agobaseparse: prevent arithmetic overflows in pull mode buffer cache handling
Mark Nauwelaerts [Tue, 15 Jun 2010 13:33:37 +0000 (15:33 +0200)]
baseparse: prevent arithmetic overflows in pull mode buffer cache handling

13 years agobaseparse: fix seek handling
Mark Nauwelaerts [Tue, 15 Jun 2010 13:32:34 +0000 (15:32 +0200)]
baseparse: fix seek handling

Allow a few more seek event type combinations, and really use the result
of gst_segment_set_seek to perform the seek.  Also add some debug.

13 years agocheck: Don't re-declare 'GList *buffers' in the tests
Edward Hervey [Mon, 12 Apr 2010 16:07:29 +0000 (18:07 +0200)]
check: Don't re-declare 'GList *buffers' in the tests

It's an external which lives in gstcheck.c. Redeclaring it makes some
compilers/architectures think the 'buffers' in the individual tests are
a different symbol... and therefore we end up comparing holodecks with
oranges.

13 years agobaseparse: Don't emit bitrate tags too early
Arun Raghavan [Fri, 26 Mar 2010 18:56:49 +0000 (18:56 +0000)]
baseparse: Don't emit bitrate tags too early

We wait to parse a minimum number of frames (10, arbitrarily) before
emiting bitrate tags so that our early estimates are not wildly
inaccurate for streams that start with a silence. If the stream ends
before that, we just emit the tags anyway.

While it _would_ be nicer to be specify the threshold to start pushing
the tags in terms of duration, this would introduce more complexity than
this merits.

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

13 years agoflacparse: Optionally check the overall frame checksums too before accepting a frame...
Sebastian Dröge [Fri, 26 Mar 2010 17:58:35 +0000 (18:58 +0100)]
flacparse: Optionally check the overall frame checksums too before accepting a frame as valid

This is optional because it's a quite expensive operation and it's very
unlikely that a non-frame is detected as frame after the header CRC check
and checking all bits for valid values. The overall frame checksums are
mainly useful to detect inconsistencies in the encoded payload.

13 years agoflacparse: Check the CRC-8 of the headers before accepting a frame as valid
Sebastian Dröge [Fri, 26 Mar 2010 17:42:28 +0000 (18:42 +0100)]
flacparse: Check the CRC-8 of the headers before accepting a frame as valid

This makes false-positives during seeking much less likely and detection of
them much faster.

13 years agobaseparse: Set the last stop to the buffer starttime if the duration is invalid
Sebastian Dröge [Fri, 26 Mar 2010 17:20:24 +0000 (18:20 +0100)]
baseparse: Set the last stop to the buffer starttime if the duration is invalid

...instead of not setting it at all.

13 years agobaseparse: Send NEWSEGMENT event with correct start and position
Joshua M. Doe [Fri, 26 Mar 2010 17:19:00 +0000 (18:19 +0100)]
baseparse: Send NEWSEGMENT event with correct start and position

Instead of taking the last stop (which could be buffer endtime instead
of starttime) always take the buffer starttime.

Fixes bug #614016.

13 years agoflacparse: Fix buffer refcount issue
Arun Raghavan [Fri, 26 Mar 2010 16:49:01 +0000 (16:49 +0000)]
flacparse: Fix buffer refcount issue

When called from the GST_FLAC_PARSE_STATE_HEADERS case,
gst_flac_parse_hand_headers() does a gst_buffer_set_caps() on a buffer
with refcount > 1. This change handles this case by making the buffer
metadata_Writable.

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

13 years agoaudioparsers: remove unused GstBaseParseClassPrivate structure
Tim-Philipp Müller [Thu, 25 Mar 2010 17:09:17 +0000 (17:09 +0000)]
audioparsers: remove unused GstBaseParseClassPrivate structure

13 years agoflacparse: Make bitrate estimation more accurate
Arun Raghavan [Thu, 25 Mar 2010 12:55:02 +0000 (12:55 +0000)]
flacparse: Make bitrate estimation more accurate

This implements the get_frame_overhead() vfunc so that baseparse can
make more accurate bitrate estimates.

13 years agoaacparse: Fix bitrate calculation
Arun Raghavan [Thu, 25 Mar 2010 11:48:46 +0000 (11:48 +0000)]
aacparse: Fix bitrate calculation

This patch adds the get_frame_overhead() vfunc so that baseparse can
accurately calculate the min/avg/max bitrates for aacparse.

Note: The bitrate was being incorrectly calculated for ADTS streams
(it's not in the header as the code suggests).