Sebastian Dröge
6d92f18d1b
avaudenc: Fix leak of AVBufferRef
...
AVPacket contains AVBufferRef which may leak unless unreffed properly.
https://bugzilla.gnome.org/show_bug.cgi?id=726814
2014-04-29 09:13:44 +02:00
Stian Selnes
245be56510
avvidenc: Fix leak of AVBufferRef
...
AVPacket contains AVBufferRef which may leak unless unreffed properly.
https://bugzilla.gnome.org/show_bug.cgi?id=726814
2014-04-29 09:07:33 +02:00
Edward Hervey
3a81f604fe
avaudenc: Fix compile without gst debug
...
We can just re-use the encoder variable
2014-04-14 13:37:02 +02:00
Edward Hervey
f70f904210
avdemux: Remove unused variable
...
CID #1139943
2014-04-08 08:05:24 +02:00
Edward Hervey
e513fad054
codecmap: Add missing break
...
CID #1139752
2014-04-08 08:00:55 +02:00
Sebastian Dröge
99ca91f3a3
avcodecmap: Add mapping for Apple Intermediate Codec
...
https://bugzilla.gnome.org/show_bug.cgi?id=727673
2014-04-06 09:05:43 +02:00
Mark Nauwelaerts
6daa80bbbe
avvidenc: discard input frame upon encoding error
2014-03-25 21:06:01 +01:00
Mark Nauwelaerts
7a8eae6ea9
avvidenc: make all properties work again
...
... as previously broken due to additional compliance property
(see 13ffed87b1
).
2014-02-23 11:40:14 +01:00
Mark Nauwelaerts
fef710efc3
avmux: stream-start and segment event before data-flow
2014-02-22 21:54:08 +01:00
Thijs Vermeir
9a1c9096dc
avviddec: rename hevc decoder element to h265 for consistency
...
We use h265 for the parser, typefinder, caps, etc. everywhere.
https://bugzilla.gnome.org/show_bug.cgi?id=724823
2014-02-22 16:10:49 +01:00
Tim-Philipp Müller
74b769751d
avvidec: don't crash on EOS when no buffers have been received
...
Fixes crash on EOS when no buffers have been received for some
reason, e.g. because the parser didn't output any.
fakesrc num-buffers=0 format=time ! avdec_h264 ! fakesink
2014-02-21 13:18:47 +00:00
Thiago Santos
845b874575
avaudenc: fix audio encoder flushing according to libav docs
...
* @param[in] frame AVFrame containing the raw audio data to be encoded.
* May be NULL when flushing an encoder that has the
* CODEC_CAP_DELAY capability set.
The AVFrame itself should be null, not the frame.data pointer
https://bugzilla.gnome.org/show_bug.cgi?id=724536
2014-02-20 17:32:12 -03:00
Dmitry Melnichenko
fe224775cf
avmux: Fix invalid address passing to av_opt_set_int()
...
https://bugzilla.gnome.org/show_bug.cgi?id=723615
2014-02-04 17:28:36 +01:00
Mark Nauwelaerts
f86fd7e29e
avvidenc: avoid busy-looping when flushing frames
...
... such as when receiving EOS event.
2014-02-01 14:40:45 +01:00
Sjoerd Simons
1b5895c936
avdemux: Don't go into pull mode when the sequential flag is set
...
When the scheduling query results has GST_SCHEDULING_FLAG_SEQUENTIAL set
in its flags don't go into pull mode to prevent over-eager seeking.
https://bugzilla.gnome.org/show_bug.cgi?id=722935
2014-01-24 22:22:48 +01:00
Tim 'mithro' Ansell
520221c47a
avmux: Force DV audio input format to 48kHz, 2 channels
...
libavformat only supports muxing 16bit, 48kHz stereo into DV containers.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722672
2014-01-21 13:22:40 +01:00
Aleix Conchillo Flaqué
60f7b00db3
avviddec: Add output-corrupt property
...
The output-corrupt property will set the CODEC_FLAG_OUTPUT_CORRUPT flag
in the codec context. The user can now decide whether libav outputs
corrupt frames or not.
Previous libav versions had this flag always set.
https://bugzilla.gnome.org/show_bug.cgi?id=722453
2014-01-17 22:08:33 +01:00
Sebastian Dröge
d494f6f983
avauddec: Mark frames as corrupted if libav tells us they are
...
This is currently only implemented by the h264 codec and no audio codec.
https://bugzilla.gnome.org/show_bug.cgi?id=722290
2014-01-16 13:46:26 +01:00
Sebastian Dröge
b278ca55be
avviddec: Mark frames as corrupted if libav tells us they are
...
This is currently only implemented by the h264 codec.
https://bugzilla.gnome.org/show_bug.cgi?id=722290
2014-01-16 13:46:26 +01:00
Vincent Penquerc'h
ca1b5d8576
gst-libav: fix context leaks
...
A AVCodecContext needs cleaning up before being freed.
Go through all of the allocations/setups to ensure none of them
can leak a context or its contents.
2014-01-15 09:02:33 +00:00
Wim Taymans
ead14945aa
avviddec: set output chroma-site
...
Use libav provided chroma-site and place it on the output caps.
2014-01-13 16:31:05 +01:00
Wim Taymans
81cef109e2
avviddec: release buffers when not direct rendering
...
New libav will not call the release_buffer callback anymore when
avcodec_default_get_buffer() is called from get_buffer. Releasing of the
memory in a picture should now be done by registering a callback to the
avbuffer objects in the picture. There is some compatibility code to
wrap the memory we provide in get_buffer in avbuffer with a callback to
release_buffer but that is not done when avcodec_default_get_buffer()
is called.
Work around this by adding a dummy avbuffer object to the picture that
will release the frame.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=721077
2014-01-10 17:28:22 +01:00
Sebastian Dröge
1e65aac1a4
avauddec: Give MP3 decoder a MARGINAL rank too
...
There's no reason why this decoder should not be autoplugged
2014-01-10 13:17:02 +01:00
Sebastian Dröge
9887521a32
av: Enable HEVC / h265 support
2014-01-06 13:39:32 +01:00
Tim-Philipp Müller
8770f22735
avcodecmap: fix regression with wmv3 video in WMVA format
...
The VC-1 decoder should handle that. Before avdec_wmv3 handled
it, but then we added format=WMV3 to its sink pad template
caps, at which point nothing handled WMVA any longer.
https://bugzilla.gnome.org/show_bug.cgi?id=697665
2014-01-03 16:00:41 +00:00
Sebastian Dröge
1409e1692b
av: Update for CodecID -> AVCodecID related changes
2014-01-03 16:28:44 +01:00
Sebastian Dröge
fc57f7fb1b
avcfg: Update config parameters a bit to fix compilation
...
This needs a major rework and should use the new configuration
interface where useful.
2014-01-03 16:28:02 +01:00
Sebastian Dröge
0a819702c0
avenc: Stop using the removed inter_threshold field
2014-01-03 16:27:34 +01:00
Sebastian Dröge
0400f7cc28
avviddec rebase
2014-01-03 16:27:11 +01:00
Sebastian Dröge
8fc3da62c1
avauddec: Stop using AVCODEC_MAX_AUDIO_FRAME_SIZE
...
And properly use the have_data variable. It's a boolean.
2014-01-03 16:26:10 +01:00
Sebastian Dröge
28d1c135bb
avdemux: Stop using r_frame_rate field
...
It was removed and quite meaningless anyway.
Use the average framerate instead.
2014-01-03 16:25:39 +01:00
Sebastian Dröge
53966ee304
avvidenc: Port to av_encode_video2()
...
av_encode_video() is deprecated and an ugly API anyway.
2014-01-03 16:24:28 +01:00
Todd Agulnick
4cc981de37
Some compiler warning fixes to satisfy XCode compiler
...
https://bugzilla.gnome.org/show_bug.cgi?id=720513
2013-12-16 16:54:21 +01:00
Mark Nauwelaerts
47d5c2b6d6
avviddec: improve buffer handling and semantics
...
... so as to focus on providing *a* buffer rather than one (too) tied
to a frame, in particular allowing multiple allocations related to a frame.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697806
2013-12-07 12:11:34 +01:00
Mark Nauwelaerts
1aa253cd3b
avvidenc: plug input_state leak
2013-12-07 12:11:03 +01:00
Sebastian Dröge
423d9dcd71
avviddec: Use new gst_video_decoder_set_needs_format() API
2013-12-05 11:51:27 +01:00
Mark Nauwelaerts
039b608b24
avviddec: only use upstream framerate if really specified
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=704161
2013-12-02 20:21:34 +01:00
Mark Nauwelaerts
fa5865c0cd
avviddec: discard unused input frames
...
... to avoid these piling up in list of pending frames.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693772
2013-11-26 20:57:37 +01:00
Mark Nauwelaerts
2ec4008ea5
avviddec: really release frame at proper time
...
... by also removing it from the pending list of frames,
where it may still be in if it has never been submitted to _finish.
This could happen if is a decode-only frame, or in skipped decoding
situation, ...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693772
2013-11-26 20:55:43 +01:00
Tim-Philipp Müller
4072c40b8e
avaudec: don't put bogus 0 channel-mask on output caps for mono audio
2013-11-04 23:20:17 +00:00
Tim-Philipp Müller
e9e31ebada
avaudenc: post better error message if experimental codecs don't work
...
https://bugzilla.gnome.org/show_bug.cgi?id=691617
2013-10-26 09:34:30 +01:00
Tim-Philipp Müller
49d0c480ae
codecmap: use TRUE for boolean fields in caps
2013-10-26 09:10:03 +01:00
Greg Rutz
13ffed87b1
avenc: Add compliance property
...
Add a new property to GstFFMpegVidEnc and GstFFMpegAudEnc to supply
the "strict compliance" value to AVCodecContext
https://bugzilla.gnome.org/show_bug.cgi?id=691617
2013-10-15 09:27:03 +02:00
Matthieu Bouron
4c93bffb21
avcodecmap: Make avdec_mjpeg requires a parsed input
...
Actually avdec_mjpeg does not deal well with incomplete buffers and try
to decode incomplete frames. A parser which will also acts as
an accumulator needs to be inserted before it.
https://bugzilla.gnome.org/show_bug.cgi?id=709352
2013-10-04 10:34:25 +02:00
Sebastian Dröge
5b76550168
avcodecmap: gst_value_can_intersect() does not do what you would think
...
Check for uniqueness differently now.
2013-10-02 13:59:04 +02:00
Sebastian Dröge
3e154333de
avcodecmap: Only append values to the video/audio format lists if we don't have them already
2013-10-02 12:57:36 +02:00
Sebastian Dröge
3c77754524
avviddec: Reset some more fields in ::stop()
2013-10-02 12:52:35 +02:00
Sebastian Dröge
5f5b6f465c
avviddec: Don't believe we're negotiated if negotiation failed
...
It can happen that negotiation fails during get_buffer(), but then
we don't retry later and never return NOT_NEGOTIATED upstream...
and instead run into assertions.
2013-10-02 12:52:11 +02:00
Sebastian Dröge
9febec71c0
avauddec: Don't believe we're negotiated if negotiation failed
...
It can happen that negotiation fails during get_buffer(), but then
we don't retry later and never return NOT_NEGOTIATED upstream...
and instead run into assertions.
https://bugzilla.gnome.org/show_bug.cgi?id=708769
2013-10-02 12:52:01 +02:00
Sebastian Dröge
9becd72b60
avenc: Choose 25 fps if we don't have any in the caps
...
Some encoders require a non-zero framerate to be configured properly
and just choosing something will make them not fail completely at
least.
https://bugzilla.gnome.org/show_bug.cgi?id=708732
2013-10-01 22:38:32 +02:00
Sebastian Dröge
2daefd69b8
avcodecmap: Fix boolean expression to fix uninitialized usage of variables
2013-09-28 20:39:15 +02:00
Sebastian Dröge
677eaa6692
avviddec: Initialize strides with the ones of avcodec_default_get_buffer() if we ever call it
...
https://bugzilla.gnome.org/show_bug.cgi?id=704769
2013-09-12 13:57:41 +02:00
Sebastian Dröge
1277540b8c
avviddec: Use the correct context for negotiation
...
During get_buffer() it can happen that the main context is not
updated yet and only the context passed here has the correct
width, height, etc.
2013-09-12 12:12:23 +02:00
Sebastian Dröge
faec0142e3
avviddec: Remember initially used stride and don't allow stride changes
...
libav does not allow stride changes currently, fall back to
non-direct rendering here:
https://bugzilla.gnome.org/show_bug.cgi?id=704769
https://bugzilla.libav.org/show_bug.cgi?id=556
2013-09-12 12:11:29 +02:00
Matej Knopp
94875a34d4
avcodecmap: Add support for TechSmith Screen Capture 2
...
https://bugzilla.gnome.org/show_bug.cgi?id=707878
2013-09-11 11:04:42 +02:00
Alex Ashley
61153a5ac2
avcodecmap: exclude avc3 stream format from AV_CODEC_ID_H264
...
As part of the changes to support the "avc3" variant of the ISO-BMFF
(see bug #702004 ) a new stream-format has been created
(video/x-h264, stream-format="avc3", alignment="au") that requires
changes to gstavcodecmap to exclude this format because avdec_h264
expects the SPS and PPS to be in the codec_data.
Amendment 2 of ISO/IEC 14496-15 (AVC file format) is defining a new
structure for fragmented MP4 called "avc3". The principal difference
between AVC1 and AVC3 is the location of the codec initialisation data
(e.g. SPS, PPS). In AVC1 this data is placed in the initial MOOV box
(moov.trak.mdia.minf.stbl.stsd.avc1) but in AVC3 this data goes in the
first sample of every fragment.
https://bugzilla.gnome.org/show_bug.cgi?id=702004
2013-09-04 13:34:00 +02:00
Josep Torra
690ca42e6e
codecmap: add mapping for MSS1 and MSS2
...
Windows Media Video Screen (WMV Screen) are video formats that
specilise in screencast content.
2013-08-30 15:00:30 +02:00
Sebastian Dröge
6571196fb8
libav: avcodec_close() also resets fields like the AVCodec
...
We need to reload the defaults for the codec after closing it,
otherwise we can't access codec information like the supported
sample rates and can crash.
https://bugzilla.gnome.org/show_bug.cgi?id=707040
2013-08-29 16:53:28 +02:00
Sebastian Dröge
966b53109b
avdemux: Add support for video/x-pva
...
https://bugzilla.gnome.org/show_bug.cgi?id=158719
2013-08-22 14:23:43 +02:00
Tim-Philipp Müller
ffe85cb0ef
avvidenc: propagate flow return values upstream in finish()
2013-08-21 13:47:15 +01:00
Sebastian Dröge
ae946bab1c
libav: Use new flush vfunc of video codec base classes and remove reset implementations
2013-08-15 15:51:52 +02:00
Hans de Goede
3d628e5676
avmux: Don't fail on commas in the libav muxer type names
...
https://bugzilla.gnome.org/show_bug.cgi?id=697512
2013-08-13 12:49:54 +02:00
Sebastian Dröge
461a46f17a
avdemux: Implement SEGMENT query
2013-07-29 12:19:38 +02:00
Edward Hervey
b1dccb17e9
avcodecmap: Demote WARNING to DEBUG
...
We cover all the needed formats already. The warning was just getting
in the way.
2013-07-24 12:22:04 +02:00
Olivier Crête
2556cb325a
avviddec: Initialise opaque from the start
...
https://bugzilla.gnome.org/show_bug.cgi?id=693581
2013-07-23 14:01:32 +02:00
Sebastian Dröge
9b2577ea2b
avdemux: Add support for group-id in the stream-start event
2013-07-23 09:59:43 +02:00
Arnaud Vrac
4a2054c6aa
avviddec: increase bottom padding for output frames
...
libav can write slightly after the plane end in some SIMD optimized
functions. The extra padding value needs to be at least 16+stride_align
for each plane, so just increase the bottom padding value for the output
frame.
https://bugzilla.gnome.org/show_bug.cgi?id=694299
2013-07-18 16:24:18 +02:00
Wim Taymans
5736513eb0
codecmap: realvideo does not have systemstream property
...
realvideo does not have the systemstream property and nobody ever sets it so
better remove it here to make it link to something else.
2013-06-25 14:03:07 +02:00
Thiago Santos
dce9d85695
avviddec: reset coded_width/_height before trying to open codec
...
If coded_width/_height is supplied, the codec might use it as the
width/height and if it is wrong can lead to segfaults or video
corruption.
This is specially harmful on renegotiation scenarios where the
resolution changed. There seems to be no specific function for reseting
the AV Context in libav, so just set it directly.
https://bugzilla.gnome.org/show_bug.cgi?id=702003
2013-06-11 09:00:49 -03:00
Tim-Philipp Müller
068be939cb
CODEC_ID_* -> AV_CODEC_ID_*
2013-05-06 23:56:22 +01:00
Tim-Philipp Müller
4dd36df4f7
codecmap: add mapping for WMA Lossless
...
Only 16 bits is supported for now though.
2013-05-06 23:53:01 +01:00
Sebastian Dröge
2d2c9b1aac
avviddec: Enable FRAME based threaded decoding if upstream is not live
...
If upstream is live we don't want FRAME based threaded decoding as
it adds latency.
2013-04-23 14:20:42 +02:00
Andoni Morales Alastruey
d3b125913f
libav: fix static linking
2013-04-15 16:00:03 +02:00
Sebastian Dröge
1caa7d6161
gst: Add better support for static plugins
2013-04-15 16:00:02 +02:00
Matej Knopp
710c92d830
av: Add WMV3 format for WMV 3 caps
2013-04-15 12:42:01 +02:00
Siva Chandran P
758d7bf7ea
avvidec: Make sure to store newly set caps after resetting the decoder
...
Otherwise we'll just set the to NULL while resetting the decoder and
don't have them available anymore later.
https://bugzilla.gnome.org/show_bug.cgi?id=697548
2013-04-09 20:44:23 +02:00
David Schleef
f656d9eaf7
Use %03u instead of %u in gst_pad_create_stream_id_printf()
2013-03-25 19:01:31 -07:00
Olivier Crête
597bf61ae7
swscale: Use 1.0-style video/x-raw caps
2013-03-01 15:11:15 -05:00
David Schleef
7f2f2fb31f
Add mapping for SMPTE 302m audio
2013-02-04 18:10:42 -08:00
Tim-Philipp Müller
b7ef1faab7
Revert "avdec_aac: disable for autoplugging until it gets fixed"
...
This reverts commit c5980dc52a
.
It's fixed now.
https://bugzilla.gnome.org/show_bug.cgi?id=690940
2013-01-26 12:52:29 +00:00
Tim-Philipp Müller
879cd02e26
avauddec: fix decoding of mono audio as well
...
https://bugzilla.gnome.org/show_bug.cgi?id=690940
2013-01-26 12:52:29 +00:00
Nicolas Dufresne
76423a4ba7
avauddec: fix garbled audio decoding in some cases
...
Calculate output buffer size based on the number of
samples, channels and bytes per sample. The buffer
size was calculated based on linesize, which may
be larger than what's required.
https://bugzilla.gnome.org/show_bug.cgi?id=690940
2013-01-26 12:23:14 +00:00
Tim-Philipp Müller
ed6561bee6
avenc_aac: downgrade to RANK_NONE until it gets fixed
...
Currently just fails to initialize.
https://bugzilla.gnome.org/show_bug.cgi?id=691617
2013-01-22 12:57:41 +00:00
Tim-Philipp Müller
c5980dc52a
avdec_aac: disable for autoplugging until it gets fixed
...
Currently outputs garbled audio. Use faad in the meantime.
https://bugzilla.gnome.org/show_bug.cgi?id=690940
2013-01-22 12:53:48 +00:00
Tim-Philipp Müller
3ad2d0b0e7
Disable libswscale/avvideoscale plugin until it works at least somewhat
...
It needs some fixing.
2013-01-17 23:57:00 +00:00
Sebastian Dröge
4221ae1022
av: Remove some unused variables and function declarations
2012-12-22 10:52:47 +01:00
Sebastian Dröge
08ca549627
av: Move gst_ffmpegdata functions to gstavprotocol.h too
...
Just for consistency.
2012-12-22 10:49:52 +01:00
Thijs Vermeir
bdd7406bc4
av: Fix redefinition of typedef 'GstFFMpegPipe'
...
Move declaration of pipe function to correct headers file
2012-12-21 23:16:44 +01:00
Sebastian Dröge
adfdfebc8c
av: Use correct printf format strings for gsize
2012-12-21 11:03:27 +01:00
Sebastian Dröge
022ab84288
av: Fix some memory leaks and misuse of libav API
2012-12-17 16:35:36 +01:00
Sebastian Dröge
d69dda0391
avauddec: Use a GstBuffer instead of a GstAdapter for collecting the output buffers
...
This might cause less memcpies as the GstMemories of the buffers
are just appended into a single buffer.
2012-12-17 15:58:37 +01:00
Thiago Santos
c445b614f9
avauddec: accumulate buffers from a single input to push it all at once
...
The base audio decoder wants a 1:1 mapping for input and output
buffers, so this decoder must accumulate data in an adapter and push
it all at once after all input has been processed.
https://bugzilla.gnome.org/show_bug.cgi?id=689565
2012-12-17 15:56:03 +01:00
Sebastian Dröge
faf985e8fb
avcodecmap: Only set "formats" field on raw audio/video caps
2012-12-17 13:42:13 +01:00
Sebastian Dröge
0ec5fea211
avcodecmap: Correctly convert GStreamer channel positions to libav channel mask
2012-12-17 13:41:42 +01:00
Sebastian Dröge
a6ede95de7
avcodecmap: Add more and correct restrictions for DV
...
https://bugzilla.gnome.org/show_bug.cgi?id=600895
2012-12-17 11:11:12 +01:00
Sebastian Dröge
959d9ce553
libav: Fix some compilation errors caused by circular includes
2012-12-12 17:36:33 +00:00
Wim Taymans
60ff639cd4
avcodec: set bits_per_coded_sample for G726
...
Use the bitrate and the samplerate to set the bits_per_coded_sample for G726
because the decoder needs this.
2012-12-12 17:04:00 +01:00
Sebastian Dröge
3837abb264
avauddec: Set frame defaults for the audio decoders too
2012-12-12 15:57:19 +00:00
Sebastian Dröge
7a36bbb873
avcodecmap: Remove some unused functions
2012-12-12 15:54:01 +00:00
Wim Taymans
b333e1204e
avaudenc: init frame with defaults
...
Init the AVFrame with the right method. This sets the extended_data field
correctly that is needed for some formats (G726 for example).
2012-12-12 16:47:19 +01:00
Sebastian Dröge
21ac746f33
avdec: Improve src template caps
2012-12-12 15:42:09 +00:00
Sebastian Dröge
cb9e40ff4c
avaudenc: Properly handle planar audio formats with more than AV_NUM_DATA_POINTERS channels
2012-12-12 13:04:54 +00:00
Sebastian Dröge
1bec18edce
avauddec: Properly handle planar audio formats with more than AV_NUM_DATA_POINTERS channels
2012-12-12 13:04:38 +00:00
Christiaan Welvaart
338b147374
avprotocol: Port from the URL protocol handler to saner public API
2012-12-12 12:10:27 +00:00
Wim Taymans
4c46f11d5f
libav: fix palette support again
2012-12-12 10:12:22 +01:00
Sebastian Dröge
736bda7350
avcodecmap: Take framerate restrictions into account for encoders
2012-12-11 18:56:24 +00:00
Sebastian Dröge
86361bf6df
avvidenc: Simplify color formats in the raw video caps
2012-12-11 18:48:34 +00:00
Sebastian Dröge
fbe1221d70
avaudenc: Reorder audio channels if necessary and add proper support for channel layouts
2012-12-11 18:07:34 +00:00
Sebastian Dröge
64a2a8bdae
avcodecmap: Take channel layout constraints into account if possible
2012-12-11 17:25:41 +00:00
Sebastian Dröge
b9d0c7110f
avcodecmap: Take generic samplerate limitations into account
2012-12-11 16:54:09 +00:00
Sebastian Dröge
90e1c0c21d
avcodecmap: Simplify raw audio caps
2012-12-11 16:46:43 +00:00
Sebastian Dröge
9945ae7adc
avauddec: Close context when it was opened
2012-12-11 15:14:10 +00:00
Sebastian Dröge
06de84c747
avviddec: Fix memory leak if we already allocated an output buffer for the frame
2012-12-11 10:34:42 +00:00
Wim Taymans
76b8b8c67f
Revert "avviddec: Fix memory leaks and assertions in error cases if we can't allocate a frame"
...
This reverts commit 47647e1cac
.
Breaks playback when direct rendering is disabled.
The reason is that we set the opaque vaue to NULL and then try to use the NULL
value when we decoded a frame.
2012-12-11 10:24:08 +01:00
Rasmus Rohde
4fc452344a
Fix incorrect use of object in log statement. We are given a pointer to the object and should not try to take the address of it.
2012-12-10 15:35:16 +01:00
Руслан Ижбулатов
b7471c1f5b
avutils: Add missing includes for Windows
...
Fixes #689751
2012-12-06 10:45:58 +01:00
Sebastian Dröge
cab519f370
avaudenc: Add support for planar audio formats
2012-12-05 19:28:33 +01:00
Sebastian Dröge
2d7ebf9514
av: Correctly populate the codec context with the defaults
2012-12-05 19:25:37 +01:00
Sebastian Dröge
d840211412
av: Use av_codec_is_{en,de}coder() API instead of private struct fields
2012-12-05 10:52:34 +01:00
Sebastian Dröge
aa4a238506
avauddec: release_buffer is not supposed to be used for audio
...
And calling it causes crashes in some situations.
2012-12-04 22:09:05 +01:00
Sebastian Dröge
e092f3d411
avauddec: Add support for planar audio formats
2012-12-04 20:45:28 +01:00
Sebastian Dröge
47647e1cac
avviddec: Fix memory leaks and assertions in error cases if we can't allocate a frame
2012-12-04 20:44:58 +01:00
Sebastian Dröge
f5c112990f
av: Port remaining simple bits
2012-12-04 18:36:56 +01:00
Sebastian Dröge
0f206124b6
av: Remove palette support for now
...
It was never ported to the way how paletted color formats work
in 1.0 anyway and the API changed in libav upstream.
2012-12-04 18:36:37 +01:00
Sebastian Dröge
169825a28e
av: Update for some constant changes
2012-12-04 18:36:37 +01:00
Sebastian Dröge
06ed3e4060
av: Port to new avio protocol handler
2012-12-04 18:36:37 +01:00
Luca Barbato
5f03a7d869
av: update to use AVOption variants.
2012-12-04 18:36:30 +01:00
Tim-Philipp Müller
5a823a5fbf
avaudenc: log error string as well in debug output
2012-12-02 12:31:43 +00:00
Tim-Philipp Müller
a3d930afbe
avaudenc: use sample rate as ticks per second fallback
...
The 25/1 value presumably came from the video encoder class.
2012-12-01 23:21:41 +00:00
Tim-Philipp Müller
819d4d2a04
avaudenc: fix output timestamping
...
We need to pass the number of samples encode in the output buffer
to gst_audio_encoder_finish_frame(), not the number of frames.
Fixes output timestamps being way too small, and transcoding
problems.
https://bugzilla.gnome.org/show_bug.cgi?id=689398
2012-12-01 23:05:23 +00:00
Sebastian Dröge
4132a73f0e
avvidenc: Implement reset vfunc
2012-11-20 11:56:57 +01:00
Sebastian Dröge
d3f8c5f0cc
avvidenc: Don't send any frames downstream when draining unless requested to do so
2012-11-20 11:53:52 +01:00
Sebastian Dröge
5ffd21f1ee
avaudenc: Implement draining
2012-11-20 11:51:13 +01:00
Sebastian Dröge
e281493f29
avaudenc: Implement flush vfunc properly
2012-11-20 11:45:34 +01:00
Sebastian Dröge
9456fb86c7
avauddec: Port to non-deprecated avcodec_decode_audio4() API
...
Fixes bug #666435 .
2012-11-20 11:40:10 +01:00
Sebastian Dröge
f4acd40767
avaudenc: Some minor cleanup
2012-11-20 10:55:55 +01:00
Sebastian Dröge
3ffbb6ff94
avaudenc: Use non-deprecated avcodec_encode_audio2() API
...
This also allows us to always get an output buffer of the required size
instead of risking that it is too small.
2012-11-20 10:53:01 +01:00
Sebastian Dröge
7a29cffc50
avaudenc: Port to audio encoder base class
2012-11-20 10:36:29 +01:00
Sebastian Dröge
970f40b935
avvidenc: Use gst_caps_truncate()
2012-11-20 10:35:01 +01:00
Sebastian Dröge
6895df72d6
av: Use PROP_ instead of ARG_
2012-11-20 10:31:49 +01:00
Sebastian Dröge
0e13c75aea
avcodecmap: Y41B is YUV411P, not YUV410P
2012-11-19 14:11:52 +01:00
Sebastian Dröge
ef408ada57
avauddec: Port to audio base classes
2012-11-19 14:11:52 +01:00
Sebastian Dröge
c784ec9fa5
av: Put declarations in header files and rename audio codec files
2012-11-19 10:30:37 +01:00
Tim-Philipp Müller
37ce97a6e0
gst_adapter_prev_timestamp -> gst_adapter_prev_pts
2012-11-14 12:45:56 +00:00
Sebastian Dröge
67e11c7ad9
avcodecmap: Add mappings for the GBR color formats
2012-11-10 22:23:23 +01:00
Tim-Philipp Müller
d0ef33d463
Fix FSF address
2012-11-04 00:22:16 +00:00
Sebastian Dröge
c9125dd6f0
avcodecmap: Remove redundant function to map PixelFormat to GstVideoFormat
...
And merge everything into a single one.
2012-10-29 14:12:03 +01:00
Sebastian Dröge
7eec659460
avdec: Use gst_audio_buffer_clip() instead of manual clipping
2012-10-25 14:07:21 +02:00
Tim-Philipp Müller
451a6c2ecf
avvidenc: also skip non-video encoders
...
Doesn't actually make any difference at the moment, but
seems the right thing to do.
https://bugzilla.gnome.org/show_bug.cgi?id=685113
2012-09-30 16:25:29 +01:00
Alban Browaeys
f1071cc1b1
avviddec: exclude non-video decoders
...
Otherwise audio decoders "ignored", ie blacklisted, end up
registered by avviddec as video decoders.
https://bugzilla.gnome.org/show_bug.cgi?id=685113
2012-09-30 16:24:18 +01:00
Tim-Philipp Müller
07cec6d216
avdemux: fix not-negotiated errors
...
Drop caps event received on the sink pad, instead of
putting it in the list of cached events to be sent
downstream later. We don't want to send our container
caps downstream to our decoders, that'll give us
nasty not-negotiated errors.
https://bugzilla.gnome.org/show_bug.cgi?id=680464
2012-09-28 16:53:49 +01:00
Sebastian Dröge
f0d700d5ca
avviddec: Correctly handle 0-sized buffers without crashing
...
Might e.g. be valid for Theora.
2012-09-27 12:20:30 +02:00
Tim-Philipp Müller
787bd57ea1
avviddec: don't try to set invalid latency
...
Avoids warnings when we don't know the latency.
2012-09-25 18:29:08 +01:00
Wim Taymans
aafffb7665
avviddec: improve debug
2012-09-14 13:25:03 +02:00
Nicolas Dufresne
3ca45b8c45
viddec: Set latency base on the number of bframes
2012-09-13 15:48:26 +02:00
Nicolas Dufresne
1f74496b8a
viddec: Cleanup unused has_b_frames flag
2012-09-13 15:48:22 +02:00
Edward Hervey
0f9cc8dac6
libav: Switch to non-deprecated symbols
...
This symbols/enums will all be deprecated in the next releases
2012-09-13 15:23:26 +02:00
Stefan Sauer
70471f230f
collectpads: remove gst_collect_pads_add_pad_full
...
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:15:24 +02:00
Michael Smith
01bb84a5eb
libav: add decode support for prores
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683840
2012-09-12 10:29:24 +02:00
Mark Nauwelaerts
c5589bb8f9
avdemux: port to the new GLib thread API
2012-09-12 10:25:21 +02:00
Mark Nauwelaerts
b9e32291a9
avdemux: only activate in pull mode if upstream is seekable
2012-09-11 17:52:57 +02:00
Wim Taymans
1e5bfa5215
avviddec: add support for codecs that use reget_buffer
...
Add support for codec that use reget_buffer. In this mode, it reuses the picture
and we need to attach the corresponding input frame to it or else we get the
timestamps wrong.
2012-09-11 13:53:23 +02:00
Edward Hervey
90a8b3fb9f
ext: ffmpeg/gstffmpeg*.[ch] => libav/gstav*.[ch]
2012-09-10 17:53:54 +02:00
Edward Hervey
f4532d9135
remove postproc element
...
libpostproc is gone from upstream libav.
2012-09-10 17:18:30 +02:00
Edward Hervey
0e40eb11bc
configure.ac: Import top-level include directory
...
And fixup all includes
2012-09-10 17:08:00 +02:00
Edward Hervey
9f8e46d3d2
avdemux: Really ignore demuxers we want to ignore
2012-09-10 11:17:11 +02:00
Tim-Philipp Müller
22f67f7b9e
viddec: blacklist *crystalhd* decoder wrappers
...
There are gstreamer crystalhd elements as well,
so shouldn't be a big loss.
https://bugzilla.gnome.org/show_bug.cgi?id=683435
2012-09-07 17:56:43 +01:00
Sjoerd Simons
ed1ea6f097
ffmpegenc: Don't try to set caps to NULL
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=682736
2012-08-30 20:03:10 +02:00
Wim Taymans
4b62101f44
viddec: use the right pointers
...
Use the plane pointers and strides.
Improve some debug
2012-08-10 17:03:26 +02:00
Sebastian Dröge
fe0a8d005d
avviddec: Properly align and pad buffers for libav
...
https://bugzilla.gnome.org/show_bug.cgi?id=680796
2012-08-08 16:02:32 +02:00
Sebastian Dröge
3a4a139a28
av: Use */x-gst-av instead of */x-gst-ff for unknown caps
2012-08-07 10:19:16 +02:00
Sebastian Dröge
0764e9600c
avdemux: Remove unused variable
2012-08-06 14:35:07 +02:00
Sebastian Dröge
1af5b5601d
avdemux: Add stream-id to stream-start events
2012-08-06 14:05:28 +02:00
Edward Hervey
9b45987ef5
ffmpegviddec: Return NOT_NEGOTIATED when not configured
2012-08-06 11:55:31 +02:00
Tim-Philipp Müller
241419b46d
gst_tag_list_free -> gst_tag_list_unref
2012-08-04 16:19:29 +01:00
Sebastian Dröge
3d2d1beb77
tag: Update for taglist/tag event API changes
2012-07-28 00:36:40 +02:00
Wim Taymans
3c47f584e2
avdec: require alignment=au for h264
...
Because we don't use a parser anymore we need to make sure that we feed the
decoder with full frames. For h264, require that we are aligned on access
units.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680540
2012-07-25 11:55:21 +02:00
Tim-Philipp Müller
2d458ca951
audio encoders: use context default bitrate if no bitrate has been set
...
Fixes 'bitrate too low: got 0, need 24000 or higher'
error when doing audiotstsrc ! avenc_wmav1 ! fakesink
https://bugzilla.gnome.org/show_bug.cgi?id=680487
https://bugzilla.gnome.org/show_bug.cgi?id=680487
2012-07-23 23:29:26 +01:00
Mark Nauwelaerts
0489f5eb78
ffmpeg: avoid assertion failure on duplicate frame allocation
2012-07-23 15:02:11 +02:00
Robert Swain
1638344081
ffmpegviddec: Correctly flag interlaced state
...
If the context interlaced state is indicated, the picture interlaced
state can be used to correctly indicate GST_VIDEO_BUFFER_FLAG_INTERLACED
on output buffers.
2012-07-23 11:37:57 +02:00
Sebastian Dröge
899fd3d76e
ffvidenc: Allocate output buffers with the base class functions
2012-07-23 10:40:14 +02:00
Sebastian Dröge
941f4c331b
ffmpegviddec: Update for video base classes API changes
2012-07-23 10:35:38 +02:00
Edward Hervey
c77db02d6e
viddec: Call gst_video_decoder_negotiate()
2012-07-18 18:30:53 +02:00
Tim-Philipp Müller
4e784f0d0e
avdeinterlace: fix up output caps for new field as well
...
And presumably our output is always progressive and not
interlaced any more?
2012-07-17 12:35:03 +01:00
Tim-Philipp Müller
ad04636c6e
avdeinterlace: detect interlaced input properly
...
It's not a boolean field any more, and called "interlaced-mode" now.
2012-07-17 12:31:52 +01:00
Edward Hervey
93ef1b687e
demux: Push STREAM_START when needed
2012-07-13 14:01:44 +02:00
Wim Taymans
a3b0ae22d7
avdec: ignore AAC errors instead of erroring out
...
Also ignore decode errors for AAC and carry on decoding like we do for all
other formats.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679639
2012-07-10 16:10:14 +02:00
Wim Taymans
0e1d6c0011
avcodecmap: only restrict caps on encoders
...
We only want to restrict the channels/rate and width/height on the encoder pads.
For decoders can't assume that the input caps contain channels/rate or
width/height so we need to accept everything.
2012-07-10 15:47:01 +02:00
Wim Taymans
dc7bf19858
update for query api changes
2012-07-06 11:50:57 +02:00
Wim Taymans
f8475ad22a
update for query api changes
2012-07-06 11:27:33 +02:00
Wim Taymans
3ae9eb158c
update for allocation query changes
2012-07-06 11:05:19 +02:00
Tim-Philipp Müller
ab7b7cbff3
cfg: remove some deprecated properties: statsfile, mb-qmin, mb-qmax
...
Use multipass-cache-file, qmin, qmax instead.
2012-07-06 09:49:57 +01:00
Sebastian Dröge
06d24b47b6
avdemux: Implement segment-done event
2012-07-05 13:21:33 +02:00
Wim Taymans
cdcaa584a4
avdec: handle_frame should always unref the input frame
...
Unref the input frame in all cases. Previously it was only unreffed when the
frame was used for output.
When we produce an output frame, take an extra ref because the frame is now
freed elsewhere.
2012-07-03 17:13:00 +02:00
Wim Taymans
c9878e9f86
avdec: small cleanup
2012-07-03 17:13:00 +02:00
Wim Taymans
41ad632275
avdec: avoid some refs
...
We can let the ffmpeg structure take ownership of the buffer.
2012-07-03 17:13:00 +02:00
Руслан Ижбулатов
3ff6f53f24
ffvidenc: Fix a format string to avoid warnings
...
istffmpegvidenc.c:412:3: error: format '%lu' expects argument of type 'long unsigned int', but argument 8 has type 'gint' [-Werror=format]
2012-07-03 08:38:28 +02:00
Sebastian Dröge
7b8ffe6169
ffaudenc: Fix format string compiler warning
...
gstffmpegenc.c:266:3: error: format '%lu' expects argument of type 'long unsigned int', but argument 8 has type 'gint'
2012-07-02 15:51:17 +02:00
Wim Taymans
103f8f9395
avdec: don't wait for keyframe
...
Don't wait for a keyframe but try to decode as soon as possible. In most cases,
the demuxer will send a keyframe first and things will work fine, in other
cases, like RTP, we try to decode ASAP to provide quick feedback. Some formats
also have no keyframes (h264 with intra refresh).
2012-06-28 09:33:28 +02:00
Wim Taymans
932bd7f79e
avenc: don't leak frames
2012-06-26 12:36:56 +02:00
Wim Taymans
eb52e46b07
avdemux: update for task api change
2012-06-20 10:36:25 +02:00
Matej Knopp
17ee8113d7
ffmpegviddec: Don't reopen decoder on same caps, fix memory leaks, only drain on EOS
2012-06-20 07:39:40 +01:00
Wim Taymans
db53c6e5ec
viddec: avoid renegotiation
...
Keep track of the context veriables and renegotiate when something changes. We
need to use separate values for this because not all values can be copied into a
GstVideoInfo.
Set the output interlacing based on the libav context.
Use the demuxer and decoder framerate to construct an output framerate.
Use demuxer and decoder par to construct an output framerate.
2012-06-19 12:23:32 +02:00
Sebastian Dröge
83f57519b4
ffmpegvidenc: Handle allocation queries and improve the padding/direct-rendering handling
2012-06-15 16:37:19 +02:00
Sebastian Dröge
6ff10a922a
ffmpegviddec: Port to 0.11 again
...
No support for video meta, cropping, etc. yet
2012-06-15 15:18:47 +02:00
Sebastian Dröge
85f0dcb1e8
Merge remote-tracking branch 'origin/0.10'
2012-06-15 15:18:41 +02:00
Edward Hervey
1db8779252
ffmpegviddec: Properly return if negotiation fails
...
Instead of crashing ....
2012-06-15 12:19:58 +02:00
Sebastian Dröge
107c00a761
ffvidenc: Port to 0.11
2012-06-14 16:29:05 +02:00
Sebastian Dröge
de82bfbbba
Merge remote-tracking branch 'origin/0.10'
2012-06-14 15:44:18 +02:00
Sebastian Dröge
4a58fd4be4
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
common
ext/ffmpeg/Makefile.am
ext/ffmpeg/gstffmpegcfg.c
ext/ffmpeg/gstffmpegcodecmap.c
ext/ffmpeg/gstffmpegcodecmap.h
ext/ffmpeg/gstffmpegdec.c
ext/ffmpeg/gstffmpegenc.c
ext/ffmpeg/gstffmpegenc.h
tests/check/Makefile.am
Porting of the new video elements to 0.11 still pending.
2012-06-14 15:42:06 +02:00
Edward Hervey
ce7f65f752
ffmpegviddec: Properly update the interlacing
...
Fixes #678080
2012-06-14 15:13:31 +02:00
Edward Hervey
1ca115c44b
ffmpegviddec: Properly error out when codec doesn't open
...
Avoids ending up using an un-set codec
2012-06-14 15:04:33 +02:00
Matej Knopp
a3c7cd4643
gstffmpegdec: only drain on EOS
...
See https://bugzilla.gnome.org/show_bug.cgi?id=675359
2012-06-11 16:27:35 +02:00
Tim-Philipp Müller
4ffec05c50
avenc: make buffer-size property read-only
...
Fixes FIXME.
2012-06-09 16:49:54 +01:00
Tim-Philipp Müller
7956478011
avenc: change properties of type ulong to int
2012-06-09 16:41:28 +01:00
Tim-Philipp Müller
c4ca1e86f8
avmux: blacklist "segment" muxer
...
Causes run-time warnings.
2012-06-09 14:37:09 +01:00
Wim Taymans
ee6c8bd498
update for audio api changes
2012-06-08 10:11:46 +02:00
Wim Taymans
8ae3ffa3d3
update for tag event change
2012-06-06 13:03:18 +02:00
Wim Taymans
c44eff6afb
avdec: fix paletted formats
...
Pass the palette as the side data for AVPacket so that it is written in the
second plane of output AVFrame.
2012-05-31 13:55:44 +02:00
Wim Taymans
e38b00489f
libav: add support for 10 bits I420
...
See https://bugzilla.gnome.org/show_bug.cgi?id=665034
2012-05-25 17:03:53 +02:00
Nicolas Dufresne
35cf2e84f2
codecmap: correctly set height in AVCodecContext
...
https://bugzilla.gnome.org/show_bug.cgi?id=674899
2012-04-27 16:53:28 +02:00
Edward Hervey
f0a411235a
ffmpegviddec: Always keep a reference to the frame
...
Ensures no data gets cleared before the decoders are really done
with it.
2012-04-26 18:56:35 +02:00
Edward Hervey
6d2b483e15
ffmpegviddec: Flush and drain when needed
...
we need to flush avcodec internal state on hard resets
we need to drain out pending buffers on EOS and soft resets
2012-04-26 18:53:51 +02:00
Edward Hervey
252c5e0a92
ffmpegviddec: Add video/x-raw-gray to src pad template
2012-04-24 15:36:30 +02:00
Edward Hervey
8e42e0b6a4
codecmap: Add more GstVideoInfo<=>PixelFormat mappings
2012-04-24 15:36:00 +02:00
Edward Hervey
272823296f
ffmpegviddec: Port to GstVideoDecoder
2012-04-24 11:37:02 +02:00
Edward Hervey
134f7d7058
gstffmpegvidenc: Port to -base video classes
2012-04-24 11:37:02 +02:00
Edward Hervey
bdf7ebf411
ffmpegenc/dec: Remove audio/video specific code
...
Makes each file more manageable, second step to porting to base classes
2012-04-24 11:36:31 +02:00
Edward Hervey
6310ed46dd
ffmpeg: Clone encoder and decoder files
...
First step in porting to base video classes
2012-04-24 11:35:56 +02:00
Edward Hervey
04a2d01877
codecmap: Add utility for using with GstVideoFormat
2012-04-24 11:35:56 +02:00
Tim-Philipp Müller
c69da6d988
ffmpegdemux: skip ffmpeg matroska,webm typefinder again
...
Causes warnings, and shouldn't be needed.
2012-04-22 11:52:18 +01:00
Wim Taymans
cd2e53aa9f
Merge remote-tracking branch 'origin/0.10'
2012-04-20 16:23:41 +02:00
Wim Taymans
630790f50d
ffdec: don't flush buffers on DISCONT
...
Don't flush the buffers that ffmpeg has on DISCONT but instead let it recover.
This gives a much better image in the case of packet loss.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=635020
2012-04-20 16:16:25 +02:00
Wim Taymans
2e3dd525c8
Merge remote-tracking branch 'origin/0.10'
2012-04-19 15:37:06 +02:00
Wim Taymans
e746746120
postproc: fix compilation when ORC is missing
...
Fix 'set but not used' compiler error when ORC is missing.
2012-04-19 15:35:48 +02:00
Wim Taymans
8fee156175
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
ext/libswscale/gstffmpegscale.c
2012-04-19 14:49:18 +02:00
Wim Taymans
b053a50508
ffscale: fix compilation when ORC is missing
...
Fix set but not used compiler error when ORC is missing.
2012-04-19 14:45:42 +02:00
Mark Nauwelaerts
5c9d454517
collectpads2: rename to collectpads
2012-04-17 15:36:12 +02:00
Sebastian Dröge
e49c069995
Rename everything from gst-ffmpeg to gst-libav
...
Also change elements factory names to avenc_*, avdec_*,
avmux_* and avdemux_*. The actual filenames, type names,
function/variable names are not touched to make merging
with 0.10 easier at this point. Once 0.10 is not supported
anymore everything should be renamed.
2012-04-12 19:41:52 +02:00
Tim-Philipp Müller
c1ae78ecea
ffmpeg: use set_metadata() for generated strings
...
Reverts parts of previous commit.
2012-04-10 01:01:00 +01:00
Tim-Philipp Müller
b06b11809b
Use new gst_element_class_set_static_metadata()
2012-04-10 00:53:43 +01:00
Sebastian Dröge
1879c67d58
gst: Update for GST_PLUGIN_DEFINE() API changes
2012-04-05 17:41:11 +02:00
Sebastian Dröge
37fcf4009f
ffmpeg: Update versioning
2012-04-04 14:53:51 +02:00
Wim Taymans
e438f20c93
ffdec: handle DTS/PTS
...
Now that we can know about PTS and DTS on incomming buffers, track them and set
the correct output timestamps.
We can remove the code to estimate if input buffers have pts or dts.
2012-04-03 11:52:05 +02:00
Wim Taymans
182af2df48
update for buffer api change
2012-03-30 18:14:00 +02:00
Wim Taymans
2c881eb752
update for buffer changes
2012-03-28 12:50:19 +02:00
Wim Taymans
894be47d5f
ffenc: fix caps handling
...
Avoid copies and leaks
2012-03-27 16:39:09 +02:00
Wim Taymans
b0cc0cf55d
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/ext/libav
2012-03-22 15:31:40 +01:00
Wim Taymans
c9538928b6
ffdec: ensure padding is big enough
2012-03-19 11:06:40 +01:00
Wim Taymans
b7b587bce0
ffdec: check if input is already 0-padded
...
When the input buffer is already 0-padded we don't need to copy. This can happen
because in the ALLOCATION query we suggest this.
Only do temporary padding when we are using a parser.
2012-03-19 10:29:34 +01:00
Wim Taymans
3d2527c0a2
update for bufferpool changes
2012-03-15 22:11:54 +01:00
Wim Taymans
427ad305c5
update for allocation query changes
2012-03-15 20:39:10 +01:00
Wim Taymans
d9e16a498c
ffdec: propose some padding in the allocation query
...
Hopefully upstream can add some padding and then we don't have to memcpy.
2012-03-14 20:04:53 +01:00
Wim Taymans
d606efc141
take padding into account
2012-03-14 19:53:06 +01:00
Wim Taymans
78e0187282
ffdec: remove unused crop property
2012-03-14 17:35:28 +01:00
Wim Taymans
dab06c0e5d
ffdec: remove padding property
...
Users should not mess with this
2012-03-14 17:33:40 +01:00
Wim Taymans
75ba435552
ffdec: make bufferpool setup recalculate direct rendering
...
We need to recalculate if we can use direct rendering after we have setup the
bufferpool.
2012-03-14 12:58:38 +01:00
Wim Taymans
1ba905c031
ffdec: add some PERFORMANCE logging
2012-03-14 11:53:42 +01:00
Wim Taymans
12c0db9091
ffcodec: add voc demuxer
2012-03-13 13:24:39 +01:00
Wim Taymans
c2469e82f9
ffdemux: activate pad before setting caps
2012-03-13 13:24:23 +01:00
Wim Taymans
575cb87091
ffdec: implement accept-caps
...
Implement a potentially faster accept-caps function
2012-03-12 13:50:46 +01:00
Wim Taymans
bd13c104c2
fix for caps api changes
2012-03-11 19:07:31 +01:00
Wim Taymans
ecbbbe7fd2
ffmpegdec: enable alignment if videometa is allowed
...
Use the videobufferpool when downstream didn't suggest one.
Only enable video alignment in the bufferpool when downstream supports video
metadata.
2012-03-08 13:04:57 +01:00
Sebastian Dröge
d417f99cd7
ffmux: Use correct enum type for return value
2012-03-06 15:27:22 +01:00
Edward Hervey
57c7f59268
ffmpegdec: Use auto-threads if available, and only slice-threading
...
Slice threading causes less latency (and corruption)
2012-03-02 17:27:30 +01:00
Alessandro Decina
d48fc18065
Fix compiler warnings
2012-02-27 06:26:02 +01:00
Wim Taymans
0c7430adec
update for fixate_caps change
2012-02-22 12:28:49 +01:00
Edward Hervey
0a16f7edf6
codecmap: Add mapping for Indeo 4 video codec
2012-02-22 12:14:21 +01:00
Wim Taymans
e4d6638c22
update for new memory api
2012-02-22 02:08:06 +01:00
Wim Taymans
05a44b7ac6
ffdec: disable multithreading
...
It causes refcounting problems.
2012-02-21 18:02:56 +01:00
Matej Knopp
a079886388
only reopen decoder when new caps are different
2012-02-20 16:23:57 +01:00
Wim Taymans
b5609f651e
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
2012-02-08 16:41:19 +01:00
Tim-Philipp Müller
ab88f15674
Fix for gst_type_find_register() API change
2012-02-02 01:36:16 +00:00
Wim Taymans
cf3d3fe00d
ffmpeg: port to new memory API
2012-01-25 11:59:04 +01:00
Wim Taymans
a3a68c1f72
port to new gthread API
2012-01-19 11:34:59 +01:00
Sebastian Dröge
3393095cd0
Merge branch 'master' into 0.11
2012-01-18 10:21:36 +01:00
Sebastian Dröge
99d4792014
ffdec: Only set get_buffer() function for video
...
Fixes bug #666435 .
2012-01-18 10:11:49 +01:00
Tim-Philipp Müller
c84802ffef
ffmpegdemux: demote swf demuxer to GST_RANK_NONE
...
SWF doesn't really make sense in our context, don't pretend
to support it. People should use a dedicated swf player for that.
2012-01-12 18:03:10 +00:00
Vincent Penquerc'h
49e3bc6e35
ffmpegdemux: fix caps leak
2012-01-12 14:57:48 +00:00
Mark Nauwelaerts
0edb9f22f0
ffmpeg: fix and extend LIBS in Makefile.am
...
... to account for -base video helper functions.
2012-01-10 13:41:55 +01:00
Sebastian Dröge
27b5013c9c
ffmux: gst_element_class_add_pad_template() takes ownership of the pad template
2012-01-10 11:49:57 +01:00
Sebastian Dröge
44a1dc0138
ffmpeg: Fix merge mistakes
2012-01-10 11:39:27 +01:00
Sebastian Dröge
bde3117e72
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
ext/ffmpeg/gstffmpegcodecmap.c
ext/ffmpeg/gstffmpegdec.c
ext/ffmpeg/gstffmpegdeinterlace.c
ext/ffmpeg/gstffmpegmux.c
ext/libswscale/gstffmpegscale.c
2012-01-10 11:35:55 +01:00
Sebastian Dröge
b9ff7da938
ffmpeg: Channel layouts are now set for DTS and (E)AC3 by libav
2012-01-10 11:30:00 +01:00
Sebastian Dröge
3d43013d4f
ffdec: Give the (E)AC3/DTS decoders a rank of marginal
...
Even if they don't downmix to stereo, they're still working
correctly. The only advantage of dtsdec/a52dec is that they
downmix to stereo (using the special downmixing matrices) if
downstream prefers stereo but in every other case they should
be equivalent.
2012-01-10 11:06:53 +01:00
Sebastian Dröge
ad53e32665
ffdec: Revert accidentially committed rank change of the (E)AC3/DTS decoders
2012-01-10 10:59:57 +01:00
Sebastian Dröge
6931afe0ba
ffmpegdec: Reorder audio channels after clipping the audio buffer
2012-01-10 10:45:42 +01:00
Sebastian Dröge
3d6c803917
ffmpegdec: Correctly reorder audio channels to the GStreamer order if necessary
2012-01-10 10:37:50 +01:00
Sebastian Dröge
09efbe103f
ffmpeg: Channel layouts are now set for DTS and (E)AC3 by libav
2012-01-10 10:08:05 +01:00
Sebastian Dröge
42bc8f5ad7
ffmpeg: Use stack-allocated channel positions array
2012-01-10 10:01:26 +01:00
Sebastian Dröge
d2702a091e
ffmpeg: Put the new layout field in raw audio caps
2012-01-09 13:40:05 +01:00
Sebastian Dröge
2a4fcf842e
ffdec: Add mappings for the top channel positions
2012-01-09 13:24:55 +01:00
Sebastian Dröge
a861ea34dd
ffdec: Correctly set the channel-mask and also set it for stereo
2012-01-09 13:23:29 +01:00
Wim Taymans
fc0d9bd243
ffmpeg: port to new channel mapping
2012-01-05 14:06:33 +01:00
Wim Taymans
00d22402a2
GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
2012-01-03 15:27:54 +01:00
Wim Taymans
93be243b3a
update for videofilter changes
2011-12-21 23:52:00 +01:00
Wim Taymans
290d3120fb
ffdec: fill in the stride alignment
...
Copy the stride alignment we got from ffmpeg to the alignment structure.
2011-12-21 18:06:32 +01:00
Wim Taymans
9ea5b22de6
ffmpegdec: update for new interlace fields
2011-12-19 18:14:27 +01:00
Vincent Penquerc'h
f66834c11f
ffmpeg: port to GstCollectPads2
2011-12-15 14:28:00 +00:00
Edward Hervey
15ae52392e
ffmpegdec: Report latency if B-frames are present
...
... and cleanup the query handler while we're at it
https://bugzilla.gnome.org/show_bug.cgi?id=663616
2011-12-01 19:29:24 +01:00
Vincent Penquerc'h
dcd387b313
ffmpeg: fix pad template ref leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:23:42 +00:00
Matej Knopp
28142d9549
Fix cpu cores detection on OS X
...
https://bugzilla.gnome.org/show_bug.cgi?id=664687
2011-11-23 23:57:01 +00:00
Matej Knopp
7dd07ed7fb
Fix cpu cores detection on OS X
...
https://bugzilla.gnome.org/show_bug.cgi?id=664687
2011-11-23 23:54:54 +00:00
Wim Taymans
1e147bf88e
update for activation changes
2011-11-21 13:36:34 +01:00
Wim Taymans
944a76904d
update for new scheduling query
2011-11-18 18:00:59 +01:00
Wim Taymans
c1b511f5db
add parent to activate functions
2011-11-18 13:59:59 +01:00
Wim Taymans
152e090891
add parent to pad functions
2011-11-17 12:49:33 +01:00
Stefan Sauer
319de2e96a
collectpads: port API changes
2011-11-17 09:00:47 +01:00
Wim Taymans
63a890a746
add parent to query function
2011-11-16 17:29:22 +01:00
Wim Taymans
f65f9938d0
_query_peer_*() -> _peer_query_*()
2011-11-15 17:55:29 +01:00
Wim Taymans
71540b5fc1
_peer_get_caps() -> _peer_query_caps()
2011-11-15 17:23:21 +01:00
Wim Taymans
175a092331
ffmpeg: change getcaps to query
2011-11-15 16:35:17 +01:00
Wim Taymans
54fdd9faf7
update for adapter api change
2011-11-10 18:25:21 +01:00
Wim Taymans
9d1a924013
remove query types
2011-11-09 11:58:15 +01:00
Wim Taymans
cbb41c36ff
ffdec: get the pixfmt correctly
...
Use the pixfmt from the passed context, which can be different from our other
context and which might not have the pixfmt set correctly.
2011-11-04 16:23:32 +01:00
Wim Taymans
a70ce56cf8
ffmpeg: fix template to %u
2011-11-04 12:43:17 +01:00
Wim Taymans
fa576d7384
tags: update for tag API removal
2011-11-02 12:10:25 +01:00
Wim Taymans
e8910763b4
demux: update for new task api
2011-11-02 09:10:03 +01:00
Wim Taymans
431bbdcbf5
structure: fix for api upate
2011-11-02 09:10:03 +01:00
Tim-Philipp Müller
02250601cf
Merge remote-tracking branch 'origin/master' into 0.11
2011-10-31 14:53:01 +00:00
Martin Storsjo
77fa4072ee
Allow building a LGPL only gst-ffmpeg plugin
...
This removes --enable-gpl and --enable-postproc from the
ffmpeg configure line, and disables building the postproc
gstreamer plugin.
https://bugzilla.gnome.org/show_bug.cgi?id=654037
2011-10-31 10:59:27 +01:00
Tim-Philipp Müller
6501cdbf92
ffmpegdemux: update for taglist API changes
2011-10-30 12:03:36 +00:00
Wim Taymans
dcc9703273
fix compilation with new caps api
2011-10-28 16:35:54 +02:00
Wim Taymans
7cbfd34e13
ffenc: fix compilation
2011-10-27 16:47:18 +02:00
Wim Taymans
1fffbe9876
Merge branch 'master' into 0.11
...
Conflicts:
ext/ffmpeg/gstffmpegcodecmap.c
2011-10-27 16:31:30 +02:00
Sjoerd Simons
eb2e9f48e3
ffmpegenc: Pass the size of the output buffer to avcodec_encode_audio
...
avcodec_encode_audio is documented as taking the size of the output
buffer not the size of the input buffer. This fixes the use of the G722
encoder and makes the code more consistent with avconv from the libav
source tree.
2011-10-19 13:18:35 +01:00
Sjoerd Simons
b05352beee
ffmpegcodecmap: Further specify allowed rates for G722 and G726
2011-10-19 13:18:35 +01:00
Sjoerd Simons
93b333cfea
ffmpegcodecmap: Always restrict audio codec in the unfixed cases
...
If the context isn't fixed yet or if it doesn't exist then always
restrict the caps.
Also restrict the maximum channels for G726 and G722 to 1 channel
2011-10-19 13:18:35 +01:00
Edward Hervey
5264fd3c97
Merge remote-tracking branch 'origin/master' into 0.11
2011-10-17 16:29:10 +02:00
Edward Hervey
99e61c5f3b
gstffmpegdec: Re-enable MT-decoding by default
2011-10-17 16:27:36 +02:00
Edward Hervey
fc0a8893d8
gstffmpegutils: Fix include
2011-10-17 16:26:52 +02:00
Edward Hervey
b4ca4b5cfd
gstffmpegcodecmap: Avoid string operations on NULL
2011-10-11 14:02:53 +02:00
Wim Taymans
3b230ce9b6
dec: remove interlaced update code
2011-10-03 11:34:34 +02:00
Wim Taymans
d4b2751c39
Merge branch 'master' into 0.11
2011-10-03 11:32:24 +02:00
Vincent Penquerc'h
d4d5e350d0
ffdec: ensure buffers have correct interlacedness in caps
...
Whether a frame is interlaced or not is unknown at the time of
buffer allocation, so caps on the buffer in opaque will have
a previous frame's interlaced flag set. So if interlacedness
changes, we update the buffer (if any) caps with the correct
interlaced flag once we know.
https://bugzilla.gnome.org/show_bug.cgi?id=656155
2011-10-03 11:18:06 +02:00
Wim Taymans
afb740b897
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
ext/ffmpeg/gstffmpegcodecmap.c
ext/ffmpeg/gstffmpegdeinterlace.c
2011-09-28 13:29:08 +02:00
Vincent Penquerc'h
8bf3d5a2b7
ffmpegdec: post QoS messages when dropping a frame
...
There seems to be a little bit of non obvious logic where
the QoS logic can decide to not drop decoding a frame and
pass it to ffmpeg, telling it to drop.
In this case, the QoS logic does not drop the frame itself,
but since the frame will end up being dropped, we still
mark it as dropped and post a QoS message.
https://bugzilla.gnome.org/show_bug.cgi?id=657950
2011-09-26 20:13:58 +01:00
Tim-Philipp Müller
8a34abff64
ffmpegdec: disable parser for already-parsed FLAC input
...
Not needed to make anything work, just seems to make sense.
https://bugzilla.gnome.org/show_bug.cgi?id=589361
2011-09-26 19:55:54 +01:00
Tim-Philipp Müller
902ee8a905
ffmpegcodecmap: don't create dummy codec data for FLAC decoder
...
Since then it just errors out because it's too small, as it
wants the flac headers as codec data if there is codec data.
https://bugzilla.gnome.org/show_bug.cgi?id=589361
2011-09-26 19:54:52 +01:00
Tvrtko Ursulin
42cb5bd386
ffdeinterlace: add "mode" property including automatic mode
...
Just like deinterlace.
https://bugzilla.gnome.org/show_bug.cgi?id=656328
2011-09-26 19:17:41 +01:00
Wim Taymans
09a66b0923
ffmpeg: fix for audio caps change
2011-09-06 15:29:26 +02:00
Nicolas Dufresne
eacf516f7f
ffdec: Blacklist non-working subtitle decoders
...
This include decoder for ASS, SRT, PGS, DVD and DVB. Those are generated
with bad capabilities and are not usable in GStreamer. Other elements exist
to handle those subtitle formats.
https://bugzilla.gnome.org/show_bug.cgi?id=658019
2011-09-03 12:32:55 +01:00
Wim Taymans
85fa801d42
ffdec: port to new flags
2011-08-25 16:41:36 +02:00
Wim Taymans
4361442827
ffmpeg: convert to new caps
2011-08-22 13:33:31 +02:00
Wim Taymans
dd56c2c7ea
ffmpeg: port to new audio caps
2011-08-19 18:33:11 +02:00
Wim Taymans
7ae8b453ca
ffmpegdec: react to the reconfigure event
...
Also renegotiate the caps and bufferpool when we have a rereconfigure event
pending.
2011-08-05 12:04:13 +02:00
Wim Taymans
dc12f1c9c9
ffdec: ensure bufferpool size
...
Make sure the bufferpool size is at least what we expect.
Add some more debug.
2011-08-04 11:10:26 +02:00
Wim Taymans
5151ec83e2
ffdec: enable direct rendering for all formats
...
Since we now support padding, we can enable direct rendering for all formats.
2011-08-01 18:10:53 +02:00
Wim Taymans
2e02fbba58
ffdec: add alignment support
...
Always diable EMU_EDGE. Use the bufferpool options to enable extra padding on
allocated frames. If the downstream bufferpool does not support the padding,
disable direct rendering and do the final copy/cropping into the non-padded
output frame.
2011-08-01 17:57:38 +02:00
Wim Taymans
1dc718b195
ffdec: refactor picture fill code
...
Make a method to hold the code to convert a GstVideoFrame to an AVFrame so that
we can reuse it in the non-direct rendering case.
2011-07-29 13:40:30 +02:00