gstreamer-omap:gst-plugins-good.git
6 years agoqtmux: get rid of timestamp overprotectiveness
Felipe Contreras [Thu, 30 Dec 2010 19:48:41 +0000 (21:48 +0200)]
qtmux: get rid of timestamp overprotectiveness

Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
6 years agoqtmux: simplify and fix pts_offset storing
Mark Nauwelaerts [Mon, 3 Jan 2011 15:56:57 +0000 (16:56 +0100)]
qtmux: simplify and fix pts_offset storing

In particular, only write a ctts atom if and only if ever a non-zero offset.

6 years agoqtmux: add some more documentation
Mark Nauwelaerts [Mon, 3 Jan 2011 09:43:15 +0000 (10:43 +0100)]
qtmux: add some more documentation

6 years agoqtmux: remove large-file property
Mark Nauwelaerts [Fri, 3 Dec 2010 14:23:00 +0000 (15:23 +0100)]
qtmux: remove large-file property

Rather, auto-determine if 64-bits fields are needed for a valid result, and
stick to plain 32-bits if not needed.

API: GstQTMux:large-file (removed)

6 years agoqtmux: Free AtomInfo structs
Sebastian Dröge [Sun, 19 Dec 2010 11:53:34 +0000 (12:53 +0100)]
qtmux: Free AtomInfo structs

6 years agoqtmux: Free tag string after use
Sebastian Dröge [Sun, 19 Dec 2010 11:50:30 +0000 (12:50 +0100)]
qtmux: Free tag string after use

6 years agotagschecking: Fix some more memory leaks
Sebastian Dröge [Sun, 19 Dec 2010 11:12:25 +0000 (12:12 +0100)]
tagschecking: Fix some more memory leaks

6 years agoqtmux: allow zero duration tracks
Lasse Laukkanen [Fri, 17 Dec 2010 17:41:25 +0000 (19:41 +0200)]
qtmux: allow zero duration tracks

6 years agoqtmux: add documentation
Mark Nauwelaerts [Fri, 3 Dec 2010 17:09:41 +0000 (18:09 +0100)]
qtmux: add documentation

6 years agoqtmux: handle msvc ftruncate incompatibility
David Hoyt [Wed, 1 Dec 2010 09:45:49 +0000 (10:45 +0100)]
qtmux: handle msvc ftruncate incompatibility

Fixes #636185.

6 years agoqtmux: gst_qtmux_check_difference verify before subtract
Alejandro Gonzalez [Sat, 27 Nov 2010 22:07:19 +0000 (16:07 -0600)]
qtmux: gst_qtmux_check_difference verify before subtract

Avoid negative overflow by checking the order of operands
on subtraction of unsigned integers.

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

6 years agoqtmux: remove remnant of obsolete property
Mark Nauwelaerts [Fri, 19 Nov 2010 16:55:36 +0000 (17:55 +0100)]
qtmux: remove remnant of obsolete property

6 years agotests: qtmux: also unit test fragmented file cases
Mark Nauwelaerts [Fri, 19 Nov 2010 14:18:58 +0000 (15:18 +0100)]
tests: qtmux: also unit test fragmented file cases

6 years agoqtmux: allow specifying trak timescale
Marc-André Lureau [Fri, 30 Jul 2010 10:48:29 +0000 (12:48 +0200)]
qtmux: allow specifying trak timescale

This is mainly because Smoothstreaming client are broken and don't
take the TimeScale property into account.

6 years agoqtmux: include sdtp atoms for ismv fragmented files
Mark Nauwelaerts [Fri, 19 Nov 2010 16:41:41 +0000 (17:41 +0100)]
qtmux: include sdtp atoms for ismv fragmented files

Based on patch by Marc-André Lureau <mlureau@flumotion.com>

6 years agoqtmux: enable default fragmented file for ismlmux
Mark Nauwelaerts [Fri, 19 Nov 2010 18:17:45 +0000 (19:17 +0100)]
qtmux: enable default fragmented file for ismlmux

