platform/upstream/gstreamer.git
13 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.

13 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

13 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

13 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

13 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

13 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

13 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

13 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

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

13 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

13 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

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

13 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

13 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

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

and fix its warnings

13 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

13 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

13 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

13 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

13 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

13 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

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

13 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

13 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

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

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

13 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

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

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

Fixes #580731.

13 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

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

13 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

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

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

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

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

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

13 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

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

13 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

13 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

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

13 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

13 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

13 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

13 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

13 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, ...

13 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

13 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

13 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

13 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

13 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>

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

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

13 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

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

13 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

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

13 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

13 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

13 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

13 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

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.