Commit graph

887 commits

Author SHA1 Message Date
Wim Taymans
669a0e359a 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
2009-09-09 13:35:20 +02:00
Jonathan Matthew
595de04316 codecmap: don't set channel-positions for common mono and stereo cases 2009-09-08 15:29:24 +02:00
Sebastian Dröge
2af8b4dd15 Automatic update of common submodule
From 94f95e3 to 19fa4f3
2009-09-05 10:24:36 +02:00
Wim Taymans
46bf3b92d0 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.
2009-09-01 21:42:26 +02:00
Руслан Ижбулатов
df248a7aa6 Add AG_GST_ARG_WITH_PKG_CONFIG_PATH to configure 2009-08-30 21:44:08 +02:00
Tim-Philipp Müller
0044128487 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.
2009-08-21 02:58:58 +01:00
Tim-Philipp Müller
30da9c07da 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.
2009-08-20 01:48:32 +01:00
Jarkko Palviainen
2b745f29ed build: Remove gst-libs/ext/ffmpeg in maintainerclean target only
Fixes bug #586894.
2009-08-19 15:30:50 +02:00
Wim Taymans
2b967b4122 ffdec: reset timestamp queue after flush 2009-08-18 13:20:55 +02:00
Tim-Philipp Müller
37875a95eb Lower minimum sample rate in generic template caps from 8000 to 4000
Fixes playback of ADPCM clip (#591809).
2009-08-14 16:09:05 +01:00
Sebastian Dröge
5497a8d140 ffmpegdec: Fix strict aliasing warnings 2009-08-13 17:38:32 +02:00
Sebastian Dröge
6923de9378 ffmpegdec: Don't use guintptr as it's new in GLib 2.18
Fixes bug #591469.
2009-08-12 10:57:18 +02:00
Edward Hervey
305e80e7d6 gstffmpeg: Lower debugging levels from WARNING to DEBUG
These statements aren't critical per se... and just clutter debug logs.
2009-08-10 12:04:39 +02:00
Sebastian Dröge
0111edbf5d ffmpegenc: Return all supported caps instead of only the first 2009-08-09 09:47:26 +02:00
Sebastian Dröge
d181dbd7a0 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.
2009-08-08 22:43:06 +02:00
Sjoerd Simons
ea6a66b5b3 ffmpegdec: Fix duration calculation when ticks_per_frame isn't 1
Fixes bug #591163.
2009-08-08 22:20:03 +02:00
Sebastian Dröge
1c283b8c22 ffmpegdec: Fix compiler warning and indention 2009-08-06 06:57:18 +02:00
Руслан Ижбулатов
54428c186b 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.
2009-08-06 06:57:09 +02:00
Sebastian Dröge
f435b1b495 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.
2009-08-04 09:53:18 +02:00
Edward Hervey
56887682d0 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
2009-07-31 13:27:28 +02:00
Olivier Crête
597f32e895 ffmpegdec: Disable theora decoder
The wrapper does not give the decoder the extradata correctly.
Just use theoradec.

Fixes bug #590172
2009-07-29 14:49:56 -04:00
Руслан Ижбулатов
a5f9485917 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.
2009-07-29 14:19:20 +02:00
Tim-Philipp Müller
6c0205c316 check: remove unused variable from unit test 2009-07-28 23:58:02 +01:00
Tim-Philipp Müller
508ab716b0 ffmpegdemux: use gst_element_found_tags() for global tags
So we get a message on the bus *and* tag events pushed downstream.
2009-07-28 23:58:02 +01:00
Tim-Philipp Müller
d917f59a84 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.
2009-07-28 23:58:02 +01:00
Stefan Kost
3a23708a2c Automatic update of common submodule
From fedaaee to 94f95e3
2009-07-24 00:43:20 +03:00
Jordi Mas
c27b4babf1 ffmpegmux: Add proper audio mapping for DVD muxer. Fixes #588546 2009-07-20 11:48:45 +02:00
Olivier Crête
aef712df82 Automatic update of common submodule
From 5845b63 to fedaaee
2009-07-13 12:24:25 -04:00
Tim-Philipp Müller
bb7b7c2720 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.
2009-07-01 10:45:32 +01:00
Tim-Philipp Müller
2f8f014d9b 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.
2009-07-01 10:45:32 +01:00
Tim-Philipp Müller
048b0145a8 ffmpegdemux: post tags after the initial newsegment event 2009-07-01 10:45:32 +01:00
Jan Schmidt
793e25cfc7 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
2009-07-01 10:30:48 +01:00
Jan Schmidt
ec63dabd88 Back to development - 0.10.8.1 2009-07-01 10:30:48 +01:00
Wim Taymans
fe10ecd097 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.
2009-07-01 11:23:59 +02:00
Wim Taymans
31a9d9330b Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-ffmpeg 2009-07-01 11:21:46 +02:00
Jan Schmidt
b77dfa7cba release 0.10.8 2009-06-29 22:49:23 +01:00
Edward Hervey
fe2291e9e1 gstffmpegdec: Fix debug arguments. Fixes #587297 2009-06-29 13:53:50 +02:00
Jan Schmidt
1675b0f784 Automatic update of common submodule
From f810030 to 5845b63
2009-06-26 13:43:34 +01:00
Jan Schmidt
9359f8bb8e 0.10.7.3 pre-release 2009-06-25 15:53:52 +01:00
Arnout Vandecappelle
0192717045 ffmpegdec: don't drop buffers when caps change.
Fixes #585257
2009-06-25 16:05:56 +02:00
Jan Schmidt
7786655512 docs: Fix a comment in the plugin docs Makefile 2009-06-24 15:24:25 +01:00
Jan Schmidt
473d7391a9 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
2009-06-24 15:20:12 +01:00
Jan Schmidt
cb245b7504 Automatic update of common submodule
From c572721 to f810030
2009-06-24 15:15:53 +01:00
Stefan Kost
8e798e0082 debug: fix unused variable when building with debug disabled 2009-06-17 09:22:14 +03:00
Jan Schmidt
60ee556217 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.
2009-06-06 15:14:45 +01:00
Jan Schmidt
8e961ec5ef 0.10.7.2 pre-release 2009-06-05 22:12:24 +01:00
Wim Taymans
608a920771 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
2009-06-05 13:47:15 +02:00
Jordi Mas
cfbb046f1e 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
2009-06-05 13:19:03 +02:00
Wim Taymans
6d643a134e check: add registry rescan test 2009-06-05 13:17:09 +02:00
Wim Taymans
686aadaf01 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 a26b94d92c
and moving some stuff around.

Refixes #580796.
2009-06-05 12:32:25 +02:00