6 years agoqtmux: add ismlmux, for fragmented isml major brand
Marc-André Lureau [Thu, 2 Sep 2010 11:58:05 +0000 (13:58 +0200)]
qtmux: add ismlmux, for fragmented isml major brand

6 years agoqtmux: finalize sinkpads list
Mark Nauwelaerts [Fri, 19 Nov 2010 13:44:45 +0000 (14:44 +0100)]
qtmux: finalize sinkpads list

6 years agoqtmux: add moov in streamheader
Marc-André Lureau [Thu, 22 Jul 2010 17:40:07 +0000 (19:40 +0200)]
qtmux: add moov in streamheader

6 years agoqtmux: add streamable property to avoid building fragmented mfra index
Marc-André Lureau [Fri, 6 Aug 2010 11:26:27 +0000 (13:26 +0200)]
qtmux: add streamable property to avoid building fragmented mfra index

6 years agoqtmux: add mfra to fragmented file
Mark Nauwelaerts [Thu, 18 Nov 2010 15:48:06 +0000 (16:48 +0100)]
qtmux: add mfra to fragmented file

Based on patch by Marc-André Lureau <mlureau@flumotion.com>

6 years agoqtmux: optionally create fragmented file
Mark Nauwelaerts [Mon, 15 Nov 2010 14:17:59 +0000 (15:17 +0100)]
qtmux: optionally create fragmented file

In this mode, an initial empty moov (containing only stream metadata) is written,
followed by fragments containing actual data (along with required metadata).
New fragments are started either at keyframe (if such are sparse) or when
property configured duration exceeded.

Based on patch by Marc-André Lureau <mlureau@flumotion.com>

Fixes #632911.

6 years agoqtmux: use helper to set atom flags from given uint
Mark Nauwelaerts [Mon, 15 Nov 2010 14:12:45 +0000 (15:12 +0100)]
qtmux: use helper to set atom flags from given uint

6 years agoqtmux: refactor configuring and sending of moov
Mark Nauwelaerts [Tue, 9 Nov 2010 15:49:07 +0000 (16:49 +0100)]
qtmux: refactor configuring and sending of moov

Based on patch by Marc-André Lureau <mlureau@flumotion.com>

6 years agoqtmux: refactor extra top-level atom handling
Mark Nauwelaerts [Tue, 9 Nov 2010 14:54:44 +0000 (15:54 +0100)]
qtmux: refactor extra top-level atom handling

Also check a bit more for possible errors, and free proper items in such case.

6 years agoqtmux: refactor slightly using buffer helper
Mark Nauwelaerts [Tue, 9 Nov 2010 14:01:15 +0000 (15:01 +0100)]
qtmux: refactor slightly using buffer helper

6 years agoqtmux: fix misinforming comment
Mark Nauwelaerts [Fri, 5 Nov 2010 12:48:57 +0000 (13:48 +0100)]
qtmux: fix misinforming comment

6 years agoqtmux: delegate mvex handling to atoms
Mark Nauwelaerts [Fri, 5 Nov 2010 11:08:15 +0000 (12:08 +0100)]
qtmux: delegate mvex handling to atoms

... which keeps qtmux simpler.

6 years agoqtmux: add mvex/trex in header if fragmented
Marc-André Lureau [Mon, 28 Sep 2009 14:11:35 +0000 (16:11 +0200)]
qtmux: add mvex/trex in header if fragmented

One "trex" is added per "trak". We don't support default values,
but the "trex" box is mandatory.

6 years agoqtmux: add a couple of fourcc for fragmented mp4
Marc-André Lureau [Mon, 28 Sep 2009 11:01:30 +0000 (13:01 +0200)]
qtmux: add a couple of fourcc for fragmented mp4

6 years agoqtmux: avoid removing temp file when error occurred
Mark Nauwelaerts [Fri, 5 Nov 2010 10:08:01 +0000 (11:08 +0100)]
qtmux: avoid removing temp file when error occurred

6 years agoqtmux: truncate buffer file after each send
Marc-André Lureau [Wed, 30 Sep 2009 15:16:30 +0000 (17:16 +0200)]
qtmux: truncate buffer file after each send

