platform/upstream/gst-plugins-good.git
13 years agoqtmux: handle 'late' streams
Thiago Santos [Fri, 6 Nov 2009 13:34:39 +0000 (10:34 -0300)]
qtmux: handle 'late' streams

When muxing streams, some can start later than others. qtmux
now handle this by adding an empty edts entry with the
duration of the 'lateness' to the stream's trak.
It tolerates a stream to be up to 0.1s late.

Fixes #586848

13 years agoqtmux: adds the EDTS and ELTS atoms to atoms.c
Thiago Santos [Fri, 6 Nov 2009 00:35:56 +0000 (21:35 -0300)]
qtmux: adds the EDTS and ELTS atoms to atoms.c

These atoms will be useful for signaling streams
that start later in the file. As well for adding
edit lists if needed sometime later.

13 years agoqtmux: Adding some ifs for protection
Thiago Santos [Fri, 6 Nov 2009 03:46:12 +0000 (00:46 -0300)]
qtmux: Adding some ifs for protection

Adding somes ifs to protect against warning conditions
that might happen when upstream element is not sane

Fixes #600895

13 years agogppmux: Add support for 3gr6
Thiago Santos [Fri, 16 Oct 2009 13:47:32 +0000 (10:47 -0300)]
gppmux: Add support for 3gr6

Keep track of the chunk durations to be able to add 3gr6
brand if it is a faststart file and the longest chunk is
smaller than a sec. Implemented according to 3gpp
TS 26.244 v6.4.0 (2005-09)

Fixes #584361

13 years agoqtmux: Only push ftyp later (in faststart mode)
Thiago Santos [Fri, 16 Oct 2009 00:11:16 +0000 (21:11 -0300)]
qtmux: Only push ftyp later (in faststart mode)

In faststart mode, there is no need to send the ftyp
right at the beginning of the stream. Waiting and sending it
only later (when the moov atom is ready to be sent) provides
us with more information about the stream and we can better
select the compatible brands.

13 years agoqtmux: Improve error message
Thiago Santos [Thu, 15 Oct 2009 20:51:39 +0000 (17:51 -0300)]
qtmux: Improve error message

Improve error message when we can't get or estimate the
timestamp/duration of a buffer

13 years agoqtmux: fix flags_as_uint to flags[]
Marc-André Lureau [Tue, 29 Sep 2009 13:47:13 +0000 (15:47 +0200)]
qtmux: fix flags_as_uint to flags[]

13 years agoqtmux: Don't require endianness field for 8 bit raw audio
Jan Urbanski [Tue, 4 Aug 2009 10:58:35 +0000 (12:58 +0200)]
qtmux: Don't require endianness field for 8 bit raw audio

Fixes bug #590360.

13 years agoqtmux: Remove unused variable.
Edward Hervey [Thu, 25 Jun 2009 06:38:21 +0000 (08:38 +0200)]
qtmux: Remove unused variable.

13 years agoqtmux: Fix debug statement.
Edward Hervey [Thu, 25 Jun 2009 06:38:10 +0000 (08:38 +0200)]
qtmux: Fix debug statement.

13 years agoqtmux: only use (64-bit) extended (mdat) atom size if needed. Fixes #585319.
Mark Nauwelaerts [Thu, 11 Jun 2009 13:54:42 +0000 (15:54 +0200)]
qtmux: only use (64-bit) extended (mdat) atom size if needed.  Fixes #585319.

13 years agoqtmux: set default movie timescale to microsecond units
Mark Nauwelaerts [Wed, 10 Jun 2009 12:46:14 +0000 (14:46 +0200)]
qtmux: set default movie timescale to microsecond units

13 years agoqtmux: compress/optimize stsc writing
Mark Nauwelaerts [Wed, 10 Jun 2009 11:24:20 +0000 (13:24 +0200)]
qtmux: compress/optimize stsc writing

13 years agoqtmux: add 3GP style tagging (and refactor appropriately)
Mark Nauwelaerts [Wed, 10 Jun 2009 10:42:44 +0000 (12:42 +0200)]
qtmux: add 3GP style tagging (and refactor appropriately)

