aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/FfmpegDecoderPlugin.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
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().
2012-10-05decoder/ffmpeg: show unsupported sample format nameMax Kellermann1-2/+13
Use av_get_sample_fmt_string() to obtain a human-readable string.
2012-10-05decoder/ffmpeg: pass AVSampleFormat to ffmpeg_sample_format()Max Kellermann1-4/+9
API simplification.
2012-10-05decoder/ffmpeg: remove duplicate sample format error messageMax Kellermann1-1/+6
2012-05-29decoder/ffmpeg: improve "decoding failed" messageJonathan Neuschäfer1-1/+1
"Frame skipped" might cause the impression that the decoding of a whole song failed.
2012-05-29decoder/ffmpeg: add webm as a supported formatJonathan Neuschäfer1-1/+3
2012-02-13decoder/ffmpeg: read the "year" tagMax Kellermann1-1/+1
This was disabled when compiled with a new ffmpeg version. Older ffmpeg versions used it explicitly, while newer ones may pass it through from the codec.
2012-02-11decoder_plugin: scan tags with callback tableMax Kellermann1-15/+16
Pass a callback table to scan_file() and scan_stream(), instead of returning a tag object.
2012-02-11decoder/ffmpeg: move code to ffmpeg_metadata.cMax Kellermann1-46/+1
2012-02-11decoder/ffmpeg: remove AV_VERSION_INT definitionMax Kellermann1-5/+0
All supported ffmpeg/libav versions have this.
2012-02-03decoder/ffmpeg: use AV_SAMPLE_FMT_* if availableMax Kellermann1-0/+8
Implements support for libavcodec 0.9, which removes the compatibility macros SAMPLE_FMT_*
2012-02-03decoder/ffmpeg: use sentinel for the ffmpeg_tag_maps tableMax Kellermann1-3/+6
Minor optimisation.
2012-02-03decoder/ffmpeg: support all MPD tagsMax Kellermann1-12/+5
Use the tag_item_names table to look up the names of all MPD tags, and remove the duplicate entries from ffmpeg_tag_maps.
2012-02-03decoder/ffmpeg: pass tag_type and name to _copy_metadata()Max Kellermann1-5/+6
Allow using this function without the ffmpeg_tag_map struct.
2012-02-03decoder/ffmpeg: merge code to _copy_dictionary()Max Kellermann1-6/+11
Eliminate some duplicate code.
2012-02-03decoder/ffmpeg: add macros emulating AVDictionaryMax Kellermann1-13/+7
Move the #ifdefs out of _copy_metadata().
2012-02-03decoder/ffmpeg: _copy_metadata() returns voidMax Kellermann1-3/+1
No interest in this return value.
2012-01-24decoder/ffmpeg: remove debug codeMax Kellermann1-5/+0
2012-01-12decoder/ffmpeg: check libavutil version for AVDictionaryEntryMax Kellermann1-1/+5
Require libavutil 51.5.0.
2012-01-12decoder/ffmpeg: raise version dependency for avformat_find_stream_info()Max Kellermann1-2/+2
This function was added when the libavformat version was 53.2.0, but the actual release 53.2.0 did not have it.
2012-01-05decoder/ffmpeg: support libavformat 0.8Max Kellermann1-2/+46
2012-01-04decoder/ffmpeg: use avcodec_decode_audio4(), support libavcodec 0.8Max Kellermann1-1/+58
2012-01-04decoder/ffmpeg: include libavutil/mathematics.hMax Kellermann1-0/+1
Needed for av_rescale_q() in ffmpeg 0.8.
2012-01-04decoder/ffmpeg: use avcodec_open2() on newer ffmpeg versionsMax Kellermann1-1/+6
avcodec_open() has been deprecated.
2012-01-04decoder/ffpmeg: don't use av_metadata_conv() in ffmpeg 0.7Max Kellermann1-0/+2
It's a no-op and deprecated.
2012-01-04decoder/ffmpeg: use AVIOContext instead of ByteIOContextMax Kellermann1-0/+8
2011-12-24command: new command "seekcur"Max Kellermann1-0/+5
For simpler seeking within current song.
2011-11-28decoder/ffmpeg: work around bogus channel countMax Kellermann1-8/+12
Initialize the audio_format before calling avcodec_open(), because avcodec_open() will fill bogus values.
2011-09-16input_stream: non-blocking I/OMax Kellermann1-2/+3
Add GMutex, GCond attributes which will be used by callers to conditionally wait on the stream. Remove the (now-useless) plugin method buffer(), wait on GCond instead. Lock the input_stream before each method call. Do the same with the playlist plugins.
2011-09-15decoder/ffmpeg: flush the codec after seekingMax Kellermann1-1/+3
Let the codec start with fresh buffers. This should fix the remaining seeking issues.
2011-09-15decoder/ffmpeg: explicitly specify the current stream for seekingMax Kellermann1-2/+11
Use AVStream.time_base to convert the decoder_seek_where() value, and pass the current stream number to av_seek_frame().
2011-09-15decoder/ffmpeg: don't require key frame for seekingMax Kellermann1-1/+2
Use flag AV_TIME_BASE.
2011-09-15decoder/ffmpeg: higher precision timestampsMax Kellermann1-1/+2