Commit graph

10 commits

Author SHA1 Message Date
Tim-Philipp Müller
ef8a1bdd90 avauddec: fix decoding of APE and Cook audio
.. and other formats where ffmpeg gives us multiple
subframes per input frame.

Since we now support non-interleaved audio, we can't
just concat buffers any more. Also, audio metas won't
be combined when buffers are merged, so when we push
out the combined buffer we'll look at the meta describing
only the first subframe and think it covers the whole
frame leading to stutter/gaps in the output.

We could fix this by copying the output data into a new
buffer when we merge buffers, but that's suboptimal, so
let's add some API to GstAudioDecoder to push out subframes
and use that instead.

https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/49
2019-03-04 11:54:15 +00:00
Mathieu Duponchelle
066acfa922 avauddec: fix remaining warnings
https://bugzilla.gnome.org/show_bug.cgi?id=792900
2018-07-13 00:53:27 +02:00
Edward Hervey
04b3867cb8 libav: Switch to common include 2018-05-11 14:24:03 +02:00
Thomas Bluemel
30a4a28793 avauddec: Ensure input buffers have FF_INPUT_BUFFER_PADDING_SIZE padding, which is required by avcodec_decode_audio4 () 2015-06-30 19:19:42 +02:00
Sebastian Dröge
4240ff2bfc avauddec: Use undeprecated AVFrame API 2015-06-28 12:41:55 +02: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
9456fb86c7 avauddec: Port to non-deprecated avcodec_decode_audio4() API
Fixes bug #666435.
2012-11-20 11:40:10 +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