13 years agoqtmux (and variants): handle pixel-aspect-ratio. Fixes #584358.
Mark Nauwelaerts [Mon, 1 Jun 2009 21:00:44 +0000 (23:00 +0200)]
qtmux (and variants): handle pixel-aspect-ratio.  Fixes #584358.

13 years agogppmux: enhance ftyp brand heuristic. Fixes #584360.
Mark Nauwelaerts [Mon, 1 Jun 2009 20:42:08 +0000 (22:42 +0200)]
gppmux: enhance ftyp brand heuristic.  Fixes #584360.

13 years agoqtmux: use different stsd atom type for H263 for ISO and QT variants
Mark Nauwelaerts [Thu, 28 May 2009 11:56:10 +0000 (13:56 +0200)]
qtmux: use different stsd atom type for H263 for ISO and QT variants

Fixes #584114.

13 years ago[qtmux] Fixes segfault when adding a blob as first tag.
Thiago Santos [Fri, 15 May 2009 04:54:44 +0000 (01:54 -0300)]
[qtmux] Fixes segfault when adding a blob as first tag.

Moves tags data initialization to the function that actually appends
the tags to the list. Fixes #582702

Also fixes some style caught by the pre-commit hook.

13 years agogppmux: Add MPEG-4 part 2 to supported formats. Fixes #581593.
Mark Nauwelaerts [Sun, 10 May 2009 19:21:36 +0000 (21:21 +0200)]
gppmux: Add MPEG-4 part 2 to supported formats.  Fixes #581593.

13 years agoAdd ranks to various muxers and encoders in -bad
Christian Schaller [Thu, 7 May 2009 16:53:42 +0000 (17:53 +0100)]
Add ranks to various muxers and encoders in -bad

13 years agoqtmux: changes caps of src pads to video/quicktime, variant=something
Thiago Santos [Thu, 30 Apr 2009 17:43:36 +0000 (14:43 -0300)]
qtmux: changes caps of src pads to video/quicktime, variant=something

Take a look at bug #580005 for further info.

13 years agomp4mux: Changes src caps to application/x-iso-mp4
Thiago Santos [Fri, 24 Apr 2009 21:53:36 +0000 (18:53 -0300)]
mp4mux: Changes src caps to application/x-iso-mp4

Fixes #580005

13 years agoqtmux: fix reusing element
Mark Nauwelaerts [Wed, 25 Mar 2009 20:24:44 +0000 (21:24 +0100)]
qtmux: fix reusing element

State change to READY and then back to PAUSED should still provide
the proper structures as are otherwise freshly available following
a request_new_pad.

Pointed out by Thiago Santos.

13 years agoqtmux: fix includes for lseek
Wim Taymans [Mon, 23 Mar 2009 10:17:39 +0000 (11:17 +0100)]
qtmux: fix includes for lseek

--

13 years agowin32: fix seeking in large files
LRN [Fri, 20 Mar 2009 13:20:16 +0000 (14:20 +0100)]
win32: fix seeking in large files

Use _lseeki64() on Windows to seek in large files.
Fixes #576021.

13 years agoqtmux: Be a bit more verbose in our debug message when failing to renegotiate
Edward Hervey [Mon, 2 Mar 2009 09:57:35 +0000 (10:57 +0100)]
qtmux: Be a bit more verbose in our debug message when failing to renegotiate

13 years agoAdditional media type support in qtmux (and friends).
Mark Nauwelaerts [Wed, 28 Jan 2009 12:25:14 +0000 (13:25 +0100)]
Additional media type support in qtmux (and friends).

Support AMR and H263 for both qtmux and gppmux,
and add extensions in sample table description.

13 years agogst/quicktime/gstqtmuxmap.c: Add video/x-qt-part and video/x-m4-part to caps so schro...
David Schleef [Fri, 9 Jan 2009 21:59:48 +0000 (21:59 +0000)]
gst/quicktime/gstqtmuxmap.c: Add video/x-qt-part and video/x-m4-part to caps so schroenc/schroparse can use it.  Fixes #5...