6 years agoqtmux: remove temp file when reset/finalize
Marc-André Lureau [Mon, 28 Sep 2009 14:53:51 +0000 (16:53 +0200)]
qtmux: remove temp file when reset/finalize

6 years agovarious (gst): add missing G_PARAM_STATIC_STRINGS flags
Stefan Kost [Tue, 19 Oct 2010 10:43:14 +0000 (13:43 +0300)]
various (gst): add missing G_PARAM_STATIC_STRINGS flags

Canonicalize property names as needed.

6 years agoqtmux: prevent infinite loop when adjusting framerate
Mark Nauwelaerts [Wed, 13 Oct 2010 15:47:29 +0000 (17:47 +0200)]
qtmux: prevent infinite loop when adjusting framerate

Fixes #632070.

6 years agoqtmux: Add G_PARAM_STATIC_STRINGS
Thiago Santos [Mon, 4 Oct 2010 02:45:46 +0000 (23:45 -0300)]
qtmux: Add G_PARAM_STATIC_STRINGS

Add G_PARAM_STATIC_STRINGS to qtmux properties

6 years agoqtmux: Follow xmp serialization guidelines closer
Thiago Santos [Wed, 15 Sep 2010 20:54:49 +0000 (17:54 -0300)]
qtmux: Follow xmp serialization guidelines closer

qt and isom variants have different ways of serializing
xmp, follow these guidelines.

Those can be found in Adobe's xmp docs.

6 years agoqtmux: autodetect out-of-order input timestamps and determine DTS accordingly
Mark Nauwelaerts [Mon, 16 Aug 2010 10:36:24 +0000 (12:36 +0200)]
qtmux: autodetect out-of-order input timestamps and determine DTS accordingly

Favour using input buffer timestamps for DTS, but fallback to using buffer
duration (accumulation) if input ts detected out-of-order.

Fixes #624212.

6 years agoqtmux: use caps bitrate at last chance
Marc-André Lureau [Wed, 28 Jul 2010 14:15:53 +0000 (16:15 +0200)]
qtmux: use caps bitrate at last chance

If we didn't get the stream's bitrate from one of the atoms,
try getting it from the caps as a last resort.

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

6 years agoqtmux: btrt - max bitrate before average
Marc-André Lureau [Wed, 28 Jul 2010 14:12:11 +0000 (16:12 +0200)]
qtmux: btrt - max bitrate before average

According to iso base media file format, the max bitrate
is before the avg

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

6 years agoqtmux: Write 'btrt' atom for H.264 media if possible
Arun Raghavan [Tue, 6 Jul 2010 09:18:08 +0000 (14:48 +0530)]
qtmux: Write 'btrt' atom for H.264 media if possible

This writes out the optional 'btrt' atom (MPEG4BitrateBox) for H.264
media if either or both of average and maximum bitrate are available for
the stream.

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

6 years agoqtmux: Write avg/max bitrate to ESDS if available
Arun Raghavan [Mon, 5 Jul 2010 08:39:50 +0000 (14:09 +0530)]
qtmux: Write avg/max bitrate to ESDS if available

This collects the 'bitrate' and 'maximum-bitrate' tags on the
corresponding pad and uses these to populate these fields in the ESDS
where applicable.

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

6 years agoqtmux: Don't use bogus codec/format tags
Edward Hervey [Fri, 2 Jul 2010 10:45:20 +0000 (12:45 +0200)]
qtmux: Don't use bogus codec/format tags

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

6 years agoqtmux: Write uint tags that don't have a complement
Thiago Santos [Fri, 25 Jun 2010 23:19:20 +0000 (20:19 -0300)]
qtmux: Write uint tags that don't have a complement

Write uint tags that have complements (e.g. track-number/
track-count) even when we only have one of them available
and set the other one to 0.

Fixes #622484

6 years agoqtmux: Remove the pad from our internal list before calling collectpads
Edward Hervey [Mon, 21 Jun 2010 17:39:54 +0000 (19:39 +0200)]
qtmux: Remove the pad from our internal list before calling collectpads

