Commit graph

586 commits

Author SHA1 Message Date
Edward Hervey
fb613191ae 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.
2009-05-12 11:16:43 +02:00
Edward Hervey
36bdeea0e7 win32: Fix non-portable printf format. 2009-05-09 10:57:55 +02:00
David Hoyt
da8d4abad2 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.
2009-05-07 12:57:10 +02:00
Sebastian Dröge
c2a9ee9264 ffenc: Implement preset interface 2009-05-04 13:00:49 +02:00
Thiago Santos
9133bb9ba2 ffenc: Send error upstream when gst_pad_push return is different from GST_FLOW_OK 2009-04-23 14:35:10 -03:00
Edward Hervey
f07223fd24 gstffmpegenc: Don't change properties once opened. Fixes #570815
Based on a patch by Tristan Matthews <le businessman at gmail dot com>
2009-04-21 18:38:03 +02:00
Janin Kolenc
ec5ad411a5 gstffmpegcfg: Add H263 to the list of mpeg property-compatible codecs. 2009-04-21 18:34:22 +02:00
Edward Hervey
57e66c5a22 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.
2009-04-21 18:28:54 +02:00
Edward Hervey
ea76b43723 Reverting Jan's fix-the-buildbot commit
This reverts commit 5465d40b8d.
2009-04-19 14:07:58 +02:00
Jan Schmidt
5465d40b8d 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.
2009-04-19 02:42:20 +01:00
Edward Hervey
ae018718d4 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 :)
2009-04-18 09:08:39 +02:00
Edward Hervey
199d95c390 gstffmpegdec: Fix build on macosx.
The arguments were in the wrong order (and therefore the types were wrong).
2009-04-18 08:50:12 +02:00
Wim Taymans
010871cb77 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.
2009-04-17 19:07:26 +02:00
Wim Taymans
11db4588a6 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.
2009-04-17 16:27:09 +02:00
Edward Hervey
cbea9841ec gstffmpegutils: Add the files :) 2009-04-16 11:00:46 +02:00
Edward Hervey
cc7ce2639c 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.
2009-04-15 22:33:16 +02:00
Edward Hervey
55336b1c5c gstffmpeg.c: Fix the description of the plugin. 2009-04-15 22:14:09 +02:00
Edward Hervey
05a1470151 gstffmpeg.c: Point to the new ffmpeg website (ffmpeg.org). 2009-04-15 22:11:33 +02:00
Edward Hervey
f3c1a56a60 The proper spelling is 'FFmpeg'. 2009-04-15 22:11:10 +02:00
Edward Hervey
d39ad81ad7 gstffmpegmux: Use the AVFormat long_name in our descriptions.
This is the same behaviour we use in the demuxers.
2009-04-15 22:04:02 +02:00
Edward Hervey
9b8a99761a Disable more fake codecs (raw audio). 2009-04-15 21:56:00 +02:00
LRN
2b25dbe12e ffdec: copy input offsets to output buffers
Copy the incomming offsets to the outgoing buffers.
Fixes 578278.
2009-04-10 00:19:50 +02:00
Janin Kolenc
a44f5b4df3 ffenc: Add support for I-frame request.
Add request for I-frame request using GstForceKeyUnit event.
Fixes #575709.
2009-03-25 12:51:55 +01:00
Sebastian Dröge
3fcef3b6a7 ffmux: Actually set caps on the srcpad instead of working with NULL caps 2009-03-23 14:07:06 +01:00
Edward Hervey
7ca2836193 Take into account ticks_per_frame for framerate calculation. Fixes #575759 2009-03-17 23:45:34 +01:00
Edward Hervey
983d2f2b36 Re-enable amr muxer. It's a muxer after all. Fixes #575664 2009-03-17 11:51:28 +01:00
Edward Hervey
59796dd0bc gstffmpegdec: Disable vdpau decoders. Fixes #573400 2009-03-11 13:25:40 +01:00
Edward Hervey
2df7d3e960 pixfmt: Stop using PIX_FMT that were marked as deprecated 3 years ago.
It still worked... until the 0.5 ffmpeg release, which made those defines unused.