Original commit message from CVS:
* gst/quicktime/gstqtmuxmap.c: Add video/x-qt-part and video/x-m4-part
to caps so schroenc/schroparse can use it.  Fixes #566958

13 years agogst/quicktime/gstqtmux.c: Do not tempt or suggest to violate gst_collect_pads API...
Mark Nauwelaerts [Fri, 19 Dec 2008 18:53:47 +0000 (18:53 +0000)]
gst/quicktime/gstqtmux.c: Do not tempt or suggest to violate gst_collect_pads API specification.

Original commit message from CVS:
* gst/quicktime/gstqtmux.c: (gst_qt_mux_change_state):
Do not tempt or suggest to violate gst_collect_pads API specification.

13 years agogst/quicktime/: Dual license qtmux LGPL/MIT. Fixes #564232.
Mark Nauwelaerts [Fri, 19 Dec 2008 18:33:47 +0000 (18:33 +0000)]
gst/quicktime/: Dual license qtmux LGPL/MIT.  Fixes #564232.

Original commit message from CVS:
* gst/quicktime/atoms.c:
* gst/quicktime/atoms.h:
* gst/quicktime/descriptors.c:
* gst/quicktime/descriptors.h:
* gst/quicktime/fourcc.h:
* gst/quicktime/ftypcc.h:
* gst/quicktime/gstqtmux.c:
* gst/quicktime/gstqtmux.h:
* gst/quicktime/gstqtmuxmap.c:
* gst/quicktime/gstqtmuxmap.h:
* gst/quicktime/properties.c:
* gst/quicktime/properties.h:
Dual license qtmux LGPL/MIT.  Fixes #564232.

13 years agoTotally remove the internal taglists and fully use tagsetter. Fixes various tag muxin...
Stefan Kost [Tue, 16 Dec 2008 16:26:52 +0000 (16:26 +0000)]
Totally remove the internal taglists and fully use tagsetter. Fixes various tag muxing issues.

Original commit message from CVS:
* ext/celt/gstceltenc.c:
* ext/celt/gstceltenc.h:
* ext/metadata/gstmetadatamux.c:
* gst/quicktime/gstqtmux.c:
* gst/quicktime/gstqtmux.h:
Totally remove the internal taglists and fully use tagsetter. Fixes
various tag muxing issues.

13 years agogst/quicktime/atoms.c: Fix mj2 sample description metadata construction.
Mark Nauwelaerts [Mon, 1 Dec 2008 16:37:45 +0000 (16:37 +0000)]
gst/quicktime/atoms.c: Fix mj2 sample description metadata construction.

Original commit message from CVS:
* gst/quicktime/atoms.c: (build_jp2h_extension):
Fix mj2 sample description metadata construction.

13 years agogst/quicktime/gstqtmux.c: Quiet a debugging message that I recently added.
David Schleef [Tue, 18 Nov 2008 01:09:09 +0000 (01:09 +0000)]
gst/quicktime/gstqtmux.c: Quiet a debugging message that I recently added.

Original commit message from CVS:
* gst/quicktime/gstqtmux.c: Quiet a debugging message that I recently
added.

13 years agogst/quicktime/gstqtmux.*: Use dts from GST_BUFFER_OFFSET_END() for video/x-qt-part.
David Schleef [Sat, 15 Nov 2008 02:56:31 +0000 (02:56 +0000)]
gst/quicktime/gstqtmux.*: Use dts from GST_BUFFER_OFFSET_END() for video/x-qt-part.

Original commit message from CVS:
* gst/quicktime/gstqtmux.c:
* gst/quicktime/gstqtmux.h:
Use dts from GST_BUFFER_OFFSET_END() for video/x-qt-part.

13 years agogst/quicktime/: Revert previous commit.
Mark Nauwelaerts [Fri, 14 Nov 2008 21:24:51 +0000 (21:24 +0000)]
gst/quicktime/: Revert previous commit.