Previously we would end up with the collectpaddata structure already freed.
This would result in a bogus iteration of mux->sinkpads (all the
GstQTPad being freed) and it wouldn't be removed from that list.

Finally, due to it not being removed from that list, we would end up
calling a bogus gst_qt_mux_pad_reset on those structures => SEGFAULT

6 years agoqtmux: Add VP8
David Schleef [Thu, 13 May 2010 01:50:34 +0000 (18:50 -0700)]
qtmux: Add VP8

6 years agotests: don't fail tagschecking test if qtdemux is not available or too old
Tim-Philipp Müller [Tue, 11 May 2010 12:15:37 +0000 (13:15 +0100)]
tests: don't fail tagschecking test if qtdemux is not available or too old

6 years agoqtmux: use GStreamer package name and origin in the plugin info
Tim-Philipp Müller [Sat, 27 Mar 2010 09:46:30 +0000 (09:46 +0000)]
qtmux: use GStreamer package name and origin in the plugin info

6 years agotests: tagschecking: New tags tests
Thiago Santos [Tue, 23 Mar 2010 20:34:30 +0000 (17:34 -0300)]
tests: tagschecking: New tags tests

Adds new tags checking tests.

6 years agoqtmux: init debug category before using it
Tim-Philipp Müller [Thu, 25 Mar 2010 00:20:54 +0000 (00:20 +0000)]
qtmux: init debug category before using it

6 years agoAdd -Wold-style-definition
Benjamin Otte [Mon, 22 Mar 2010 15:56:03 +0000 (16:56 +0100)]
Add -Wold-style-definition

and fix the warnings

6 years agoAdd -Wwrite-strings
Benjamin Otte [Mon, 22 Mar 2010 12:16:33 +0000 (13:16 +0100)]
Add -Wwrite-strings

and fix its warnings

6 years agoAdd -Wmissing-declarations -Wmissing-prototypes to configure flags
Benjamin Otte [Sun, 21 Mar 2010 20:39:18 +0000 (21:39 +0100)]
Add -Wmissing-declarations -Wmissing-prototypes to configure flags

And fix all warnings

6 years agogst_element_class_set_details => gst_element_class_set_details_simple
Benjamin Otte [Thu, 18 Mar 2010 16:30:26 +0000 (17:30 +0100)]
gst_element_class_set_details => gst_element_class_set_details_simple

6 years agotests: tagschecking: Improvements and new geo-location tests
Thiago Santos [Fri, 12 Mar 2010 14:28:51 +0000 (11:28 -0300)]
tests: tagschecking: Improvements and new geo-location tests

Makes some improvements to tagschecking.c, making it use
fakesrc instead of videotestsrc and allowing to set input
caps so that more muxers can be used. Previously we could
only use those that accepted raw video caps.

Also adds some tests for geo-location tags

6 years agoqtmux: Use xmp on mp4mux and gppmux too
Thiago Santos [Fri, 12 Mar 2010 13:53:36 +0000 (10:53 -0300)]
qtmux: Use xmp on mp4mux and gppmux too

Do not restrict xmp to qtmux, but use it too
on mp4mux and gppmux

6 years agocheck: tagschecking: tests for tags serialization in muxers
Thiago Santos [Fri, 5 Mar 2010 16:33:37 +0000 (13:33 -0300)]
check: tagschecking: tests for tags serialization in muxers

Adds a check unit test that aims to test tags serialization
and deserialization consistency (in muxers). It provides a
basic function that allows one to easily specify tags, a
muxer and a demuxer and a test will be done to check if
the tags have been consistently muxed and demuxed

6 years agoqtmux: add xmp support
Thiago Santos [Mon, 22 Feb 2010 19:45:34 +0000 (16:45 -0300)]
qtmux: add xmp support

Adds xmp metatags adding to qtmux.

Fixes #609539

6 years agoqtmux: fix GST_ELEMENT_ERROR usage
Tim-Philipp Müller [Thu, 11 Mar 2010 17:17:15 +0000 (17:17 +0000)]
qtmux: fix GST_ELEMENT_ERROR usage

We need to pass (NULL) rather than NULL for empty arguments.

