Mark Nauwelaerts
f03dc57faf
qtmux: add mfra to fragmented file
...
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
68d5ab1a1d
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 .
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
bd46298ca6
qtmux: use helper to set atom flags from given uint
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
857efb4917
qtmux: refactor configuring and sending of moov
...
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
e361a0b3ce
qtmux: refactor extra top-level atom handling
...
Also check a bit more for possible errors, and free proper items in such case.
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
261df7636e
qtmux: refactor slightly using buffer helper
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
3fea86fa60
qtmux: fix misinforming comment
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
1a279a9466
qtmux: delegate mvex handling to atoms
...
... which keeps qtmux simpler.
2010-11-19 19:21:36 +01:00
Marc-André Lureau
78d2d8598d
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.
2010-11-19 19:21:36 +01:00
Marc-André Lureau
84d8b33d1a
qtmux: add a couple of fourcc for fragmented mp4
2010-11-19 19:21:36 +01:00
Mark Nauwelaerts
7e4c96359f
qtmux: avoid removing temp file when error occurred
2010-11-19 19:21:36 +01:00
Marc-André Lureau
401fb0a09b
qtmux: truncate buffer file after each send
2010-11-19 19:21:36 +01:00
Marc-André Lureau
055a1a3b0a
qtmux: remove temp file when reset/finalize
2010-11-19 19:21:36 +01:00
Stefan Kost
0c22e1b954
various (gst): add missing G_PARAM_STATIC_STRINGS flags
...
Canonicalize property names as needed.
2010-10-19 15:47:17 +03:00
Mark Nauwelaerts
231d4d9bdc
qtmux: prevent infinite loop when adjusting framerate
...
Fixes #632070 .
2010-10-13 17:48:34 +02:00
Thiago Santos
4697cffbee
qtmux: Add G_PARAM_STATIC_STRINGS
...
Add G_PARAM_STATIC_STRINGS to qtmux properties
2010-10-03 23:47:29 -03:00
Thiago Santos
8047346898
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.
2010-09-15 22:07:05 -03:00
Mark Nauwelaerts
0ee6ce901d
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 .
2010-08-21 21:15:21 +02:00
Marc-André Lureau
691901da51
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
2010-07-28 12:23:21 -03:00
Marc-André Lureau
2e17f7cbf7
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
2010-07-28 12:20:52 -03:00
Arun Raghavan
c28613d8db
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
2010-07-07 23:21:51 -03:00
Arun Raghavan
827e401e3a
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
2010-07-07 23:21:51 -03:00
Edward Hervey
e5ce188b1d
qtmux: Don't use bogus codec/format tags
...
https://bugzilla.gnome.org/show_bug.cgi?id=623365
2010-07-02 12:46:08 +02:00
Thiago Santos
be3a4b7978
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
2010-06-25 20:19:20 -03:00
Edward Hervey
02cc3313b4
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
2010-06-21 19:42:50 +02:00
David Schleef
d1cfc50507
qtmux: Add VP8
2010-05-19 19:24:04 +02:00
Tim-Philipp Müller
4162f0d58e
qtmux: use GStreamer package name and origin in the plugin info
2010-03-30 00:46:51 +01:00
Tim-Philipp Müller
0c97f9a9be
qtmux: init debug category before using it
2010-03-25 00:20:54 +00:00
Benjamin Otte
240f494aa7
Add -Wold-style-definition
...
and fix the warnings
2010-03-22 16:56:03 +01:00
Benjamin Otte
33c2f5fb01
Add -Wwrite-strings
...
and fix its warnings
2010-03-22 13:16:33 +01:00
Benjamin Otte
f96e4f1581
Add -Wmissing-declarations -Wmissing-prototypes to configure flags
...
And fix all warnings
2010-03-21 21:39:18 +01:00
Benjamin Otte
775c7584fd
gst_element_class_set_details => gst_element_class_set_details_simple
2010-03-18 22:46:41 +01:00
Thiago Santos
ca30c1d915
qtmux: Use xmp on mp4mux and gppmux too
...
Do not restrict xmp to qtmux, but use it too
on mp4mux and gppmux
2010-03-12 11:50:48 -03:00
Thiago Santos
5e88363430
qtmux: add xmp support
...
Adds xmp metatags adding to qtmux.
Fixes #609539
2010-03-11 16:42:31 -03:00
Tim-Philipp Müller
af5565a62b
qtmux: fix GST_ELEMENT_ERROR usage
...
We need to pass (NULL) rather than NULL for empty arguments.
2010-03-11 17:21:52 +00:00
Rob Clark
71d0e513fa
qtmux: fix compile error
...
gst/qtmux/gstqtmoovrecover.c:268: warning: format not a string literal and no format arguments
https://bugzilla.gnome.org/show_bug.cgi?id=612454
2010-03-11 17:52:00 +01:00
Thiago Santos
4a629eea25
qtmux: Rename 'avc-sample' to 'avc' in caps
...
Fixes #606662
2010-03-01 17:59:13 -03:00
Michael Smith
bcdb7d4851
qtmux: Take lock around use of (non-threadsafe) tagsetter interface.
2010-02-26 11:50:25 -08:00
Thiago Santos
0922dbc22e
qtmux: write all udta children atoms
...
UDTA might have META and other children atoms
together, write them all.
2010-02-22 16:51:00 -03:00
Thiago Santos
ca136fe76b
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
2010-02-22 10:50:49 -03:00
Mark Nauwelaerts
1da893ba68
qtmux: prevent leaking hdlr name
2010-02-16 17:13:09 +01:00
Mark Nauwelaerts
eed915a6fb
qtmux: support for ALAC
...
Fixes #580731 .
2010-02-16 16:26:48 +01:00
Mark Nauwelaerts
fdfdda8f09
qtmux: refactor building stsd entry 'wave' extension
2010-02-16 16:26:45 +01:00
Thiago Santos
bcbdd12fb3
qtmux: atomsrecovery: Fix compilation problem
...
Fixes a compilation error due to unused function result.
2010-02-08 11:51:52 -03:00
Thiago Santos
e1c1405396
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
2010-02-02 14:03:38 -03:00
Michael Smith
80b3d80a58
qtmux: for fixed-sample size streams (PCM audio, etc) don't allocate an enormous
...
buffer that we then won't use at all.
2010-02-01 16:24:39 -08:00
Michael Smith
4b28a46bc7
qtmux: handle muxing adpcm correctly.
2010-02-01 16:23:48 -08:00
Michael Smith
e1fe7f357f
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.
2010-02-01 16:23:47 -08:00
Michael Smith
5753f8a3aa
qtmux: endianness in gstreamer is an int, not boolean.
2010-02-01 16:23:47 -08:00
Mark Nauwelaerts
a42e890470
qtmux: streamline moov data memory storage
...
In particular, use arrays rather than (double) linked lists.
2010-01-27 12:56:18 +01:00