Original commit message from CVS:
* gst/quicktime/atoms.c:
* gst/quicktime/atoms.h:
* gst/quicktime/descriptors.c:
* gst/quicktime/descriptors.h:
* gst/quicktime/fourcc.h:
* gst/quicktime/ftypcc.h:
* gst/quicktime/gstqtmux.c:
* gst/quicktime/gstqtmux.h:
* gst/quicktime/gstqtmuxmap.c:
* gst/quicktime/gstqtmuxmap.h:
* gst/quicktime/properties.c:
* gst/quicktime/properties.h:
Revert previous commit.

13 years agogst/quicktime/: Dual license LGPL/MIT, as apparently supposed to.
Mark Nauwelaerts [Fri, 14 Nov 2008 20:38:18 +0000 (20:38 +0000)]
gst/quicktime/: Dual license LGPL/MIT, as apparently supposed to.

Original commit message from CVS:
* gst/quicktime/atoms.c:
* gst/quicktime/atoms.h:
* gst/quicktime/descriptors.c:
* gst/quicktime/descriptors.h:
* gst/quicktime/fourcc.h:
* gst/quicktime/ftypcc.h:
* gst/quicktime/gstqtmux.c:
* gst/quicktime/gstqtmux.h:
* gst/quicktime/gstqtmuxmap.c:
* gst/quicktime/gstqtmuxmap.h:
* gst/quicktime/properties.c:
* gst/quicktime/properties.h:
Dual license LGPL/MIT, as apparently supposed to.

13 years agogst/quicktime/: Cut detour in sample description extension construction.
Mark Nauwelaerts [Fri, 14 Nov 2008 20:17:10 +0000 (20:17 +0000)]
gst/quicktime/: Cut detour in sample description extension construction.

Original commit message from CVS:
* gst/quicktime/atoms.c: (build_esds_extension),
(build_mov_aac_extension), (build_jp2h_extension),
(build_codec_data_extension):
* gst/quicktime/atoms.h:
* gst/quicktime/fourcc.h:
* gst/quicktime/gstqtmux.c: (gst_qt_mux_audio_sink_set_caps),
(gst_qt_mux_video_sink_set_caps):
* gst/quicktime/gstqtmuxmap.c: (gst_qt_mux_map_format_to_header):
Cut detour in sample description extension construction.
Also actually implement ISO JPEG2000 mj2 format.

13 years agotests/check/: Add unit test for qtmux.
Mark Nauwelaerts [Tue, 11 Nov 2008 19:31:35 +0000 (19:31 +0000)]
tests/check/: Add unit test for qtmux.

Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/qtmux.c: (setup_src_pad),
(teardown_src_pad), (setup_qtmux), (cleanup_qtmux),
(check_qtmux_pad), (GST_START_TEST), (qtmux_suite), (main):
Add unit test for qtmux.

13 years agogst/quicktime/gstqtmux.c: Add some more safety/sanity checks in tag manipulation.
Mark Nauwelaerts [Tue, 11 Nov 2008 19:24:12 +0000 (19:24 +0000)]
gst/quicktime/gstqtmux.c: Add some more safety/sanity checks in tag manipulation.

Original commit message from CVS:
* gst/quicktime/gstqtmux.c: (gst_qt_mux_add_metadata_tags):
Add some more safety/sanity checks in tag manipulation.

13 years agoCopy qtmux from revision 148 of the gst-qtmux repository.
Thiago Sousa Santos [Sat, 8 Nov 2008 02:00:58 +0000 (02:00 +0000)]
Copy qtmux from revision 148 of the gst-qtmux repository.

Original commit message from CVS:
patch by: Thiago Sousa Santos <thiagossantos@gmail.com>
* configure.ac:
* gst/quicktime/Makefile.am:
* gst/quicktime/atoms.c:
* gst/quicktime/atoms.h:
* gst/quicktime/descriptors.c:
* gst/quicktime/descriptors.h:
* gst/quicktime/fourcc.h:
* gst/quicktime/ftypcc.h:
* gst/quicktime/gstqtmux.c:
* gst/quicktime/gstqtmux.h:
* gst/quicktime/gstqtmuxmap.c:
* gst/quicktime/gstqtmuxmap.h:
* gst/quicktime/properties.c:
* gst/quicktime/properties.h:
Copy qtmux from revision 148 of the gst-qtmux repository.
Fixes #550280.