6 years agoqtmux: fix compile error
Rob Clark [Wed, 10 Mar 2010 16:23:23 +0000 (10:23 -0600)]
qtmux: fix compile error

gst/quicktime/gstqtmoovrecover.c:268: warning: format not a string literal and no format arguments

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

6 years agoqtmux: Rename 'avc-sample' to 'avc' in caps
Thiago Santos [Mon, 22 Feb 2010 22:38:15 +0000 (19:38 -0300)]
qtmux: Rename 'avc-sample' to 'avc' in caps

Fixes #606662

6 years agoqtmux: Take lock around use of (non-threadsafe) tagsetter interface.
Michael Smith [Fri, 26 Feb 2010 19:50:25 +0000 (11:50 -0800)]
qtmux: Take lock around use of (non-threadsafe) tagsetter interface.

6 years agoqtmux: write all udta children atoms
Thiago Santos [Mon, 22 Feb 2010 19:51:00 +0000 (16:51 -0300)]
qtmux: write all udta children atoms

UDTA might have META and other children atoms
together, write them all.

6 years agoqtmux: Use internal sink pads list
Thiago Santos [Mon, 22 Feb 2010 13:48:11 +0000 (10:48 -0300)]
qtmux: Use internal sink pads list

Due to GstCollectPads sink pads list being not reliably
iteratable (when not inside the collected function) this
patch adds a sink pads list to qtmux to be used when iterating
sink pads on reset function.

Fixes #609055

6 years agoqtmux: prevent leaking hdlr name
Mark Nauwelaerts [Tue, 16 Feb 2010 16:13:09 +0000 (17:13 +0100)]
qtmux: prevent leaking hdlr name

6 years agoqtmux: support for ALAC
Mark Nauwelaerts [Tue, 16 Feb 2010 15:24:12 +0000 (16:24 +0100)]
qtmux: support for ALAC

Fixes #580731.

6 years agoqtmux: refactor building stsd entry 'wave' extension
Mark Nauwelaerts [Tue, 16 Feb 2010 13:19:04 +0000 (14:19 +0100)]
qtmux: refactor building stsd entry 'wave' extension

6 years agoqtmux: atomsrecovery: Fix compilation problem
Thiago Santos [Mon, 8 Feb 2010 14:51:52 +0000 (11:51 -0300)]
qtmux: atomsrecovery: Fix compilation problem

Fixes a compilation error due to unused function result.

6 years agoqtmux: Adds moov recovery feature
Thiago Santos [Sat, 12 Dec 2009 19:07:15 +0000 (16:07 -0300)]
qtmux: Adds moov recovery feature

Adds a new property to qtmux that sets a path to a file to write
and update data about the moov atom (that is not writen till the
end of the file). If the pipeline/app crashes during execution it
might be possible to recover the movie using the qtmoovrecover element.

qtmoovrecover is an element that is also a pipeline. It is not
meant to be used with other elements (it has no pads). It is merely
a tool/utilitary to recover unfinished qtmux files.

Fixes #601576

6 years agoqtmux: for fixed-sample size streams (PCM audio, etc) don't allocate an enormous
Michael Smith [Thu, 28 Jan 2010 03:06:53 +0000 (19:06 -0800)]
qtmux: for fixed-sample size streams (PCM audio, etc) don't allocate an enormous
buffer that we then won't use at all.

6 years agoqtmux: handle muxing adpcm correctly.
Michael Smith [Wed, 27 Jan 2010 23:37:37 +0000 (15:37 -0800)]
qtmux: handle muxing adpcm correctly.

6 years agoqtmux: Set the mdia hdlr name field to what quicktime uses. Fix writing it
Michael Smith [Fri, 22 Jan 2010 21:36:04 +0000 (13:36 -0800)]
qtmux: Set the mdia hdlr name field to what quicktime uses. Fix writing it
since it's not null-terminated. Improves compatibility with some hardware
players.

6 years agoqtmux: endianness in gstreamer is an int, not boolean.
Michael Smith [Fri, 22 Jan 2010 21:30:07 +0000 (13:30 -0800)]
qtmux: endianness in gstreamer is an int, not boolean.

