Mark Nauwelaerts
8b910885ec
matroskademux: additional lock safety
...
Fixes #619590 .
2011-05-16 13:30:10 +02:00
Mark Nauwelaerts
4db6dce2db
qtdemux: also check for bitrate info in caps
2011-05-16 13:30:06 +02:00
Arun Raghavan
f89caeff5c
qtdemux: guess bitrate if only one stream's bitrate is unknown
...
If the bitrates for all but one audio/video streams are known, and the
total stream size and duration can be determined, this calculates the
unkown bitrate as (stream size / duration) - (sum of known bitrates).
While this is not guaranteed to be very accurate, it should be good
enough for most purposes.
For example, this is useful for H.263 + AAC streams where no 'btrt' atom
is available for the video portion.
https://bugzilla.gnome.org/show_bug.cgi?id=619548
2011-05-16 13:29:56 +02:00
Arun Raghavan
6e2774af55
qtdemux: Export max bitrate for AMR-NB/-WB streams
...
This parses the 'damr' atom if present, and exports the maximum bitrate
of the stream using the mode set field to determine the highest bitrate
frame type that might be present.
https://bugzilla.gnome.org/show_bug.cgi?id=620186
2011-05-16 13:29:50 +02:00
Debarshi Ray
bdc464a778
matroskademux: calculate segment duration after parsing all the IDs
...
Since the segment duration is given in terms of the
GST_MATROSKA_ID_TIMECODESCALE we should only convert it into
nanoseconds when we are sure that any scale specified in the file has
been read.
https://bugzilla.gnome.org/show_bug.cgi?id=650258
2011-05-16 08:56:06 +02:00
Andoni Morales Alastruey
5b99b910ec
flvmux: Add support for mpegversion 2, which is also AAC
2011-05-14 11:52:13 +02:00
Sebastian Dröge
88203989cd
wavenc: Set fixedcaps getcaps function on the sinkpad
...
wavenc does not allow to change the caps during playback
and always returning the template caps is just wrong.
2011-05-14 11:52:12 +02:00
Sebastian Dröge
f8ed8dd613
wavenc: Allow setcaps to be called after a format was negotiated if it's compatible
...
Otherwise wavenc will fail if upstream decides to set equivalent caps or caps
with additional information later.
Thanks to Alexander Schremmer for finding this bug.
2011-05-14 11:52:12 +02:00
Edward Hervey
cca48a42c6
qtmux: Fix signed floating point values writing
...
You would end up on some architectures with 0 being written out
instead of the proper value.
https://bugzilla.gnome.org/show_bug.cgi?id=649449
2011-05-05 15:10:09 +02:00
Mark Nauwelaerts
fc94b78fe1
matroskamux: avoid building index when streamable
...
... as it will not be written anyway.
Fixes #648937 (?).
2011-05-04 13:12:16 +02:00
Tom Janiszewski
b9c2f8b38f
flvmux: don't overwrite metadata tag with duration in streaming mode
...
A duration tag gets inserted only for streamable=false, so only
update/write the duration later if we actually inserted that tag,
otherwise we write garbage into other tags.
https://bugzilla.gnome.org/show_bug.cgi?id=649060
2011-05-01 14:13:50 +01:00
Tim-Philipp Müller
c25bf5dc34
quicktime: rename plugin to isomp4
...
https://bugzilla.gnome.org/show_bug.cgi?id=648004
2011-04-30 17:58:02 +01:00
Wim Taymans
63a17f4ec9
audioparsers: fix some parsers
2011-04-29 17:55:28 +02:00
Wim Taymans
b121bb0ae9
audiofx: fix pad_alloc
2011-04-29 15:46:21 +02:00
Wim Taymans
31ffc671f2
rtpgstpay: fix buffer leak
2011-04-26 16:04:07 +01:00
Wim Taymans
eb84592cad
rtpgstpay: fix buffer leak
2011-04-26 15:58:12 +02:00
Wim Taymans
9a96783abb
rtp: port some more elements
2011-04-25 18:14:45 +02:00
Wim Taymans
bf9b4f8362
rtp: port more to 0.11
2011-04-25 17:27:40 +02:00
Wim Taymans
60db07b4bb
rtp: port some more (de)payloaders
2011-04-25 13:16:58 +02:00
Wim Taymans
237ca1631f
port some more elements to 0.11
2011-04-25 12:49:36 +02:00
Wim Taymans
a1894ed363
Merge branch 'master' into 0.11
2011-04-25 11:38:28 +02:00
David Schleef
bddac50961
avimux,matroskamux: Add stream-format to h264 caps
...
Fixes #606662 .
2011-04-24 18:56:02 -07:00
Tim-Philipp Müller
234fd201c9
quicktime: rename plugin filename from *qtdemux* to *quicktime*
...
https://bugzilla.gnome.org/show_bug.cgi?id=648004
2011-04-24 14:14:27 +01:00
Tim-Philipp Müller
3346a53374
docs: add various qtmux variants to documentation
2011-04-21 23:30:26 +01:00
Tim-Philipp Müller
0671b2325e
quicktime: register 3gppmux element in addition to the misnamed gppmux
2011-04-21 22:51:52 +01:00
Olivier Crête
42531337f5
rtpsession: Remove incomplete support for RTCP FIR
...
Remove bits that were meant to suppport RTCP FIR
https://bugzilla.gnome.org/show_bug.cgi?id=648160
2011-04-20 07:50:43 +01:00
Wim Taymans
77acc618e1
use G_DEFINE_TYPE some more
2011-04-19 17:35:47 +02:00
Wim Taymans
a80f3a5d74
avi: use G_DEFINE_TYPE
2011-04-19 17:20:19 +02:00
Wim Taymans
dea50d0b98
use G_DEFINE_TYPE
2011-04-19 17:07:18 +02:00
Wim Taymans
d67288dd03
Merge branch 'master' into 0.11
2011-04-19 16:25:28 +02:00
Tim-Philipp Müller
bb23575f6b
flvdemux: fix deadlock on setting index on flvdemux
2011-04-19 14:34:48 +01:00
Wim Taymans
4aa6ca5578
port more plugins to 0.11
2011-04-18 10:54:43 +02:00
Wim Taymans
7555d0949f
Merge branch 'master' into 0.11
...
Conflicts:
android/apetag.mk
android/avi.mk
android/flv.mk
android/icydemux.mk
android/id3demux.mk
android/qtdemux.mk
android/rtp.mk
android/rtpmanager.mk
android/rtsp.mk
android/soup.mk
android/udp.mk
android/wavenc.mk
android/wavparse.mk
configure.ac
2011-04-18 10:23:45 +02:00
Tim-Philipp Müller
75d5c41f29
avidemux: fix 'variable may be used uninitialized' warnings caused by -DG_DISABLE_ASSERT
2011-04-17 01:29:01 +01:00
Tim-Philipp Müller
9be707d54d
gst: update disted orc backup code
2011-04-16 18:49:27 +01:00
Tim-Philipp Müller
cf953fe923
qtmux: refuse incomplete legacy h264 caps
...
Refuse h264 caps without stream-format and codec_data fields for
now, to avoid creating broken files. This might cause some pipelines
that worked previously to fail. However, the move from -bad to -good
is our only chance to fix this up, so make it strict for now. We can
always change it back to be less strict in future.
https://bugzilla.gnome.org/show_bug.cgi?id=647919
2011-04-16 18:17:01 +01:00
Tim-Philipp Müller
f325935314
pulse, speexenc, rtpgsmpay: don't use g_assert() for error handling
...
Don't use g_assert() for error handling, even if they're highly unlikely.
Either we *know* that something can't happen, in which case we
should just not handle it, or we think something can happen, but it is
very very unlikely that it will ever happen, in which case we should
handle it like any other error instead of asserting.
g_assert() is best left for conditions we have control of, like checking
internal consistency of our code, not checking return values of external
code.
Fixes a bunch of warnings when compiling with -DG_DISABLE_ASSERT:
gstrtpgsmpay.c: In function 'gst_rtp_gsm_pay_handle_buffer':
gstrtpgsmpay.c:130:17: warning: variable 'rtpgsmpay' set but not used
gstspeexenc.c: In function 'gst_speex_enc_encode':
gstspeexenc.c:904:19: warning: variable 'written' set but not used
pulsesink.c: In function 'gst_pulsesink_change_state':
pulsesink.c:2725:9: warning: variable 'res' set but not used
pulsesrc.c: In function 'gst_pulsesrc_change_state':
pulsesrc.c:1253:7: warning: variable 'e' set but not used
2011-04-16 18:15:43 +01:00
Tim-Philipp Müller
c2bc6327cd
deinterlace, matroska: fix two variable-may-be-used-uninitialized compiler warnings
...
We use -DG_DISABLE_ASSERT for the pre-releases, which makes these
warnings pop up in cases that were previously covered by g_assert_not_reached()
and the like:
tvtime/greedyh.c:801:14: warning: 'scanline' may be used uninitialized in this function
matroska-mux.c:501:19: warning: 'context' may be used uninitialized in this function
2011-04-16 16:51:32 +01:00
Sebastian Dröge
8a4ae3dd2d
apedemux: Port to 0.11
2011-04-16 14:45:25 +02:00
Robert Swain
b5c8c7708b
y4mencode: shapewipe: Address unused but set variables
...
GCC 4.6.x complains about such usage.
2011-04-16 13:12:50 +01:00
Robert Swain
e757793b21
videomixer: Fix argb/rgba overlay orc code
...
Remove some redundant operations (convubw) and use the correct variable,
t2, in the orc_overlay_bgra function.
2011-04-16 13:00:49 +01:00
Robert Swain
fd6ac6aa8a
videomixer: address unused but set variables
...
GCC 4.6.x spits warnings about variables that are set but unused. Such
variables have been removed in blend, collectpads2 and videomixer2.
2011-04-16 12:52:49 +01:00
Robert Swain
5b18c652fb
rtp, rtpmanager: Address unused but set variables
...
GCC 4.6.x spits warnings about variables that are unused but set. Such
variables have been removed where trivial but with comments left behind
for informational purposes in some cases.
gst_rtp_session_chain_recv_rtcp () was changed in commit 490113d4
to always return GST_FLOW_OK instead of the return value of
rtp_session_process_rtcp (), so we'll keep it that way.
2011-04-16 12:49:16 +01:00
Robert Swain
1c6e8682ec
quicktime: Remove unused but set variables
...
GCC 4.6.x spits warnings about such variable usage. Note that some
calculations are left as comments for informative purposes.
2011-04-16 12:46:12 +01:00
Robert Swain
d596c2e926
matroska: Remove unused but set variables
...
GCC 4.6.x spits warnings about such variable usage.
2011-04-16 12:40:53 +01:00
Robert Swain
101087a23a
imagefreeze: Remove unused but set duration variable
...
GCC 4.6.x spits warnings about such variable usage.
2011-04-16 12:40:40 +01:00
Robert Swain
383e99c224
flxdemux: Remove unused but set keyframe variables
...
The FIXMEs about the keyframe flag never being used are left for later
fixing, at which point the keyframe variables could be added back.
2011-04-16 12:40:30 +01:00
Robert Swain
358fa0bc7a
edgetv: Remove unused but set height variable
...
GCC 4.6.x spits warnings about such variables.
2011-04-16 12:40:17 +01:00
Tim-Philipp Müller
a0205ecd51
flacparse: update for gst_base_parse_frame_init() API change
2011-04-15 18:51:20 +01:00
Olivier Crête
9d9257916b
rtpsession: Use existing functions to parse RTCP FB packets
...
Use existing functions to get the FCI from FB packets.
https://bugzilla.gnome.org/show_bug.cgi?id=622553
2011-04-15 12:48:04 +01:00
Olivier Crête
5ccd964d86
rtpsession: marshal GstBuffer as a MiniObject instead of a pointer
...
https://bugzilla.gnome.org/show_bug.cgi?id=622553
2011-04-15 12:47:40 +01:00
David Schleef
41f3b30010
matroskademux: Better calculation of framerate
...
https://bugzilla.gnome.org/show_bug.cgi?id=647833
2011-04-15 12:27:57 +01:00
Tim-Philipp Müller
c8b5014892
qtmux: default to dts-method=reorder and presentation-time=true
...
https://bugzilla.gnome.org/show_bug.cgi?id=636699
2011-04-15 12:19:34 +01:00
Mark Nauwelaerts
4df05e76ed
qtmux: fix corner case buffer handling for reorder method
2011-04-15 12:49:02 +02:00
Sebastian Dröge
283b30e312
flvdemux: Don't leak the SEEKING query
2011-04-14 13:47:05 +02:00
Sebastian Dröge
bf046e0430
qtmoovrecover: Don't leak the static recursive mutex
2011-04-14 13:43:06 +02:00
Sebastian Dröge
54349be39f
matroskaparse: Allow webm and matroska caps and don't leak caps
2011-04-14 13:27:27 +02:00
Tim-Philipp Müller
eb15dcb473
capsdebug: fix unused-but-set-variable warnings with gcc 4.6
2011-04-13 17:22:19 +01:00
Tim-Philipp Müller
b6b59ab1c1
avidemux: fix unused-but-set-variable warning with gcc 4.6
...
Most likely a leftover from when the index parsing code was rewritten.
2011-04-13 17:22:19 +01:00
Tim-Philipp Müller
063b3d9dcd
ac3parse: fix unused-but-set-variable warning with gcc 4.6
2011-04-13 17:22:19 +01:00
Tim-Philipp Müller
c8a15a097a
videobalance: fix handling of YUV images with 'odd' widths
...
Fixes unused-but-set-variable warnings with gcc 4.6.
2011-04-13 17:22:19 +01:00
Tim-Philipp Müller
d1d3e3ea02
videoflip: fix unused-but-set-variable warnings with gcc 4.6
2011-04-13 17:22:19 +01:00
Sebastian Dröge
6f480ad0ed
audiowsinc{band,limit}: Fix check for divison by zero
2011-04-13 18:11:34 +02:00
Sebastian Dröge
de7a976531
audiowsincband: Fix range of kernel elements (lim -> lim-1)
2011-04-13 18:01:01 +02:00
Sebastian Dröge
4fd5fea2b2
audiowsinclimit: Add some more braces to make the code more readable
2011-04-13 18:00:44 +02:00
Jordi Burguet-Castell
766e437af1
audiowsinclimit: Fix range of kernel elements (lim -> lim-1) in high/low-pass filters
2011-04-13 17:57:06 +02:00
Sebastian Dröge
2575cfc4a6
audiowsincband: Add new windowing functions: gaussian, cos and hann
2011-04-13 17:52:30 +02:00
Jordi Burguet-Castell
782d6af83d
audiowsinclimimt: Add new windows to high/low-pass filters: gaussian, cosine, hann
2011-04-13 17:52:30 +02:00
Tim-Philipp Müller
d3a24dc842
matroskademux: set stream-format=byte-stream on h264 caps if there's no codec data
...
https://bugzilla.gnome.org/show_bug.cgi?id=606662
2011-04-13 16:47:05 +01:00
Thiago Santos
c385a46438
qtmux: restrict h264 some more to only accept AU-aligned AVC
...
https://bugzilla.gnome.org/show_bug.cgi?id=606662
2011-04-13 16:38:33 +01:00
Sebastian Dröge
4250ff5994
mpegaudioparse: The VBRI header is always at offset 0x20, independent of MPEG version
...
Also clean up advancing of the data pointer a bit.
Fixes bug #647659 .
2011-04-13 17:12:47 +02:00
Tim-Philipp Müller
025417f124
qtmux: add variant-less video/quicktime to source pad template caps
...
This is needed for automatic transcoding using encodebin. Our typefinder
does not always add a variant to the found caps, and encodebin needs
an *exact* match to the caps on the source pad template, so we need
to add the variant-less video/quicktime caps to the template as well
for encodebin to be able to find it. Add unit test for this as well.
https://bugzilla.gnome.org/show_bug.cgi?id=642879
2011-04-13 15:21:59 +01:00
Tim-Philipp Müller
4d780297d8
quicktime: move qtmux plugin from -bad to -good
...
https://bugzilla.gnome.org/show_bug.cgi?id=636699
2011-04-13 11:55:59 +01:00
Mark Nauwelaerts
6630f7def2
qtmux: more helpful debug error message when no needed duration on input buffers
...
Fixes #646256 .
2011-04-12 20:32:21 +01:00
Thiago Santos
aba8000188
qtmux: Adding GstTagXmpWriter interface
...
Adds GstTagXmpWriter interface support to qtmux
2011-04-12 20:32:21 +01:00
Mark Nauwelaerts
d178329eb0
qtmux: use running time for synchronization
...
See also #432612 .
2011-04-12 20:32:21 +01:00
Mark Nauwelaerts
a4fad64141
qtmux: provide for PTS metadata when so configured
...
... and not only when sort-of feeling like it.
In any case, if it turns out all really is in order,
and presumably DTS == PTS, then no ctts will be produced anyway.
2011-04-12 20:32:21 +01:00
Mark Nauwelaerts
31c26a4551
qtmux: also track original PTS buffer timestamp in reorder dts-method
2011-04-12 20:32:21 +01:00
Edward Hervey
0a884e5620
Revert "Check that collectpads exists before removing pad"
...
This reverts commit 6d8740476c
.
Depends on a core commit that was reverted
2011-04-12 20:32:21 +01:00
David Schleef
fe3a5c3f08
Check that collectpads exists before removing pad
...
The core now calls release pad from finalize, at which point
the collectpads might have already been freed.
2011-04-12 20:32:21 +01:00
Mark Nauwelaerts
20e4bdee32
qtmux: set src pads when starting file
...
... rather than at _init time, so they are also available following a
pad (de)activation cycle.
https://bugzilla.gnome.org/show_bug.cgi?id=639338
2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
ae644937fc
qtmux: adjust nasty case timestamp tracking
...
That is, all sorts of problems arise with re-ordered input timestamps that
tend to defy automagic handling for every case, so allow for a few variations
that can be tried depending on circumstances.
Also try to document accordingly.
Also fixes #638288 .
2011-04-12 20:32:20 +01:00
Felipe Contreras
62c728464e
qtmux: get rid of timestamp overprotectiveness
...
Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
b6945d4afe
qtmux: simplify and fix pts_offset storing
...
In particular, only write a ctts atom if and only if ever a non-zero offset.
2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
b852dde2db
qtmux: add some more documentation
2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
60c8ed21d5
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)
2011-04-12 20:32:20 +01:00
Sebastian Dröge
d8a690e64c
qtmux: Free AtomInfo structs
2011-04-12 20:32:20 +01:00
Sebastian Dröge
6e350ec961
qtmux: Free tag string after use
2011-04-12 20:32:20 +01:00
Lasse Laukkanen
02bdefd9ba
qtmux: allow zero duration tracks
2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
07be810e0e
qtmux: add documentation
2011-04-12 20:32:20 +01:00
David Hoyt
62484ac805
qtmux: handle msvc ftruncate incompatibility
...
Fixes #636185 .
2011-04-12 20:32:20 +01:00
Alejandro Gonzalez
04b0a37f87
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
2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
9c198ffeed
qtmux: remove remnant of obsolete property
2011-04-12 20:32:20 +01:00
Marc-André Lureau
bee00aa70f
qtmux: allow specifying trak timescale
...
This is mainly because Smoothstreaming client are broken and don't
take the TimeScale property into account.
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
92b8a00ac8
qtmux: include sdtp atoms for ismv fragmented files
...
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
f490e3a868
qtmux: enable default fragmented file for ismlmux
2011-04-12 20:32:19 +01:00
Marc-André Lureau
7a447b4372
qtmux: add ismlmux, for fragmented isml major brand
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
50464d5f93
qtmux: finalize sinkpads list
2011-04-12 20:32:19 +01:00
Marc-André Lureau
bd0d320d6c
qtmux: add moov in streamheader
2011-04-12 20:32:19 +01:00
Marc-André Lureau
61964eb109
qtmux: add streamable property to avoid building fragmented mfra index
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
26a281bdab
qtmux: add mfra to fragmented file
...
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
4b64dc2f3e
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 .
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
c61dc2ec4a
qtmux: use helper to set atom flags from given uint
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
69d07466e0
qtmux: refactor configuring and sending of moov
...
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
35e028f33b
qtmux: refactor extra top-level atom handling
...
Also check a bit more for possible errors, and free proper items in such case.
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
79f565f962
qtmux: refactor slightly using buffer helper
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
1e3da91bd1
qtmux: fix misinforming comment
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
ce865cc374
qtmux: delegate mvex handling to atoms
...
... which keeps qtmux simpler.
2011-04-12 20:32:19 +01:00
Marc-André Lureau
2618cb03af
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.
2011-04-12 20:32:18 +01:00
Marc-André Lureau
9100168eae
qtmux: add a couple of fourcc for fragmented mp4
2011-04-12 20:32:18 +01:00
Mark Nauwelaerts
c35074499a
qtmux: avoid removing temp file when error occurred
2011-04-12 20:32:18 +01:00
Marc-André Lureau
c2718fdd5f
qtmux: truncate buffer file after each send
2011-04-12 20:32:18 +01:00
Marc-André Lureau
3e6a415e52
qtmux: remove temp file when reset/finalize
2011-04-12 20:32:18 +01:00
Stefan Kost
1d1ffe234f
various (gst): add missing G_PARAM_STATIC_STRINGS flags
...
Canonicalize property names as needed.
2011-04-12 20:32:18 +01:00
Mark Nauwelaerts
a5edbe38a0
qtmux: prevent infinite loop when adjusting framerate
...
Fixes #632070 .
2011-04-12 20:32:18 +01:00
Thiago Santos
5ccc066c98
qtmux: Add G_PARAM_STATIC_STRINGS
...
Add G_PARAM_STATIC_STRINGS to qtmux properties
2011-04-12 20:32:18 +01:00
Thiago Santos
7065a65ec8
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.
2011-04-12 20:32:18 +01:00
Mark Nauwelaerts
365b419216
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 .
2011-04-12 20:32:18 +01:00
Marc-André Lureau
9e79307431
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
2011-04-12 20:32:18 +01:00
Marc-André Lureau
da6bfa460d
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
2011-04-12 20:32:18 +01:00
Arun Raghavan
9e5c575b49
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
2011-04-12 20:32:18 +01:00
Arun Raghavan
4b4398c9dd
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
2011-04-12 20:32:18 +01:00
Edward Hervey
099ad6380f
qtmux: Don't use bogus codec/format tags
...
https://bugzilla.gnome.org/show_bug.cgi?id=623365
2011-04-12 20:32:17 +01:00
Thiago Santos
ac7f4cba67
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
2011-04-12 20:32:17 +01:00
Edward Hervey
0fa380b199
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
2011-04-12 20:32:17 +01:00
David Schleef
4bb9ffa8fb
qtmux: Add VP8
2011-04-12 20:32:17 +01:00
Tim-Philipp Müller
48880abb5b
qtmux: use GStreamer package name and origin in the plugin info
2011-04-12 20:32:17 +01:00
Tim-Philipp Müller
1663c51243
qtmux: init debug category before using it
2011-04-12 20:32:17 +01:00
Benjamin Otte
6f27e4e488
Add -Wold-style-definition
...
and fix the warnings
2011-04-12 20:32:17 +01:00
Benjamin Otte
c4161b3c33
Add -Wwrite-strings
...
and fix its warnings
2011-04-12 20:32:17 +01:00
Benjamin Otte
62be91708f
Add -Wmissing-declarations -Wmissing-prototypes to configure flags
...
And fix all warnings
2011-04-12 20:32:17 +01:00
Benjamin Otte
af347a9545
gst_element_class_set_details => gst_element_class_set_details_simple
2011-04-12 20:32:17 +01:00
Thiago Santos
281ef57d2b
qtmux: Use xmp on mp4mux and gppmux too
...
Do not restrict xmp to qtmux, but use it too
on mp4mux and gppmux
2011-04-12 20:32:17 +01:00
Thiago Santos
a740adc137
qtmux: add xmp support
...
Adds xmp metatags adding to qtmux.
Fixes #609539
2011-04-12 20:32:16 +01:00
Tim-Philipp Müller
f9bba010fa
qtmux: fix GST_ELEMENT_ERROR usage
...
We need to pass (NULL) rather than NULL for empty arguments.
2011-04-12 20:32:16 +01:00
Rob Clark
ae0d32843e
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
2011-04-12 20:32:16 +01:00
Thiago Santos
8d86f34871
qtmux: Rename 'avc-sample' to 'avc' in caps
...
Fixes #606662
2011-04-12 20:32:16 +01:00
Michael Smith
8b3aca9070
qtmux: Take lock around use of (non-threadsafe) tagsetter interface.
2011-04-12 20:32:16 +01:00
Thiago Santos
953aa983bb
qtmux: write all udta children atoms
...
UDTA might have META and other children atoms
together, write them all.
2011-04-12 20:32:16 +01:00
Thiago Santos
c92785e1c2
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
2011-04-12 20:32:16 +01:00
Mark Nauwelaerts
589f70955c
qtmux: prevent leaking hdlr name
2011-04-12 20:32:16 +01:00
Mark Nauwelaerts
bcc9fe0463
qtmux: support for ALAC
...
Fixes #580731 .
2011-04-12 20:32:16 +01:00
Mark Nauwelaerts
76b6997b55
qtmux: refactor building stsd entry 'wave' extension
2011-04-12 20:32:16 +01:00
Thiago Santos
528846c5a1
qtmux: atomsrecovery: Fix compilation problem
...
Fixes a compilation error due to unused function result.
2011-04-12 20:32:16 +01:00
Thiago Santos
b692f9ffb0
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
2011-04-12 20:32:16 +01:00
Michael Smith
3c0e4d8267
qtmux: for fixed-sample size streams (PCM audio, etc) don't allocate an enormous
...
buffer that we then won't use at all.
2011-04-12 20:32:15 +01:00
Michael Smith
d784a8da6a
qtmux: handle muxing adpcm correctly.
2011-04-12 20:32:15 +01:00
Michael Smith
5f1941a000
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.
2011-04-12 20:32:15 +01:00
Michael Smith
2d3dc1653b
qtmux: endianness in gstreamer is an int, not boolean.
2011-04-12 20:32:15 +01:00
Mark Nauwelaerts
150f9ad64d
qtmux: streamline moov data memory storage
...
In particular, use arrays rather than (double) linked lists.
2011-04-12 20:32:15 +01:00