13 years agoqtdemux: rename directory to quicktime to match plugin name
Tim-Philipp Müller [Tue, 12 Apr 2011 17:25:34 +0000 (18:25 +0100)]
qtdemux: rename directory to quicktime to match plugin name

In preparation for qtmux moving to -good.

13 years agoflvdemux: simplify framerate fraction calculation
Mark Nauwelaerts [Tue, 12 Apr 2011 09:49:54 +0000 (11:49 +0200)]
flvdemux: simplify framerate fraction calculation

13 years agoflvdemux: add width, height and framerate to caps when present on onMetaData
Leonardo Sandoval [Mon, 24 Jan 2011 21:45:28 +0000 (15:45 -0600)]
flvdemux: add width, height and framerate to caps when present on onMetaData

Fixes #640483.

13 years agortpssrcdemux: Unknown SSRC is not fatal
Pascal Buhler [Tue, 24 Aug 2010 11:57:55 +0000 (13:57 +0200)]
rtpssrcdemux: Unknown SSRC is not fatal

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

13 years agortpsession: Number of active sources should be updated whenever the status of the...
Pascal Buhler [Tue, 24 Aug 2010 11:54:58 +0000 (13:54 +0200)]
rtpsession: Number of active sources should be updated whenever the status of the source changes to active

Forward-ported by Olivier Crête

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

13 years agortpmanager: ignore a BYE if it is sent with our internal SSRC
Havard Graff [Wed, 23 Jun 2010 09:29:58 +0000 (11:29 +0200)]
rtpmanager: ignore a BYE if it is sent with our internal SSRC

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

13 years agoqtdemux: Adds more h264 fields to its caps
Thiago Santos [Fri, 29 Jan 2010 12:49:48 +0000 (09:49 -0300)]
qtdemux: Adds more h264 fields to its caps

Adds alignment=au and stream-format=avc to h264 caps

Fixes #606662

13 years agojack: also handle deprecations for jack 1.9.7
Stefan Kost [Mon, 11 Apr 2011 09:44:19 +0000 (12:44 +0300)]
jack: also handle deprecations for jack 1.9.7

Jack 1.9.7 was released 20.Mar.2011, need to handle the deprecated api for this
version too.

13 years agoandroid: Make it ready for androgenizer
Thibault Saunier [Sun, 10 Apr 2011 22:56:52 +0000 (18:56 -0400)]
android: Make it ready for androgenizer

Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git

13 years agortpgstpay: declare frag_offset to hold 32bits.
Haakon Sporsheim [Tue, 5 Apr 2011 19:14:43 +0000 (21:14 +0200)]
rtpgstpay: declare frag_offset to hold 32bits.

As specified in documenation above and below.

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

13 years agortpsession: fix wrongly applied patch
Havard Graff [Sat, 9 Apr 2011 10:41:48 +0000 (12:41 +0200)]
rtpsession: fix wrongly applied patch

Obviously recv_rtp_sink does not have much to do with send_rtcp_src...
See commit 046ff170.

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

13 years agoaudioparsers: update for set_frame_props -> set_frame_rate API change
Tim-Philipp Müller [Fri, 8 Apr 2011 14:59:58 +0000 (15:59 +0100)]
audioparsers: update for set_frame_props -> set_frame_rate API change

13 years agotests: hook up audioparser unit tests
Tim-Philipp Müller [Thu, 7 Apr 2011 23:03:21 +0000 (00:03 +0100)]
tests: hook up audioparser unit tests

13 years agompegaudioparse: relax sync match a bit when draining
Mark Nauwelaerts [Thu, 7 Apr 2011 16:30:49 +0000 (18:30 +0200)]
mpegaudioparse: relax sync match a bit when draining

... to at least allow initial caps change (but no further caps jitter).
Fixes unit test again after previous change.

13 years agodocs: update for changes in git
Tim-Philipp Müller [Thu, 7 Apr 2011 14:21:10 +0000 (15:21 +0100)]
docs: update for changes in git

13 years agodocs: add audioparsers to docs
Tim-Philipp Müller [Thu, 7 Apr 2011 14:20:19 +0000 (15:20 +0100)]
docs: add audioparsers to docs

