Jan Schmidt [Fri, 20 Nov 2009 19:28:06 +0000 (20:28 +0100)]
caps: Use default audio channel layouts for some codecs
For a few white-listed codecs, use default fallback channel
layouts when ffmpeg doesn't inform us.
Olivier Crête [Sat, 21 Nov 2009 02:46:33 +0000 (21:46 -0500)]
ffenc: Make keyframe forcing thread-safe
Make the keyframe forcing thread-safe, also emit a downstream event
to allow muxers or payloaders to react appropriately.
https://bugzilla.gnome.org/show_bug.cgi?id=602556
Tim-Philipp Müller [Thu, 19 Nov 2009 10:31:39 +0000 (10:31 +0000)]
Automatic update of common submodule
From 0702fe1 to 53a2485
Edward Hervey [Wed, 18 Nov 2009 16:36:48 +0000 (17:36 +0100)]
Move encoders and muxers to GST_RANK_SECONDARY.
Wim Taymans [Mon, 16 Nov 2009 12:54:16 +0000 (13:54 +0100)]
ffdec: remove clipping hack
Remove a hack that seems to produce wrong clipping values.
Jan Schmidt [Thu, 1 Oct 2009 01:48:35 +0000 (02:48 +0100)]
ffmpeg: VC-1/WMV3 fixes.
Use format field in the pad caps to differentiate VC-1 from WMV3.
Fix a typo in the caps creation and parsing - the field is called
'format' - not 'fourcc'
Add a dodgy hack to populate the extradata size field
(first byte) when it is 0 - as it seems to be for some (Matroska)
test files.
Sjoerd Simons [Tue, 10 Nov 2009 11:30:50 +0000 (12:30 +0100)]
Always give the most video restricted caps possible
When the video caps aren't fixed yet, make sure we return the most
precise set of caps. It seems a regression was introduced in cc082f,
causing restricted caps to never be used if the context == NULL
None of the restricted caps generation uses the context, so no need to
check whether the context.
Fixes bug #578160.
Edward Hervey [Mon, 9 Nov 2009 18:19:25 +0000 (19:19 +0100)]
ffmpegdec: Only restore default in AVCodecContext when needed.
Resetting default values is currently very complex in libavcodec, so
we only call it when needed (i.e. when a context was previously used).
Shaves off 10% of the setup of a decoder.
Tim-Philipp Müller [Thu, 5 Nov 2009 23:54:47 +0000 (23:54 +0000)]
ffmpegdec: printf format fixes
Edward Hervey [Mon, 2 Nov 2009 08:05:13 +0000 (09:05 +0100)]
ffdec: Don't use an allocated 1-entry structure for private data.
If there's only one entry, just use that entry.
Edward Hervey [Mon, 2 Nov 2009 07:49:43 +0000 (08:49 +0100)]
ffmux: avoid generating caps when registering
Don't generate caps when we register the class but delay that till when
we actually create an instance of the class.
Edward Hervey [Mon, 2 Nov 2009 07:47:12 +0000 (08:47 +0100)]
ffdemux: avoid generating caps when registering
Don't generate caps when we register the class but delay that till when
we actually create an instance of the class.
Edward Hervey [Mon, 2 Nov 2009 07:43:17 +0000 (08:43 +0100)]
ffenc: avoid generating caps when registering
Don't generate caps when we register the class but delay that till when
we actually create an instance of the class.
Wim Taymans [Thu, 22 Oct 2009 20:27:28 +0000 (16:27 -0400)]
ffdec: avoid generating caps when registering
Don't generate caps when we register the class but delay that till when
we actually create an instance of the class.
Stefan Kost [Fri, 16 Oct 2009 07:17:23 +0000 (10:17 +0300)]
Automatic update of common submodule
From 85d1530 to 0702fe1
Edward Hervey [Wed, 14 Oct 2009 08:41:59 +0000 (10:41 +0200)]
Automatic update of common submodule
From a3e3ce4 to 85d1530
Sebastian Dröge [Thu, 8 Oct 2009 11:54:45 +0000 (13:54 +0200)]
ffmpegenc: Add a note to the buffer-size property description
Setting it has no effect anymore and is deprecated.
Sebastian Dröge [Thu, 8 Oct 2009 11:52:22 +0000 (13:52 +0200)]
Revert "ffenc: Make the buffer-size property read-only"
This reverts commit
98439aacc752432022b6fc3e5bc487d60b12dc48.
Instead of printing a warning when trying to set the property
it should do nothing as before and the property description
should contain a note that setting it has no effect.
Sebastian Dröge [Thu, 8 Oct 2009 10:27:59 +0000 (12:27 +0200)]
ffenc: Make the buffer-size property read-only
...instead of just doing nothing when setting it. This makes sure
that people notice that they shouldn't set the property because
it creates a warning now.
Jan Schmidt [Thu, 8 Oct 2009 10:01:19 +0000 (11:01 +0100)]
Automatic update of common submodule
From 19fa4f3 to a3e3ce4
Sebastian Dröge [Thu, 1 Oct 2009 14:44:22 +0000 (16:44 +0200)]
ffenc: Make sure to always provide large enough buffers
For audio always add the minimum ffmpeg buffer size, for video
use the same weird buffer size as they use in ffmpeg.c:
width*height*6 + 200
Also make setting of the buffer-size property a no-op.
Fixes bug #593651.
Sebastian Dröge [Thu, 1 Oct 2009 14:20:13 +0000 (16:20 +0200)]
ffmpegenc: Use dash instead of underscore in property names
GLib internally converts them to dashs anyway.
Jan Schmidt [Tue, 6 Oct 2009 18:50:37 +0000 (19:50 +0100)]
back to development -> 0.10.9.1
Jan Schmidt [Mon, 5 Oct 2009 13:34:22 +0000 (14:34 +0100)]
Release 0.10.17
Jan Schmidt [Mon, 5 Oct 2009 14:28:33 +0000 (15:28 +0100)]
Fix distclean/distcheck
Sebastian Dröge [Thu, 1 Oct 2009 15:03:49 +0000 (17:03 +0200)]
Revert "ffmpegenc: Use dash instead of underscore in property names"
This reverts commit
b814d25cc9c59d227d9987f9011cfa9744fdd65d.
Sebastian Dröge [Thu, 1 Oct 2009 15:03:42 +0000 (17:03 +0200)]
Revert "ffenc: Make sure to always provide large enough buffers"
This reverts commit
d9f6febe7015bbbbce7ddc82503f43751f7eb168.
Sebastian Dröge [Thu, 1 Oct 2009 15:03:33 +0000 (17:03 +0200)]
Revert "ffmpegenc: Also add FF_MIN_BUFFER_SIZE to video buffers too"
This reverts commit
577525af3d492469edd54e1c86b4ba0bfc214048.
Sebastian Dröge [Thu, 1 Oct 2009 14:46:34 +0000 (16:46 +0200)]
ffmpegenc: Also add FF_MIN_BUFFER_SIZE to video buffers too
Just to make sure we never get below it in case of very small videos.
Sebastian Dröge [Thu, 1 Oct 2009 14:44:22 +0000 (16:44 +0200)]
ffenc: Make sure to always provide large enough buffers
For audio always add the minimum ffmpeg buffer size, for video
use the same weird buffer size as they use in ffmpeg.c:
width*height*6 + 200
Also make setting of the buffer-size property a no-op.
Fixes bug #593651.
Sebastian Dröge [Thu, 1 Oct 2009 14:20:13 +0000 (16:20 +0200)]
ffmpegenc: Use dash instead of underscore in property names
GLib internally converts them to dashs anyway.
Jan Schmidt [Sat, 12 Sep 2009 00:51:11 +0000 (01:51 +0100)]
0.10.8.2 pre-release
Jan Schmidt [Fri, 11 Sep 2009 21:35:33 +0000 (22:35 +0100)]
license: Add COPYING and COPYING.LIB
Add GPLv2 COPYING file, and LGPL COPYING.LIB. Add the boilerplate
text about the plugin code being LGPL versus the linked plugin
being GPL.
Fixes: #590964
Wim Taymans [Thu, 10 Sep 2009 12:11:18 +0000 (14:11 +0200)]
ffdec: correctly check for NONE timestamp
Wim Taymans [Wed, 9 Sep 2009 11:33:53 +0000 (13:33 +0200)]
ffmpeg: add support for G721
Add support for g721, which is like G726 but with 1 channel, 8KHz and a bitrate
of 32000.
Fixes #594454
Jonathan Matthew [Sun, 6 Sep 2009 13:09:21 +0000 (23:09 +1000)]
codecmap: don't set channel-positions for common mono and stereo cases
Sebastian Dröge [Sat, 5 Sep 2009 08:24:36 +0000 (10:24 +0200)]
Automatic update of common submodule
From 94f95e3 to 19fa4f3
Wim Taymans [Tue, 1 Sep 2009 19:42:26 +0000 (21:42 +0200)]
ffdec: disable interpolation when dropping frames
When we are dropping frames because of QoS disable the DTS interpolation because
we won't be able to update the timestamps and end up setting the wrong
timestamps. Instead, simply use the timestamps from ffmpeg.
Руслан Ижбулатов [Wed, 26 Aug 2009 11:37:02 +0000 (15:37 +0400)]
Add AG_GST_ARG_WITH_PKG_CONFIG_PATH to configure
Tim-Philipp Müller [Fri, 21 Aug 2009 01:58:58 +0000 (02:58 +0100)]
typefinders: skip ffmpeg typefinders if there isn't enough data
ffmpeg typefinders don't do bounds checking for small chunks of
data, so just skip them if we don't have a lot of data, to avoid
invalid memory access and/or crashes.
Tim-Philipp Müller [Fri, 14 Aug 2009 15:39:19 +0000 (16:39 +0100)]
checks: add minimal unit test for adpcm decoder
The sample file is so small, we may just as well add a little
unit test for the previously fixed bug.
Jarkko Palviainen [Wed, 19 Aug 2009 13:28:35 +0000 (15:28 +0200)]
build: Remove gst-libs/ext/ffmpeg in maintainerclean target only
Fixes bug #586894.
Wim Taymans [Tue, 18 Aug 2009 11:20:29 +0000 (13:20 +0200)]
ffdec: reset timestamp queue after flush
Tim-Philipp Müller [Fri, 14 Aug 2009 15:07:07 +0000 (16:07 +0100)]
Lower minimum sample rate in generic template caps from 8000 to 4000
Fixes playback of ADPCM clip (#591809).
Sebastian Dröge [Thu, 13 Aug 2009 15:38:32 +0000 (17:38 +0200)]
ffmpegdec: Fix strict aliasing warnings
Sebastian Dröge [Wed, 12 Aug 2009 08:57:18 +0000 (10:57 +0200)]
ffmpegdec: Don't use guintptr as it's new in GLib 2.18
Fixes bug #591469.
Edward Hervey [Mon, 10 Aug 2009 10:04:39 +0000 (12:04 +0200)]
gstffmpeg: Lower debugging levels from WARNING to DEBUG
These statements aren't critical per se... and just clutter debug logs.
Sebastian Dröge [Sun, 9 Aug 2009 07:47:26 +0000 (09:47 +0200)]
ffmpegenc: Return all supported caps instead of only the first
Sebastian Dröge [Sat, 8 Aug 2009 20:43:06 +0000 (22:43 +0200)]
ffmpegenc: If an encoder lists the supported pixfmts use them to create the caps
...instead of creating standard caps with all pixfmts.
Fixes bug #591038.
Sjoerd Simons [Sat, 8 Aug 2009 16:41:18 +0000 (17:41 +0100)]
ffmpegdec: Fix duration calculation when ticks_per_frame isn't 1
Fixes bug #591163.
Sebastian Dröge [Thu, 6 Aug 2009 04:56:44 +0000 (06:56 +0200)]
ffmpegdec: Fix compiler warning and indention
Руслан Ижбулатов [Thu, 30 Jul 2009 15:02:12 +0000 (19:02 +0400)]
ffmpegdec: Assign offsets to outgoing buffers more accurate
This now uses ffmpeg functionality to keep random metadata next to
the buffers and to get the correct offset for a frame, similar to how
timestamps are handled.
Fixes bug #578278.
Sebastian Dröge [Tue, 4 Aug 2009 07:53:18 +0000 (09:53 +0200)]
Update ffmpeg revision to 19580 of the 0.5 branch
This cleans up licensing and makes it possible to build with LGPL code
only again.
Apart from that an opencore-amr encoder/decoder exists now but this
is not enabled as we don't want to use external libraries through ffmpeg
and have our own plugins for this already.
Edward Hervey [Fri, 31 Jul 2009 11:27:28 +0000 (13:27 +0200)]
gstffmpegenc: Try getting the caps for the declared pixfmt without a context.
PixFmt that are declared in AVCodec.pix_fmts are ones which are 'officially'
declared as being supported. We should therefore not have to create a
AVCodecContext and open an encoder to know if it's supported or not.
Also, doing it this way allows us to better pickup configuration overrides
we have in gstffmpegcodecmap for some codecs (like restrictions on width,
height, framerate like it's the case for dnxhd).
Fixes #575545
Olivier Crête [Wed, 29 Jul 2009 18:49:56 +0000 (14:49 -0400)]
ffmpegdec: Disable theora decoder
The wrapper does not give the decoder the extradata correctly.
Just use theoradec.
Fixes bug #590172
Руслан Ижбулатов [Sat, 18 Jul 2009 14:53:22 +0000 (18:53 +0400)]
Codec frame delay fix and trailing zero-length frame fix
Takes codec frame delay into account (roughly the same way it does for timestamps for reordered frames) to produce frames with correct offsets.
A special hack to allow trailing frame with timestamp=segment.stop to be displayed.
Fixes bug #578278.
Tim-Philipp Müller [Tue, 28 Jul 2009 22:48:21 +0000 (23:48 +0100)]
check: remove unused variable from unit test
Tim-Philipp Müller [Tue, 28 Jul 2009 22:40:31 +0000 (23:40 +0100)]
ffmpegdemux: use gst_element_found_tags() for global tags
So we get a message on the bus *and* tag events pushed downstream.
Tim-Philipp Müller [Tue, 28 Jul 2009 22:21:11 +0000 (23:21 +0100)]
ffmpegdemux: cache events from upstream and re-send them later
Cache any events we get from upstream before we're open, especially
tag events we may be getting from apedemux/id3demux or the like, and
push them downstream later when we've added our pads instead of just
dropping them silently. Fixes transcoding tags for Monkey's Audio
Files with preceding APE or ID3v2 tags (#586957). Add minimal unit
test for this.
Also push stream tags later after the global tags and the newsegment
event rather than right after creating the pad.
Stefan Kost [Thu, 23 Jul 2009 21:43:20 +0000 (00:43 +0300)]
Automatic update of common submodule
From fedaaee to 94f95e3
Jordi Mas [Mon, 20 Jul 2009 09:48:45 +0000 (11:48 +0200)]
ffmpegmux: Add proper audio mapping for DVD muxer. Fixes #588546
Olivier Crête [Mon, 13 Jul 2009 16:24:25 +0000 (12:24 -0400)]
Automatic update of common submodule
From 5845b63 to fedaaee
Tim-Philipp Müller [Tue, 30 Jun 2009 01:27:22 +0000 (02:27 +0100)]
configure: pass --disable-vhook to ffmpeg's configure
So we don't build stuff we don't use, with the added benefit that
the GStreamer registry won't complain about not being able to
load these 'plugins' when running GStreamer uninstalled.
Tim-Philipp Müller [Tue, 30 Jun 2009 01:15:21 +0000 (02:15 +0100)]
ffmpegmux: don't leak caps if type already exists
We don't know if gst_element_register() will replace the known type
or reject it, so we really need to free the caps before.
Tim-Philipp Müller [Tue, 30 Jun 2009 01:11:14 +0000 (02:11 +0100)]
ffmpegdemux: post tags after the initial newsegment event
Jan Schmidt [Wed, 1 Jul 2009 09:06:26 +0000 (10:06 +0100)]
autogen.sh: Use printf instead of 'echo -n'. Check for automake-1.1[01]
Check for more automake command variants. Use printf instead of 'echo -n'
for portability
Jan Schmidt [Wed, 1 Jul 2009 09:05:05 +0000 (10:05 +0100)]
Back to development - 0.10.8.1
Wim Taymans [Wed, 1 Jul 2009 09:23:59 +0000 (11:23 +0200)]
ffdec: don't wait for keyframe after discont
After a DISCONT, mark the next frame with DISCONT but don't wait for a new
keyframe. This greatly improves performance on lossy networks or currupted
frames as the decoder can usually continue and conceil errors up to the next
keyframe.
Wim Taymans [Wed, 1 Jul 2009 09:21:46 +0000 (11:21 +0200)]
Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-ffmpeg
Jan Schmidt [Mon, 29 Jun 2009 21:42:00 +0000 (22:42 +0100)]
release 0.10.8
Edward Hervey [Mon, 29 Jun 2009 11:53:50 +0000 (13:53 +0200)]
gstffmpegdec: Fix debug arguments. Fixes #587297
Jan Schmidt [Fri, 26 Jun 2009 12:43:34 +0000 (13:43 +0100)]
Automatic update of common submodule
From f810030 to 5845b63
Jan Schmidt [Thu, 25 Jun 2009 14:53:52 +0000 (15:53 +0100)]
0.10.7.3 pre-release
Arnout Vandecappelle [Tue, 9 Jun 2009 14:34:04 +0000 (16:34 +0200)]
ffmpegdec: don't drop buffers when caps change.
Fixes #585257
Jan Schmidt [Wed, 24 Jun 2009 14:24:25 +0000 (15:24 +0100)]
docs: Fix a comment in the plugin docs Makefile
Jan Schmidt [Thu, 18 Jun 2009 00:11:25 +0000 (01:11 +0100)]
ffmpeg: Don't enter infinite loops in the timestamp tracking
Avoid an infinite loop consuming buffer timestamp info when
the video frames contain only GST_CLOCK_TIME_NONE timestamps.
Add some debug logging in the timestamp tracking paths.
Fixes: #585845
Jan Schmidt [Wed, 24 Jun 2009 14:15:53 +0000 (15:15 +0100)]
Automatic update of common submodule
From c572721 to f810030
Stefan Kost [Wed, 17 Jun 2009 06:22:14 +0000 (09:22 +0300)]
debug: fix unused variable when building with debug disabled
Jan Schmidt [Sat, 6 Jun 2009 14:14:45 +0000 (15:14 +0100)]
build: Fix the dist - libswscale isn't an external on the 0.5 branch
The 0.5 ffmpeg branch includes libswscale directly, not as an external,
breaking the dist (and warning in autogen.sh) about not being able to
update its revision.
Add some code to not update the svn external if the
FFMPEG_EXTERNALS_REVISION variable is empty.
Also, in autogen.sh check that the current FFmpeg checkout is from the
right branch according to ffmpegrev, and check it out again if
it's not.
Jan Schmidt [Fri, 5 Jun 2009 21:12:24 +0000 (22:12 +0100)]
0.10.7.2 pre-release
Wim Taymans [Fri, 5 Jun 2009 11:47:15 +0000 (13:47 +0200)]
ffmpegdec: don't do QoS on invalid timestamps
When we convert the timestamp to running_time, don't try to do QoS on invalid
times.
Fixes #580810
Jordi Mas [Fri, 5 Jun 2009 11:19:03 +0000 (13:19 +0200)]
ffmpeg: make elements reusable after registry rescan
If the same instance of the plugin is asked to be initialised more that once,
instances after the first one do not register the elements properly and the
elements become not usable.
For example, if you call gst_update_registry (), is not possible to create
elements after the call since the plugin is asked to be initialised again and
does not register the elements.
Fixes #584291
Wim Taymans [Fri, 5 Jun 2009 11:17:09 +0000 (13:17 +0200)]
check: add registry rescan test
Wim Taymans [Fri, 5 Jun 2009 10:32:25 +0000 (12:32 +0200)]
ffmpeg: properly integrate timestamp handling
The patch from Bug #580796 hacked around existing infrastructure to handle
timestamps as DTS (as in all AVI files) causing the logic to be disabled.
Properly hook the timestamp handling into the existing infrastructure to handle
these cases too, partially reverting
a26b94d92c2e9e9f6dac0cdb5fb44ba06ee089c8
and moving some stuff around.
Refixes #580796.
LRN [Mon, 1 Jun 2009 15:24:53 +0000 (17:24 +0200)]
ffmpeg: change library inclusion order
Fixes #584399
Sebastian Dröge [Fri, 29 May 2009 11:51:31 +0000 (13:51 +0200)]
Switch back to the ffmpeg 0.5 branch to allow us to release in the next weeks
Jan Schmidt [Tue, 26 May 2009 16:20:14 +0000 (17:20 +0100)]
Automatic update of common submodule
From 888e0a2 to c572721
Wim Taymans [Mon, 25 May 2009 10:36:06 +0000 (12:36 +0200)]
enc: use standard multipass-cache-file
Deprecate the old statsfile property and add a the new standard
mulitpass-cache-file property to match other encoders.
Fixes #583627
Jan Schmidt [Fri, 22 May 2009 09:21:02 +0000 (10:21 +0100)]
Automatic update of common submodule
From 6ab11d1 to 888e0a2
Jan Schmidt [Fri, 15 May 2009 14:48:35 +0000 (15:48 +0100)]
ffmpeg: Don't add sink pad template to the muxers when not needed.
If the set of caps for either audio or video is completely empty, skip
adding that pad template to the class. Some muxers only support audio-only
or video-only and otherwise end up with EMPTY caps in the pad template.
Wim Taymans [Wed, 13 May 2009 21:18:50 +0000 (23:18 +0200)]
ffenc: avoid malloc more for audio encoders
Use _adapter_peek() to retrieve data so that we can reuse previously
allocated memory.
Edward Hervey [Wed, 13 May 2009 17:35:32 +0000 (19:35 +0200)]
gstffmpegdec: demote mpeg2 video decoding back to MARGINAL. Fixes #574461
Sebastian Dröge [Wed, 13 May 2009 14:21:36 +0000 (16:21 +0200)]
Add mapping for VQF caps
Sebastian Dröge [Wed, 13 May 2009 14:19:21 +0000 (16:19 +0200)]
Update ffmpeg revision to latest trunk
Edward Hervey [Wed, 13 May 2009 11:47:58 +0000 (13:47 +0200)]
gstffmpegdec: Don't forget to copy over the reordered_opaque in our buffers.
This is to be on-par with the default get_buffer() implementation (which is
detailed in libavcodec/utils.c).
Vanista [Wed, 13 May 2009 10:37:42 +0000 (12:37 +0200)]
gstffmpegdec: Handle out-of-order frames. Fixes #580796
Wim Taymans [Wed, 13 May 2009 09:21:13 +0000 (11:21 +0200)]
ffenc: make the output buffer big enough
The ffmpeg docs say that the output buffer should at least be
FF_MIN_BUFFER_SIZE (which is overly large, but anyways).
Wim Taymans [Tue, 12 May 2009 23:04:30 +0000 (01:04 +0200)]
ffmpeg: rewrite audio encoders.
Rewrite the audio encoders to use the right API functions of ffmpeg. Also get
rid of the handrolled cache and use adapter instead for formats that require
fixed frame_size as input.
Wim Taymans [Tue, 12 May 2009 20:20:49 +0000 (22:20 +0200)]
codecmap: revert bogus commit.
We don't need to set a default frame_size, ffmpeg has set this value to 0 to
inform us that there is a fixed relation between the amount of input samples
and output samples. Now we only need to implement handling that fact.
Edward Hervey [Tue, 12 May 2009 16:13:16 +0000 (18:13 +0200)]
ffmpegcfg: Expose two more CODEC_FLAG.