See the bottom of libavutil/pixfmt.h for more details.
2009-03-11 12:56:29 +01:00
Edward Hervey
45ec23e37c codecmapping: Fix caps for ATRAC3. Fixes #574663 2009-03-10 21:14:21 +01:00
Edward Hervey
1e689f057f Disable exposing decoder/encoder using external library. Fixes #574746 2009-03-10 21:11:43 +01:00
Edward Hervey
ca1321b224 blacklist bogus demuxer/muxer/typefind. Fixes #567336 and #574814 2009-03-10 21:05:52 +01:00
Edward Hervey
8cfa2c4314 gstffmpegdec: Use 64bit scaling function to avoid overflows detected in some situations. 2009-03-09 18:18:24 +01:00
Edward Hervey
146aab9dcb demux: If the demuxer isn't initialized yet, forward serialized events without waiting.
We do this, because the demuxer is initialized in the loop function. If it's not
initialized yet, that means the loop hasn't been entered... and therefore the
PIPE GCond will never be signalled.
2009-03-09 15:09:10 +01:00
Edward Hervey
f8e3a0007f demuxers: Blacklist push-mode for avformat demuxers which aren't reliable in push-mode.
Currently, only one is blacklisted : ffdemux_ape. This has been confirmed by
ffmpeg developers.
2009-03-09 13:46:06 +01:00
Edward Hervey
3f34bf8ef4 demuxers: Add more debugging 2009-03-09 13:45:22 +01:00
Edward Hervey
cc9dace674 gstffmpegcodecmap: Add proper caps for Fraps video codec 2009-03-09 10:07:39 +01:00
Edward Hervey
98167578c4 ffmpegdec: Make sure we provide 16 byte aligned data to ffmpeg. Fixes #572863
We simply allocate the memory using ffmpeg's av_malloc which provides us
with properly memalign'ed data.
This avoids write-outside-of-bounds when sse/altivec code is being used.
2009-03-06 17:37:51 +01:00
Edward Hervey
df6fb6867e ffaudioresample: Add padding to output buffer. Fixes #573649
The internal resampling functions seem to require a slightly bigger buffer
for output than what we require. Therefore we give it an extra 64bytes (although
16 should have been enough).
2009-03-06 12:47:12 +01:00
Tim-Philipp Müller
c389f49295 ffmpegdec: post an error message on the bus when decoding fails
We should post a STREAM DECODE error message on the bus when we return
GST_FLOW_ERROR, otherwise the user ends up seeing an ugly internal flow
error message, which isn't very nice.
2009-03-06 11:01:55 +00:00
Edward Hervey
eeffd7b87f gstffmpegdec: Set the rank of the AAC decoder to NONE.
It will stay this way until the ffmpeg aac decoder can report before decoding
whether it can handle a given stream or not.
2009-03-05 12:09:32 +01:00
Damien Lespiau
ac82da060a Make bz2 requirement optional. Fixes #564867 2009-03-05 09:10:37 +01:00
Jordi Mas
c7458545f3 gstffmpegmux: Expose the 'preload' and 'maxdelay' properties, add dvd mux mapping.
Fixes #570975
2009-03-05 08:52:11 +01:00
Edward Hervey
8dcbe4f7e8 codecmap. The VC1 decoder can also handle the Advanced Profile.
Fixes #565269
2009-03-05 07:48:24 +01:00
Tim-Philipp Müller
30805cd2c4 ffdec: fix build 2009-03-04 20:58:08 +00:00
Edward Hervey
9eb48ddcda gstffmpegdec: Abort on first failure by AAC decoder. Fixes #566250.
The problem is that the ffmpeg aac decoder fails... but still accepts
the following buffers as if nothing happened. But because some things
were not properly set in the internal code, all hell breaks loose.
2009-03-04 21:10:22 +01:00
Edward Hervey
ec1ff94e7b gstffmpegdec: Bring the real decoders up to GST_RANK_PRIMARY.
They have proven by now that they're more reliable than the
-bad real wrapper plugins.
2009-03-04 20:04:25 +01:00
Sebastian Dröge
778df9cae0 ffmpeg: Don't register the MXF typefinder, we have our own in -base 2009-03-04 12:25:34 +01:00
Sebastian Dröge
b50cc13487 ffmpeg: mxf_d10 is application/mxf too, it only specifies the used mapping 2009-03-04 12:24:47 +01:00
Edward Hervey
269698f020 ffmpegmux: Use information from AVOutputFormat to expose more muxers.
AVOutputFormat does *NOT* contain the full list of codecs a muxer can handle,
but does contain the recommended audio and video codecs. Therefore we use that
information to expose more muxers, until AVOutputFormat contains a list of
*ALL* compatible codecs.
2009-02-27 09:40:03 +01:00
Sebastian Dröge
87494eb949 And remove unused variable 2009-02-22 19:44:12 +01:00