13 years agoaacparse, amrparse: gst_fooparse_xyz -> gst_foo_parse_xyz to match GstFooParse
Tim-Philipp Müller [Thu, 7 Apr 2011 14:07:15 +0000 (15:07 +0100)]
aacparse, amrparse: gst_fooparse_xyz -> gst_foo_parse_xyz to match GstFooParse

See moving-plugins checklist.

13 years agoaudioparsers: hook up to build
Tim-Philipp Müller [Thu, 7 Apr 2011 13:43:42 +0000 (14:43 +0100)]
audioparsers: hook up to build

13 years agoaudioparsers: port to new GstBaseParse in core
Tim-Philipp Müller [Thu, 7 Apr 2011 12:26:41 +0000 (13:26 +0100)]
audioparsers: port to new GstBaseParse in core

13 years agompegaudioparse: require tighter sync match when draining
Mark Nauwelaerts [Mon, 4 Apr 2011 18:55:39 +0000 (20:55 +0200)]
mpegaudioparse: require tighter sync match when draining

13 years agompegaudioparse: Parse encoder delay and encoder padding from the LAME header if present
Sebastian Dröge [Fri, 1 Apr 2011 12:47:43 +0000 (14:47 +0200)]
mpegaudioparse: Parse encoder delay and encoder padding from the LAME header if present

13 years agodcaparse: Bump rank to primary+1
Arun Raghavan [Wed, 9 Mar 2011 17:36:14 +0000 (23:06 +0530)]
dcaparse: Bump rank to primary+1

Seems to work fine with a reasonably wide range of media, so bumping
rank.

13 years agodcaparse: Expose frame size in caps
Arun Raghavan [Wed, 23 Mar 2011 16:32:37 +0000 (22:02 +0530)]
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.

13 years agodcaparse: Expose block size in caps
Arun Raghavan [Wed, 9 Mar 2011 17:33:10 +0000 (23:03 +0530)]
dcaparse: Expose block size in caps

This sets the "block_size" field on caps as the number of samples
encoded in one frame.

13 years agompegaudioparse: add FIXME for making the base class use xing seek tables better
Tim-Philipp Müller [Wed, 16 Mar 2011 15:53:13 +0000 (15:53 +0000)]
mpegaudioparse: add FIXME for making the base class use xing seek tables better

13 years agodcaparse: Add depth and endianness to the caps
Sebastian Dröge [Mon, 14 Mar 2011 17:25:25 +0000 (18:25 +0100)]
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.

13 years agoRevert "aacparse: allow parsed frames on sink pad"
David Schleef [Sat, 26 Feb 2011 21:53:44 +0000 (13:53 -0800)]
Revert "aacparse: allow parsed frames on sink pad"

This reverts commit e49b89d5c5a1244fa0dcb8bb4996e38fb9bff9e5.

13 years agoaacparse: allow parsed frames on sink pad
David Schleef [Thu, 24 Feb 2011 01:25:03 +0000 (17:25 -0800)]
aacparse: allow parsed frames on sink pad

13 years agotests: fix baseparse test
David Schleef [Wed, 13 Oct 2010 23:12:02 +0000 (16:12 -0700)]
tests: fix baseparse test

13 years agobaseparse: Create baseparse library
David Schleef [Wed, 13 Oct 2010 22:39:55 +0000 (15:39 -0700)]
baseparse: Create baseparse library

13 years agobaseparse: tune QUERY_SEEKING response
Mark Nauwelaerts [Mon, 7 Feb 2011 13:46:57 +0000 (14:46 +0100)]
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.

13 years agobaseparse: Update min/max bitrate before first posting them
Arun Raghavan [Tue, 8 Feb 2011 18:09:24 +0000 (23:39 +0530)]
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

13 years agompegaudioparse: Post CBR bitrate as nominal bitrate
Arun Raghavan [Tue, 8 Feb 2011 18:20:13 +0000 (23:50 +0530)]
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

