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
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
Wim Taymans
54273a5771
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
2009-05-25 12:36:06 +02:00
Jan Schmidt
81e91e54c1
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.
2009-05-20 10:59:47 +01:00
Wim Taymans
ff2f62ac8a
ffenc: avoid malloc more for audio encoders
...
Use _adapter_peek() to retrieve data so that we can reuse previously
allocated memory.
2009-05-13 23:18:50 +02:00
Edward Hervey
9fdc5a5d64
gstffmpegdec: demote mpeg2 video decoding back to MARGINAL. Fixes #574461
2009-05-13 19:35:32 +02:00
Sebastian Dröge
63a4d4f332
Add mapping for VQF caps
2009-05-13 16:21:36 +02:00
Edward Hervey
ee5a964293
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).
2009-05-13 13:47:58 +02:00
Vanista
a26b94d92c
gstffmpegdec: Handle out-of-order frames. Fixes #580796
2009-05-13 12:45:38 +02:00
Wim Taymans
e2dd913f4c
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).
2009-05-13 11:21:35 +02:00
Wim Taymans
25b41829b9
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.
2009-05-13 01:04:30 +02:00
Wim Taymans
92b8a5adc9
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.
2009-05-12 22:20:49 +02:00
Edward Hervey
a0c7a2d0c5
ffmpegcfg: Expose two more CODEC_FLAG.
2009-05-12 18:13:16 +02:00
Edward Hervey
f384b2a006
gstffmpegdec: No, really, we don't want the VDPAU decoders.
...
They've changed the names, keeping the old ones til we switch upstream
revision.
2009-05-12 15:30:10 +02:00
Sebastian Dröge
b9617cac31
ffdec: Update rank of ffdec_mpeg2video to SECONDARY to make it the default
...
ffdec_mpeg2video is much faster, fixes bug #574461 .
2009-05-12 11:21:01 +02:00
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