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
31ffc671f2
rtpgstpay: fix buffer leak
2011-04-26 16:04:07 +01: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
Tim-Philipp Müller
bb23575f6b
flvdemux: fix deadlock on setting index on flvdemux
2011-04-19 14:34:48 +01: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
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