13 years agoamrparse: a valid amr-wb frame should not have reserved frame type index
Mark Nauwelaerts [Mon, 6 Sep 2010 12:10:11 +0000 (14:10 +0200)]
amrparse: a valid amr-wb frame should not have reserved frame type index

See #639715.

13 years agoac3parse: improve handling of dependent substream frames
Mark Nauwelaerts [Thu, 27 Jan 2011 15:52:34 +0000 (16:52 +0100)]
ac3parse: improve handling of dependent substream frames

In particular, timestamps of these should track main-stream timestamps.

13 years agobaseparse: tune default duration estimate update interval
Mark Nauwelaerts [Fri, 21 Jan 2011 13:53:39 +0000 (14:53 +0100)]
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.

13 years agobaseparse: reverse playback; mind keyframes for fragment boundary
Mark Nauwelaerts [Fri, 14 Jan 2011 14:16:04 +0000 (15:16 +0100)]
baseparse: reverse playback; mind keyframes for fragment boundary

13 years agoamrparse: properly check for sufficient available data prior to access
Mark Nauwelaerts [Thu, 13 Jan 2011 14:26:21 +0000 (15:26 +0100)]
amrparse: properly check for sufficient available data prior to access

13 years agobaseparse: ensure non-empty candidate frames
Mark Nauwelaerts [Wed, 12 Jan 2011 13:40:37 +0000 (14:40 +0100)]
baseparse: ensure non-empty candidate frames

13 years agobaseparse: clarify some debug statements
Mark Nauwelaerts [Tue, 11 Jan 2011 14:24:23 +0000 (15:24 +0100)]
baseparse: clarify some debug statements

13 years agobaseparse: properly track upstream timestamps
Mark Nauwelaerts [Tue, 11 Jan 2011 14:24:02 +0000 (15:24 +0100)]
baseparse: properly track upstream timestamps

... rather than with a delay.

13 years agobaseparse: need proper frame duration to obtain sensible frame bitrate
Mark Nauwelaerts [Tue, 11 Jan 2011 14:23:29 +0000 (15:23 +0100)]
baseparse: need proper frame duration to obtain sensible frame bitrate

13 years agobaseparse: proper initial values for index tracking variables
Mark Nauwelaerts [Tue, 11 Jan 2011 14:22:51 +0000 (15:22 +0100)]
baseparse: proper initial values for index tracking variables

13 years agobaseparse: arrange for consistent event handling
Mark Nauwelaerts [Tue, 11 Jan 2011 11:05:13 +0000 (12:05 +0100)]
baseparse: arrange for consistent event handling

13 years agobaseparse: header style cleaning
Mark Nauwelaerts [Mon, 10 Jan 2011 15:59:59 +0000 (16:59 +0100)]
baseparse: header style cleaning

13 years agobaseparse: provide some more initial frame metadata in parse_frame
Mark Nauwelaerts [Mon, 10 Jan 2011 16:07:38 +0000 (17:07 +0100)]
baseparse: provide some more initial frame metadata in parse_frame

... and document accordingly.

13 years agobaseparse: refactor passthrough into format flags
Mark Nauwelaerts [Mon, 10 Jan 2011 15:56:36 +0000 (16:56 +0100)]
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.

13 years agobaseparse: introduce a baseparse frame to serve as context
Mark Nauwelaerts [Mon, 10 Jan 2011 14:34:48 +0000 (15:34 +0100)]
baseparse: introduce a baseparse frame to serve as context

... and adjust subclass parsers accordingly

13 years agobaseparse: restrict duration scanning to pull mode and avoid extra set_caps call
Mark Nauwelaerts [Fri, 7 Jan 2011 15:39:51 +0000 (16:39 +0100)]
baseparse: restrict duration scanning to pull mode and avoid extra set_caps call

13 years agobaseparse: update some documentation
Mark Nauwelaerts [Fri, 7 Jan 2011 14:58:49 +0000 (15:58 +0100)]
baseparse: update some documentation

Also add some more debug.

13 years agobaseparse: allow increasing min_size for current frame parsing only
Mark Nauwelaerts [Thu, 6 Jan 2011 10:41:44 +0000 (11:41 +0100)]
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.

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).