Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2012-01-24 | decoder/ffmpeg: remove debug code | Max Kellermann | 1 | -5/+0 | |
2012-01-12 | decoder/ffmpeg: check libavutil version for AVDictionaryEntry | Max Kellermann | 1 | -1/+5 | |
Require libavutil 51.5.0. | |||||
2012-01-12 | decoder/ffmpeg: raise version dependency for avformat_find_stream_info() | Max Kellermann | 1 | -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-05 | decoder/ffmpeg: support libavformat 0.8 | Max Kellermann | 1 | -2/+46 | |
2012-01-04 | decoder/ffmpeg: use avcodec_decode_audio4(), support libavcodec 0.8 | Max Kellermann | 1 | -1/+58 | |
2012-01-04 | decoder/ffmpeg: include libavutil/mathematics.h | Max Kellermann | 1 | -0/+1 | |
Needed for av_rescale_q() in ffmpeg 0.8. | |||||
2012-01-04 | decoder/ffmpeg: use avcodec_open2() on newer ffmpeg versions | Max Kellermann | 1 | -1/+6 | |
avcodec_open() has been deprecated. | |||||
2012-01-04 | decoder/ffpmeg: don't use av_metadata_conv() in ffmpeg 0.7 | Max Kellermann | 1 | -0/+2 | |
It's a no-op and deprecated. | |||||
2012-01-04 | decoder/ffmpeg: use AVIOContext instead of ByteIOContext | Max Kellermann | 1 | -0/+8 | |
2011-12-24 | command: new command "seekcur" | Max Kellermann | 1 | -0/+5 | |
For simpler seeking within current song. | |||||
2011-11-28 | decoder/ffmpeg: work around bogus channel count | Max Kellermann | 1 | -8/+12 | |
Initialize the audio_format before calling avcodec_open(), because avcodec_open() will fill bogus values. | |||||
2011-09-16 | input_stream: non-blocking I/O | Max Kellermann | 1 | -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-15 | decoder/ffmpeg: flush the codec after seeking | Max Kellermann | 1 | -1/+3 | |
Let the codec start with fresh buffers. This should fix the remaining seeking issues. | |||||
2011-09-15 | decoder/ffmpeg: explicitly specify the current stream for seeking | Max Kellermann | 1 | -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-15 | decoder/ffmpeg: don't require key frame for seeking | Max Kellermann | 1 | -1/+2 | |
Use flag AV_TIME_BASE. | |||||
2011-09-15 | decoder/ffmpeg: higher precision timestamps | Max Kellermann | 1 | -1/+2 | |
2011-09-15 | decoder/ffmpeg: move formula to time_from_ffmpeg() | Max Kellermann | 1 | -2/+10 | |
2011-09-15 | decoder/ffmpeg: add local variable "av_stream" | Max Kellermann | 1 | -3/+4 | |
Code simplification. | |||||
2011-07-18 | decoder/ffmpeg: use avformat_open_input() if available | Max Kellermann | 1 | -4/+35 | |
av_open_input_stream() has been deprecated. | |||||
2011-07-18 | decoder: use AVDictionary instead of AVMetadata | Max Kellermann | 1 | -1/+14 | |
AVMetadata has been deprecated. | |||||
2011-07-03 | ffmpeg: workaround for semantic API change in recent ffmpeg versions | oblique | 1 | -2/+2 | |
2011-05-09 | decoder/ffpmeg: don't use av_metadata_conv() in ffmpeg 0.7 | Max Kellermann | 1 | -0/+2 | |
It's a no-op and deprecated. | |||||
2011-05-09 | decoder/ffmpeg: use AVIOContext instead of ByteIOContext | Max Kellermann | 1 | -0/+12 | |
2011-05-09 | decoder/ffmpeg: use avcodec_decode_audio3() if available | Max Kellermann | 1 | -1/+22 | |
avcodec_decode_audio3() has been added in libavformat 52.25.0, and the predecessor avcodec_decode_audio2() has been deprecated. | |||||
2011-05-09 | decoder/ffmpeg: make variables more local | Max Kellermann | 1 | -27/+16 | |
2011-05-09 | decoder/ffmpeg: don't use deprecated CODEC_TYPE_AUDIO with new lavc | Anton Khirnov | 1 | -0/+4 | |
fixes build with lavc 53. | |||||
2011-05-09 | decoder/ffmpeg: define fallback macro AV_VERSION_INT() | Max Kellermann | 1 | -1/+5 | |
For ffmpeg < 0.5. Copied from libavutil 0.5. | |||||
2011-04-12 | decoder/ffmpeg: use avcodec_decode_audio3() if available | Max Kellermann | 1 | -1/+22 | |
avcodec_decode_audio3() has been added in libavformat 52.25.0, and the predecessor avcodec_decode_audio2() has been deprecated. | |||||
2011-04-12 | decoder/ffmpeg: make variables more local | Max Kellermann | 1 | -27/+16 | |
2011-04-12 | decoder/ffmpeg: drop support for pre-0.5 ffmpeg | Anton Khirnov | 1 | -46/+0 | |
All modern distros ship 0.5, so there's no need to support old and buggy ffmpeg versions. | |||||
2011-01-29 | copyright year 2011 | Max Kellermann | 1 | -1/+1 | |
2010-11-04 | decoder/ffmpeg: check AVCodecContext.sample_fmt value | Max Kellermann | 1 | -7/+9 | |
.. instead of av_get_bits_per_sample_format(). The SampleFormat enum value is authoritative. | |||||
2010-07-19 | decoder/ffmpeg: fix libavformat 0.6 by using av_open_input_stream() | Max Kellermann | 1 | -89/+65 | |
libavformat 0.6 does not pass the original URI pointer to the "open" method, which leads to a crash because MPD was using a dirty hack to pass a pointer to that method. This patch switches to av_open_input_stream() with a custom ByteIOContext class, instead of doing the URI string hack with av_open_input_file(). Loosely based on a patch from Jasper St. Pierre. | |||||
2010-07-19 | decoder/ffmpeg: manual format probing | Max Kellermann | 1 | -2/+47 | |
Use the libavformat function av_probe_input_format() to probe the AVInputFormat, instead of letting av_open_input_file() do it implicitly. We will switch to av_open_input_stream() very soon, which does not have the probing code. Loosely based on a patch from Jasper St. Pierre. | |||||
2010-07-12 | ffmpeg: read the audio stream metadata in addition to global | Anton Khirnov | 1 | -1/+5 | |
in some formats, e.g. vorbis, the metadata is stored per-stream. | |||||
2010-07-12 | ffmpeg: factor tag_type <-> ffmpeg tag name maps into a table. | Anton Khirnov | 1 | -21/+32 | |
2010-05-18 | input/ffmpeg: new input plugin using libavformat's "avio" library | Max Kellermann | 1 | -0/+6 | |
2010-04-11 | decoder/ffmpeg: fix crash on startup in mpd_ffmpeg_log_callback() | Charles Kerr | 1 | -4/+9 | |
What's happening is the `ptr' argument to that function is NULL for me every time. `ptr' is unconditionally dereferenced to generate a log message, and this is where mpd crashes. Attached is a simple patch that tests for NULL and omits the log. With this patch the crash disappeared and mpd went back to working well. | |||||
2010-03-28 | decoder/ffmpeg: print item name in log callback | Max Kellermann | 1 | -1/+5 | |
2010-03-07 | decoder/ffmpeg: fix indentation | Max Kellermann | 1 | -6/+6 | |
2010-02-27 | decoder/ffmpeg: implement the libavutil log callback | Max Kellermann | 1 | -0/+31 | |
Pass everything to the GLib logging library. No direct stderr access. | |||||
2010-02-27 | decoder/ffmpeg: don't close the AVFormatContext after open failure | Max Kellermann | 1 | -1/+0 | |
The pointer is invalid if av_open_input_file() fails. | |||||
2010-02-02 | ffmpeg: read more metadata. | Anton Khirnov | 1 | -1/+12 | |
2010-01-18 | decoder/ffmpeg: call decoder_timestamp() once per packet | Max Kellermann | 1 | -5/+5 | |
2010-01-18 | decoder/ffmpeg: merged ffmpeg_helper() into ffmpeg_decode() | Max Kellermann | 1 | -116/+67 | |
2010-01-18 | decoder/ffmpeg: optimized the stream_tag() method | Max Kellermann | 1 | -25/+27 | |
Don't use the function ffmpeg_helper(), don't initialize the codec. | |||||
2010-01-18 | decoder/ffmpeg: free AVFormatContext on error | Max Kellermann | 1 | -0/+4 | |
Fix a memory leak in some code paths. | |||||
2010-01-18 | decoder_api: removed function decoder_get_uri() | Max Kellermann | 1 | -6/+5 | |
Use input_stream.uri. | |||||
2010-01-04 | renamed decoder plugin sources | Max Kellermann | 1 | -0/+0 | |
Make it X_decoder_plugin.c. | |||||
2010-01-04 | decoder_api: added function decoder_replay_gain() | Max Kellermann | 1 | -1/+1 | |
This function replaces the replay_gain_info parameter for decoder_data(). This allows the decoder to announce replay gain changes, instead of having to pass the same object over and over. |