6 years agoqtmux: streamline moov data memory storage
Mark Nauwelaerts [Tue, 26 Jan 2010 16:54:28 +0000 (17:54 +0100)]
qtmux: streamline moov data memory storage

In particular, use arrays rather than (double) linked lists.

6 years agoqtmux: g_free is NULL safe
Thiago Santos [Tue, 26 Jan 2010 16:44:04 +0000 (13:44 -0300)]
qtmux: g_free is NULL safe

6 years ago[cleanup] Various style and cleanups
Benjamin Otte [Wed, 20 Jan 2010 12:30:48 +0000 (13:30 +0100)]
[cleanup] Various style and cleanups

Various fixes for gtk-doc warnings and making functions without
arguments take void as parameter.

6 years agoqtmux: Actually use new caps info on renegotiation
Thiago Santos [Thu, 14 Jan 2010 11:09:03 +0000 (08:09 -0300)]
qtmux: Actually use new caps info on renegotiation

Following the previous qtmux commit, this patch tries
to use the new info added to the caps to fill the 'trak'
atom's fields and children atoms. This way qtmux will
use the late added 'codec_data' when h264parse adds
it in the following pipeline:

videotestsrc num-buffers=200 ! x264enc byte-stream=true ! \
h264parse output-format=0 ! qtmux ! \
filesink location=test.mov

6 years agoqtmux: Do caps renegotiation when it only adds fields
Thiago Santos [Thu, 14 Jan 2010 02:33:51 +0000 (23:33 -0300)]
qtmux: Do caps renegotiation when it only adds fields

Qtmux can accept caps renegotiation if the new caps is a
superset of the old one, meaning upstream added new info to
the caps. This patch still doesn't make qtmux update any
atoms info from the new info, but at least it doesn't
reject the new caps anymore.

A pipeline that reproduces this use case is:

videotestsrc num-buffers=200 ! x264enc byte-stream=true ! \
h264parse output-format=0 ! qtmux ! \
filesink location=test.mov

6 years agoqtmux: provide request pads under wider conditions
Mark Nauwelaerts [Wed, 13 Jan 2010 18:30:45 +0000 (19:30 +0100)]
qtmux: provide request pads under wider conditions

Fixes #606859.

6 years agoqtmux: Only accept avc-sample h264
Thiago Santos [Wed, 13 Jan 2010 13:35:00 +0000 (10:35 -0300)]
qtmux: Only accept avc-sample h264

qtmux and mp4mux should only accept h264 in avc-sample
format

6 years agoRename aac's stream-format 'none' to 'raw'
Thiago Santos [Mon, 11 Jan 2010 16:13:41 +0000 (13:13 -0300)]
Rename aac's stream-format 'none' to 'raw'

Renames aac's stream-format from previous commits from none to
raw

6 years agoqtmux: Only accept stream-format='none' aac
Thiago Santos [Mon, 11 Jan 2010 13:34:32 +0000 (10:34 -0300)]
qtmux: Only accept stream-format='none' aac

Only accept raw aac streams (stream-format=none) to avoid
generating invalid files.

Fixes #604925

6 years agoqtmux: also add .h file changes to unbreak the build
Stefan Kost [Mon, 28 Dec 2009 09:34:35 +0000 (11:34 +0200)]
qtmux: also add .h file changes to unbreak the build

6 years agoqtmux: use correct names from template for request pads
Stefan Kost [Sun, 27 Dec 2009 21:51:50 +0000 (23:51 +0200)]
qtmux: use correct names from template for request pads

The pads where names pad0, pad1, ...

6 years agoqtmux: move errors _new_pad to the end
Stefan Kost [Sun, 27 Dec 2009 21:32:58 +0000 (23:32 +0200)]
qtmux: move errors _new_pad to the end

6 years agoqtmux: Accept non-paired uint tags
Thiago Santos [Mon, 21 Dec 2009 16:58:30 +0000 (13:58 -0300)]
qtmux: Accept non-paired uint tags

Adds support for unpaired unsigned interger tags

