summaryrefslogtreecommitdiff
path: root/src/combined/ffmpeg/ff_audio_decoder.c
AgeCommit message (Collapse)Author
2011-11-23Fix libavcodec version checks for AAC LATM/MPEG parser codeBrad Smith
--HG-- branch : point-release
2011-11-18Fixed building with internal ffmpegPetri Hintukainen
2011-11-02ff_audio_decoder: Use parser for AAC LATM and MPEG. Fixes streams with ↵Petri Hintukainen
multiple audio packets in single PES packet and audio packets splitted to multiple PES packets.
2011-11-02ff_audio_decoder: do not queue any data if opening audio output failsPetri Hintukainen
2011-11-02ff_audio_decoder: If codec parameters can't be read from first audio packet, ↵Petri Hintukainen
try next. Fixes detecting parameters when there are multiple audio packets in single PES packet.
2011-11-02ff_audio_decoder: open audio out after decoding the dataPetri Hintukainen
- Fixes detecting audio parameters when audio packet is splitted to multiple buffers - Simplifies the code (decode function is called only once for each audio frame)
2011-10-27ff_audio_decoder: splitted calling avcodec_decode_audio* to separate functionPetri Hintukainen
2011-09-27ff_audio_open_codec(): initialize codec if it hasn't been initialized.Petri Hintukainen
This makes HEADERS optional for codecs that don't require extradata. imported patch 10124.diff
2011-09-27Splitted ff_audio_open_codec() from ff_audio_decode_data()Petri Hintukainen
imported patch 10123.diff
2011-09-27Splitted ff_audio_init_codec() from ff_audio_handle_header_buffer()Petri Hintukainen
imported patch 10121.diff
2011-09-27Splitted ff_audio_handle_header_buffer() from ff_audio_decode_data()Petri Hintukainen
imported patch 10120.diff
2011-09-27ffmpeg audio: make sure decode_buffer is allocated only oncePetri Hintukainen
imported patch 10119.diff
2011-09-15ffmpeg audio: removed checks that are always true (context is allocated in init)Petri Hintukainen
imported patch 10116.diff
2011-09-15ffmpeg audio: make sure context is allocated only oncePetri Hintukainen
imported patch 10115.diff
2011-09-16Fixed "warning: cast from pointer to integer of different size"Petri Hintukainen
2011-09-16Simplify: check for BUF_FLAG_SPECIAL only once. Splitted special buffer ↵Petri Hintukainen
handling to separate function.
2011-09-10Not every audio packet can be used to determine the sample rate and number ofChris Rankin
audio channels. So we must keep discarding packets that cannot be used to initialise the codec until we receive one that can be.
2011-09-10Pad end of audio data buffer with zeros, as instructed by the API documentation.Chris Rankin
2011-09-10Use xine's fast memcpy function instead of standard library one.Chris Rankin
2011-09-10Optimise flags usage.Chris Rankin
2011-08-13ffmpeg audio crash fix (sse2 alignment)Torsten Jager
Certain ffmpeg audio decoders use 32 bit float samples internally (wma, eac3, ...). They are then exported to the calling application as 16 bit integer. That conversion is done by faster sse2 code if your processor supports it. However, sse2 instructions require data buffers to be 16 byte aligned, or hit a segfault otherwise. Plain malloc() / realloc() ensures only 8 byte alignment, giving a 50% chance of a crash. FFmpeg internally uses aligned buffers a lot. It seems to be a good idea to do likewise for input buffers as well, even if current version does not strictly need it yet. Libavutil/av_realloc() has a bug that can break the alignment when enlarging an existing buffer. Thus I included a fixed version of it within ff_audio_decoder.c.
2011-05-17Fix build with very recent copies of FFmpegBrad Smith
This is a backport of the 1.2 code that was commited to utilize the new API provided by FFmpeg for awhile now but this is especially important because the old API has been eliminated all together from said copies of FFmpeg.
2010-03-23Fixed using uninitialized decode_buffer_sizePetri Hintukainen
2010-02-21WMAPro supportChristopher Martin
Rename "wmav3" to "wmapro" in xine-lib's internals to line up xine-lib's nomenclature with what everyone else calls it and knows it as. [Tweaked by ds to avoid API change.] Tell xine-lib that when it finds wmapro, look to ffmpeg. ffmpeg's wmapro decoder is unique in that it puts out samples that are floats, not 16-bit ints. These need to be converted. This requires external ffmpeg.
2009-11-30Trim trailing space & reduce space+tab.Darren Salt
2009-02-09demux_unstick_ao_loop() reports that xine might be stuck != is stuckLorenzo Desole
Don't give up immediately if demux_unstick_ao_loop() reports that xine might be stuck, because it's not necessarily so. According to my tests, this fixes http://bugs.kde.org/show_bug.cgi?id=180339#c42 and http://bugs.debian.org/514114. This has been tested with Amarok and kde 4.1.x (with phonon) and kaffeine.
2009-01-16Rework ffmpeg codecs lists creation.Darren Salt
This is intended to make it easier to add new codecs without breaking compilation with older ffmpeg and to see which codecs need to be added.
2009-01-05Merge security fixes.Darren Salt
2009-01-02ff_audio_decode_data() doesn't always return if the stream is closed or ↵Lorenzo Desole
playback stopped.
2008-11-20Memory access fixes:František Dvořák
- goom initialization - matroska playing recent files with AAC - replace free() by ffmpeg's av_free() in ff decoders
2008-09-13Compilation fixes for ffmpeg API & ABI changes.Darren Salt
--HG-- extra : transplant_source : %A7%3F%40%BA%27%15%89%8B%F8%28%27%E6%EF%B8%22E%F1%AE%F8%D3
2008-08-20Integer overflow in ff_audio_decode_data()Tielei
There is an integer overflow bug in ff_audio_decode_data(). A crafted file could cause heap crash. --HG-- extra : transplant_source : FxpH6%A3%B7%C5%DA9%5B%F6h%AFKm%93%EA%1Bv
2008-07-15Recognise AMR audio (normally found in 3GP files).Darren Salt
2008-05-09Remove a new bunch of xine_malloc() calls.Diego 'Flameeyes' Pettenò
Also don't reset memory after it's allocated if we do that with calloc.
2008-05-07xine_xmalloc() deprecation: replace its use with static and non-zero size.Diego 'Flameeyes' Pettenò
The xine_xmalloc() function is going to be deprecated, as its behaviour is rarely needed as such, and it's thus misused. With this, almost all uses of xine_xmalloc() with static size (for instance the value returned by sizeof()) or with a size that is guaranteed not to be zero (like strlen()+1) are replaced with calls to either calloc(1, ...) or malloc(). malloc() is used whenever the allocated memory is going to be immediately overwritten, while calloc() is used in every other case, as it sets the whole memory area to zero. --HG-- extra : transplant_source : %8F%98%EC%02%1E%83%F0s%06X%83C%205Y%80%B12%CC%E1
2008-04-07Shift some audio plugin priorities: swap libreal & ffmpeg, otherwise 7 to 8.Darren Salt
2008-04-07Implement support for "MPEG-3 adu".Jinghua Luo
2008-04-07Check the Real extradata length.Darren Salt
2008-04-07Use ffmpeg's cook decoder and fix Real decoder bugsJinghua Luo
This patch drops support for RV20.
2008-04-07ffmpeg/libreal cleanupJinghua Luo
2008-03-18Move ffmpeg plugin code into src/combined/ffmpeg & adapt for current ffmpeg.Darren Salt
The source remains compilable with older ffmpeg, whether internal or external. --HG-- rename : src/libffmpeg/Makefile.am => src/combined/ffmpeg/Makefile.am rename : src/libffmpeg/ff_audio_decoder.c => src/combined/ffmpeg/ff_audio_decoder.c rename : src/libffmpeg/ff_dvaudio_decoder.c => src/combined/ffmpeg/ff_dvaudio_decoder.c rename : src/libffmpeg/ff_mpeg_parser.c => src/combined/ffmpeg/ff_mpeg_parser.c rename : src/libffmpeg/ff_mpeg_parser.h => src/combined/ffmpeg/ff_mpeg_parser.h rename : src/libffmpeg/ff_video_decoder.c => src/combined/ffmpeg/ff_video_decoder.c rename : src/libffmpeg/ffmpeg_decoder.c => src/combined/ffmpeg/ffmpeg_decoder.c rename : src/libffmpeg/ffmpeg_decoder.h => src/combined/ffmpeg/ffmpeg_decoder.h rename : src/libffmpeg/ffmpeg_encoder.c => src/combined/ffmpeg/ffmpeg_encoder.c