aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/FfmpegDecoderPlugin.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-12-15decoder/ffmpeg: detect and fix negative time stampsMax Kellermann1-4/+7
Works around assertion failure due to something that appears to be a (minor) FFmpeg bug.
2014-12-08decoder/ffmpeg: support FFmpeg 2.5Max Kellermann1-0/+5
Version 2.5 fixed an API oddity, however it broke API compatibility, at least with C++. Disable the workaround when a libavformat version is detected that is recent enough.
2014-11-10decoder/ffmpeg: support opusMax Kellermann1-1/+2
2014-11-02decoder/ffmpeg: recognize MIME type audio/aacpSteven OBrien1-0/+1
2014-09-09decoder/ffmpeg: use memset() to initialize AVProbeDataMax Kellermann1-0/+6
2014-09-07decoder/ffmpeg: pass MIME type to ffmpeg/libav version 11Max Kellermann1-0/+7
That attribute was uninitialized before, which could crash libavformat. See Debian bug 760669
2014-08-13decoder/ffmpeg: use avcodec_descriptor_get() to determine codec nameMax Kellermann1-0/+9
In version 11, both ffmpeg and libav deprecate AVCodecContext::codec_name. The function avcodec_descriptor_get() has been introduced long ago.
2014-03-18decoder/ffmpeg: handle unknown stream start timeMax Kellermann1-2/+25
2014-03-18decoder/ffmpeg: pass AVSEEK_FLAG_ANY to av_seek_frame()Max Kellermann1-1/+1
This corrects a major mistake from commit 724a59aa - there was one small thing that commit was supposed to do, and it failed. AV_TIME_BASE is not a seek flag.
2014-01-24decoder/*: move to decoder/plugins/Max Kellermann1-686/+0
2014-01-15decoder/ffmpeg: support libav v10_alpha1Max Kellermann1-1/+11
2014-01-15decoder/ffmpeg: include cleanupMax Kellermann1-1/+0
2014-01-15decoder/ffmpeg: check for av_samples_get_buffer_size() errorsMax Kellermann1-0/+3
Fixes potential nullptr dereference.
2014-01-14decoder/ffmpeg: check for av_samples_get_buffer_size() errorsMax Kellermann1-0/+3
Fixes potential nullptr dereference.
2014-01-13copyright year 2014Max Kellermann1-1/+1
2013-12-20fix FfmpegDecoderPlugin to use relative timestampsSteven O'Brien1-4/+6
2013-11-28include cleanup using iwyuMax Kellermann1-1/+0
2013-11-28decoder/ffmpeg: use IgnoreError instead of local Error instanceMax Kellermann1-5/+2
2013-11-04Log: add level "DEFAULT"Max Kellermann1-2/+2
Map LogLevel::INFO to G_LOG_LEVEL_INFO, and LogLevel::DEFAULT to G_LOG_LEVEL_MESSAGE. Now client connect/disconnect message are only logged on log_level "secure".
2013-10-23input_stream: rename struct to InputStreamMax Kellermann1-15/+15
2013-10-23InputStream: add method Rewind()Max Kellermann1-10/+4
2013-10-21decoder: rename the struct to "Decoder"Max Kellermann1-7/+7
2013-10-21decoder_plugin: rename struct to DecoderPluginMax Kellermann1-1/+1
2013-10-19*: use nullptr instead of NULLMax Kellermann1-17/+17
2013-10-19decoder/gme,input/curl,...: use static buffers instead of g_strdup_printf()Max Kellermann1-13/+7
2013-10-02Log: new logging library APIMax Kellermann1-27/+33
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-09-27DecoderCommand: convert to strictly-typed enumMax Kellermann1-7/+6
2013-09-05Tag, ...: move to libtag.aMax Kellermann1-1/+1
2013-09-05InputLegacy: move functions to the input_stream classMax Kellermann1-3/+2
2013-09-04util/Error: new error passing libraryMax Kellermann1-6/+9
Replaces GLib's GError.
2013-08-07FfmpegDecoderPlugin: Allocate the interleaved buffer as needed instead of ↵Alexis Ballier1-17/+29
using an arbitrary big constant. Also, save a memcpy when FFmpeg outputs interleaved audio. Fixes build with FFmpeg 2.0.
2013-08-05decoder/ffmpeg: convert struct mpd_ffmpeg_stream to a classMax Kellermann1-47/+28
2013-08-04*: use gcc.h macros instead of GLibMax Kellermann1-4/+4
2013-08-04DecoderPlugin: pass config_param referenceMax Kellermann1-1/+1
2013-08-03audio_format: convert to C++Max Kellermann1-10/+15
2013-07-31decoder/ffmpeg: require ffmpeg/libav 0.8Max Kellermann1-89/+0
Now that even Debian stable has picked up version 0.8, we can safely make this a requirement, and remove a lot of old cruft.
2013-07-29audio_check: convert to C++Max Kellermann1-4/+1
2013-07-29tag_handler: convert to C++Max Kellermann1-1/+1
2013-07-28decoder_api: convert to C++Max Kellermann1-1/+1
2013-04-08decoder/ffmpeg: suppress warning about unused variableMax Kellermann1-0/+2
Only relevant for old ffmpeg versions.
2013-04-05ffmpeg decoder plugin: do not allocate an AVFrame on stack.Anton Khirnov1-5/+24
AVFrame must be allocated with avcodec_alloc_frame().
2013-01-28InputStream: use std::stringMax Kellermann1-3/+4
2013-01-28decoder/ffmpeg: require ffmpeg/libav 0.7.6Max Kellermann1-65/+3
This is the version present in Ubuntu Oneiric, the oldest distribution with gcc 4.6. Debian Squeeze is off target, because it has gcc 4.4, which is unable to compile MPD anyway. This commit drops all API compatibility hacks for older versions.
2013-01-26input_stream: forward-declare the structMax Kellermann1-0/+1
Hide the definition from C code, to prepare the transition to C++.
2013-01-26decoder/ffmpeg: convert to C++Max Kellermann1-18/+30
2013-01-16decoder/ffmpeg: support float planar audioBrice Jaglin1-0/+5
2012-10-05decoder/ffmpeg: support planar audioMax Kellermann1-0/+6
Implements Mantis feature request 3582.
2012-10-05decoder/ffmpeg: fix playback of planar PCM dataMax Kellermann1-8/+13
Interleaving was completely wrong. This code was never used, so it didn't have an effect.
2012-10-05decoder/ffmpeg: move code to copy_interleave_frame2()Max Kellermann1-5/+14
2012-10-05decoder/ffmpeg: ignore negative time stampsMax Kellermann1-1/+1
Works around assertion failure in decoder_timestamp().