6 years agoqtmux: Adds new tags
Thiago Santos [Mon, 21 Dec 2009 15:05:37 +0000 (12:05 -0300)]
qtmux: Adds new tags

Maps more tags that are already posted by qtdemux

Fixes #599759

6 years agoqtmux: support more of j2k
Thiago Santos [Fri, 11 Dec 2009 01:20:45 +0000 (22:20 -0300)]
qtmux: support more of j2k

Reads the new caps added to qtdemux by commit
c917d65e6df0b5d585f905c7ad78a8a0a44b2cb0
and adds its corresponding atoms.

Also adds support for image/x-jpc as it is the same
as image/x-jp2, except that the buffers need to be
boxed inside a jp2c isom box before muxing. To solve
this the QTPads now have a function that (if
not NULL) is called when a buffer is collected. This
function returns a replacement to the current collected
buffer.

Fixes #598916

6 years agoqtmux: Maps 'classification' tag for 3gpp files
Thiago Santos [Thu, 10 Dec 2009 19:53:19 +0000 (16:53 -0300)]
qtmux: Maps 'classification' tag for 3gpp files

Adds the mapping of 'classification' tags to writing of
'clsf' atoms for gppmux.

Based on a patch by: Lasse Laukkanen <ext-lasse.2.laukkanen@nokia.com>

6 years agoqtmux: remove c++ comments and add some more comments.
Michael Smith [Wed, 9 Dec 2009 01:59:04 +0000 (17:59 -0800)]
qtmux: remove c++ comments and add some more comments.

6 years agoqtmux: add ima adpcm support
Michael Smith [Wed, 9 Dec 2009 01:55:56 +0000 (17:55 -0800)]
qtmux: add ima adpcm support

6 years agoqtmux: replace _scale with _scale_round
Thiago Santos [Thu, 26 Nov 2009 00:41:27 +0000 (21:41 -0300)]
qtmux: replace _scale with _scale_round

Use the rounding version for improved sync between streams.
Small variations in the duration when muxing might lead to
cumullative wrong timestamping when demuxing.

Fixes #602936

6 years agoqtmux: use timestamps for muxing
Thiago Santos [Tue, 24 Nov 2009 19:16:56 +0000 (16:16 -0300)]
qtmux: use timestamps for muxing

Try to use timestamps even when the stream has out of order
timestamps, only fall back to durations when we detect an
out of order buffer. Improves sync between streams.

6 years agoqtmux: fix missing debug argument
Thiago Santos [Thu, 19 Nov 2009 21:28:52 +0000 (18:28 -0300)]
qtmux: fix missing debug argument

Adds a missing debug argument

6 years agoqtmux: fix misinforming debug statement
Mark Nauwelaerts [Thu, 19 Nov 2009 10:36:14 +0000 (11:36 +0100)]
qtmux: fix misinforming debug statement

6 years agoqtmux: ensure writable buffer metadata before setting caps
Mark Nauwelaerts [Thu, 19 Nov 2009 10:14:57 +0000 (11:14 +0100)]
qtmux: ensure writable buffer metadata before setting caps

6 years agoqtmux: support for SVQ3
Thiago Santos [Thu, 29 Oct 2009 11:36:02 +0000 (08:36 -0300)]
qtmux: support for SVQ3

Adds support for muxing SVQ3 content. Usually this format
has decoder info that must be passed in the 'seqh' field
in the caps. It is also good to add the gama atom to make
quicktime not crash.

Fixes #587922

6 years agoqtmux: do not leak a string
Thiago Sousa Santos [Tue, 17 Nov 2009 12:26:05 +0000 (09:26 -0300)]
qtmux: do not leak a string

Frees a string after use. Also does some code organization

6 years agoqtmux: do not add size to the pointer variable
Thiago Sousa Santos [Mon, 16 Nov 2009 17:57:53 +0000 (14:57 -0300)]
qtmux: do not add size to the pointer variable

Do not wrongly add the result of the function to the
pointer to the buffer size. Instead, check the result
to see if the serialization was ok.

Based on a patch by: "Carsten Kroll <car@ximidi.com>"

Fixes #602106

6 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