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.
Edward Hervey [Tue, 12 May 2009 13:30:10 +0000 (15:30 +0200)]
gstffmpegdec: No, really, we don't want the VDPAU decoders.
They've changed the names, keeping the old ones til we switch upstream
revision.
Sebastian Dröge [Tue, 12 May 2009 09:20:08 +0000 (11:20 +0200)]
ffdec: Update rank of ffdec_mpeg2video to SECONDARY to make it the default
ffdec_mpeg2video is much faster, fixes bug #574461.
Edward Hervey [Tue, 12 May 2009 09:16:43 +0000 (11:16 +0200)]
gstffmpegdec: Implement interlaced support.
ffmpeg only tells us on a per-decoded-buffer basis if the stream is
interlaced or not. When we see a change, we force negotiation.
We can't detect that in our get_buffer() (when doing downstream allocation),
because at that point the interlaced flags aren't set on the outgoing
buffer.
Marc-Andre Lureau [Sun, 10 May 2009 09:17:16 +0000 (11:17 +0200)]
Run libtoolize before aclocal
This unbreaks the build in some cases. Fixes bug #582021
Edward Hervey [Sat, 9 May 2009 08:57:55 +0000 (10:57 +0200)]
win32: Fix non-portable printf format.
David Hoyt [Thu, 7 May 2009 10:57:10 +0000 (12:57 +0200)]
Use av_{i,o}format_next instead of the private next field
This fixes compilation with MSVC where the initializer variables
are aliased to different names. Fixes bug #576126.
Christian Schaller [Tue, 5 May 2009 16:32:07 +0000 (17:32 +0100)]
Add videoscaler to spec file
Christian Schaller [Tue, 5 May 2009 16:27:27 +0000 (17:27 +0100)]
removing make flags in spec file to make things flow easy with
GCC 4.4.0
Sebastian Dröge [Mon, 4 May 2009 11:00:49 +0000 (13:00 +0200)]
ffenc: Implement preset interface
Thiago Santos [Thu, 23 Apr 2009 17:35:10 +0000 (14:35 -0300)]
ffenc: Send error upstream when gst_pad_push return is different from GST_FLOW_OK
Jan Schmidt [Tue, 21 Apr 2009 21:13:51 +0000 (22:13 +0100)]
Automatic update of common submodule
From b3941ea to 6ab11d1
Edward Hervey [Tue, 21 Apr 2009 16:38:03 +0000 (18:38 +0200)]
gstffmpegenc: Don't change properties once opened. Fixes #570815
Based on a patch by Tristan Matthews <le businessman at gmail dot com>
Janin Kolenc [Tue, 21 Apr 2009 16:34:22 +0000 (18:34 +0200)]
gstffmpegcfg: Add H263 to the list of mpeg property-compatible codecs.
Edward Hervey [Sun, 8 Mar 2009 10:31:35 +0000 (11:31 +0100)]
Make sure we provide ffmpeg with 128bit-aligned data.
Add a new function new_aligned_buffer() which creates a GstBuffer of
the requested size/caps, with the memory being allocated/freed by ffmpeg's
av_malloc/av_free which guarantees properly aligned memory.
Added a can_allocate_aligned internal property which we use to figure out
whether downstream can provide us with 128bit aligned buffers.
Edward Hervey [Sun, 19 Apr 2009 12:07:58 +0000 (14:07 +0200)]
Reverting Jan's fix-the-buildbot commit
This reverts commit
5465d40b8dcb7650c024bf8c6b6329d26df5a610.
Jan Schmidt [Sun, 19 Apr 2009 01:39:30 +0000 (02:39 +0100)]
build: Deliberately break the build, temporarily.
This is to force the buildbots to run autogen.sh one time. I can't
figure out a more elegant way.
Jan Schmidt [Sun, 19 Apr 2009 01:34:50 +0000 (02:34 +0100)]
build: Fix maintainer-mode and embedded FFmpeg configuration parameters
Don't use AC_CONFIG_SUBDIRS to call the FFmpeg configure script, as it
complains about all the unknown parameters autoconf gives it, and fiddling
with ac_configure_args makes maintainer-mode call our real configure script
with a bunch of bogus arguments.
Instead, use AC_CONFIG_COMMANDS to call the FFmpeg configure script
ourselves.
Remove autogen.sh code that modifies the FFmpeg configure script, as it's
not needed now that we only pass it arguments it understands, and move
the detection of flags like --disable-ffmpeg into the configure script,
otherwise they never get passed to FFmpeg if we call configure ourselves,
such as from a tarball.
Edward Hervey [Sat, 18 Apr 2009 07:08:39 +0000 (09:08 +0200)]
gstffmpegdec: Really fix the arguments this time.
I blame compilers who can't figure out there's the wrong number of arguments
for the given print format :)
Edward Hervey [Sat, 18 Apr 2009 06:50:12 +0000 (08:50 +0200)]
gstffmpegdec: Fix build on macosx.
The arguments were in the wrong order (and therefore the types were wrong).
Wim Taymans [Fri, 17 Apr 2009 17:07:26 +0000 (19:07 +0200)]
ffmpegdec: resize padding buffer when it's small
Only resize the padding buffer when the size is too small, when it's just right,
we don't need to call realloc.
Wim Taymans [Fri, 17 Apr 2009 14:25:12 +0000 (16:25 +0200)]
ffmpeg: add default frame_size for g726
Without a frame_size configured in the context, the ffmpeg encoders do nothing.
Since the G726 does not configure a size itself, we set ourselves a frame_size
that corresponds to 20ms of audio, which is a reasonable default.
Jan Schmidt [Fri, 17 Apr 2009 12:46:39 +0000 (13:46 +0100)]
check: Add a simple test that the FFmpeg plugin loads
Check that the ffmpeg plugin actually exists after building.
Edward Hervey [Thu, 16 Apr 2009 09:00:46 +0000 (11:00 +0200)]
gstffmpegutils: Add the files :)
Edward Hervey [Wed, 15 Apr 2009 20:33:16 +0000 (22:33 +0200)]
Move all non-codecmap-related methods to a new file.
We were starting to get too much unrelated code in there. This makes it
a bit easier to maintain.
Edward Hervey [Wed, 15 Apr 2009 20:14:09 +0000 (22:14 +0200)]
gstffmpeg.c: Fix the description of the plugin.
Edward Hervey [Wed, 15 Apr 2009 20:11:33 +0000 (22:11 +0200)]
gstffmpeg.c: Point to the new ffmpeg website (ffmpeg.org).
Edward Hervey [Wed, 15 Apr 2009 20:11:10 +0000 (22:11 +0200)]
The proper spelling is 'FFmpeg'.
Edward Hervey [Wed, 15 Apr 2009 20:04:02 +0000 (22:04 +0200)]
gstffmpegmux: Use the AVFormat long_name in our descriptions.
This is the same behaviour we use in the demuxers.
Edward Hervey [Wed, 15 Apr 2009 19:56:00 +0000 (21:56 +0200)]
Disable more fake codecs (raw audio).
LRN [Thu, 9 Apr 2009 22:19:50 +0000 (00:19 +0200)]
ffdec: copy input offsets to output buffers
Copy the incomming offsets to the outgoing buffers.
Fixes 578278.