Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | decoder/ffmpeg: improve "decoding failed" message | Jonathan Neuschäfer | 2012-05-29 | 1 | -1/+1 |
| | | | | | "Frame skipped" might cause the impression that the decoding of a whole song failed. | ||||
* | decoder/ffmpeg: add webm as a supported format | Jonathan Neuschäfer | 2012-05-29 | 1 | -1/+3 |
| | |||||
* | decoder/ffmpeg: read the "year" tag | Max Kellermann | 2012-02-13 | 1 | -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. | ||||
* | decoder/ffmpeg: use AV_SAMPLE_FMT_* if available | Max Kellermann | 2012-02-03 | 1 | -0/+8 |
| | | | | | Implements support for libavcodec 0.9, which removes the compatibility macros SAMPLE_FMT_* | ||||
* | decoder/ffmpeg: use sentinel for the ffmpeg_tag_maps table | Max Kellermann | 2012-02-03 | 1 | -3/+6 |
| | | | | Minor optimisation. | ||||
* | decoder/ffmpeg: support all MPD tags | Max Kellermann | 2012-02-03 | 1 | -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. | ||||
* | decoder/ffmpeg: pass tag_type and name to _copy_metadata() | Max Kellermann | 2012-02-03 | 1 | -5/+6 |
| | | | | Allow using this function without the ffmpeg_tag_map struct. | ||||
* | decoder/ffmpeg: merge code to _copy_dictionary() | Max Kellermann | 2012-02-03 | 1 | -6/+11 |
| | | | | Eliminate some duplicate code. | ||||
* | decoder/ffmpeg: add macros emulating AVDictionary | Max Kellermann | 2012-02-03 | 1 | -13/+7 |
| | | | | Move the #ifdefs out of _copy_metadata(). | ||||
* | decoder/ffmpeg: _copy_metadata() returns void | Max Kellermann | 2012-02-03 | 1 | -3/+1 |
| | | | | No interest in this return value. | ||||
* | decoder/ffmpeg: check libavutil version for AVDictionaryEntry | Max Kellermann | 2012-01-12 | 1 | -1/+5 |
| | | | | Require libavutil 51.5.0. | ||||
* | decoder/ffmpeg: raise version dependency for avformat_find_stream_info() | Max Kellermann | 2012-01-12 | 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. | ||||
* | decoder/ffmpeg: support libavformat 0.8 | Max Kellermann | 2012-01-05 | 1 | -2/+46 |
| | |||||
* | decoder/ffmpeg: use avcodec_decode_audio4(), support libavcodec 0.8 | Max Kellermann | 2012-01-04 | 1 | -1/+58 |
| | |||||
* | decoder/ffmpeg: include libavutil/mathematics.h | Max Kellermann | 2012-01-04 | 1 | -0/+1 |
| | | | | Needed for av_rescale_q() in ffmpeg 0.8. | ||||
* | decoder/ffmpeg: use avcodec_open2() on newer ffmpeg versions | Max Kellermann | 2012-01-04 | 1 | -1/+6 |
| | | | | avcodec_open() has been deprecated. | ||||
* | decoder/ffpmeg: don't use av_metadata_conv() in ffmpeg 0.7 | Max Kellermann | 2012-01-04 | 1 | -0/+2 |
| | | | | It's a no-op and deprecated. | ||||
* | decoder/ffmpeg: use AVIOContext instead of ByteIOContext | Max Kellermann | 2012-01-04 | 1 | -0/+8 |
| | |||||
* | decoder/ffmpeg: work around bogus channel count | Max Kellermann | 2011-11-28 | 1 | -8/+12 |
| | | | | | Initialize the audio_format before calling avcodec_open(), because avcodec_open() will fill bogus values. | ||||
* | decoder/ffmpeg: flush the codec after seeking | Max Kellermann | 2011-09-15 | 1 | -1/+3 |
| | | | | | Let the codec start with fresh buffers. This should fix the remaining seeking issues. | ||||
* | decoder/ffmpeg: explicitly specify the current stream for seeking | Max Kellermann | 2011-09-15 | 1 | -2/+11 |
| | | | | | Use AVStream.time_base to convert the decoder_seek_where() value, and pass the current stream number to av_seek_frame(). | ||||
* | decoder/ffmpeg: don't require key frame for seeking | Max Kellermann | 2011-09-15 | 1 | -1/+2 |
| | | | | Use flag AV_TIME_BASE. | ||||
* | decoder/ffmpeg: higher precision timestamps | Max Kellermann | 2011-09-15 | 1 | -1/+2 |
| | |||||
* | decoder/ffmpeg: move formula to time_from_ffmpeg() | Max Kellermann | 2011-09-15 | 1 | -2/+10 |
| | |||||
* | decoder/ffmpeg: add local variable "av_stream" | Max Kellermann | 2011-09-15 | 1 | -3/+4 |
| | | | | Code simplification. | ||||
* | decoder/ffmpeg: use avformat_open_input() if available | Max Kellermann | 2011-07-18 | 1 | -4/+35 |
| | | | | av_open_input_stream() has been deprecated. | ||||
* | decoder: use AVDictionary instead of AVMetadata | Max Kellermann | 2011-07-18 | 1 | -1/+14 |
| | | | | AVMetadata has been deprecated. | ||||
* | ffmpeg: workaround for semantic API change in recent ffmpeg versions | oblique | 2011-07-03 | 1 | -2/+2 |
| | |||||
* | decoder/ffmpeg: use avcodec_decode_audio3() if available | Max Kellermann | 2011-05-09 | 1 | -1/+22 |
| | | | | | avcodec_decode_audio3() has been added in libavformat 52.25.0, and the predecessor avcodec_decode_audio2() has been deprecated. | ||||
* | decoder/ffmpeg: make variables more local | Max Kellermann | 2011-05-09 | 1 | -27/+16 |
| | |||||
* | decoder/ffmpeg: don't use deprecated CODEC_TYPE_AUDIO with new lavc | Anton Khirnov | 2011-05-09 | 1 | -0/+4 |
| | | | | fixes build with lavc 53. | ||||
* | decoder/ffmpeg: define fallback macro AV_VERSION_INT() | Max Kellermann | 2011-05-09 | 1 | -1/+5 |
| | | | | For ffmpeg < 0.5. Copied from libavutil 0.5. | ||||
* | Merge release 0.15.14 from branch 'v0.15.x' | Max Kellermann | 2010-11-07 | 1 | -1/+3 |
| | | | | | | | | | | | | Conflicts: NEWS configure.ac src/decoder_control.c src/decoder_control.h src/input/rewind_input_plugin.c src/output_control.c src/output_thread.c src/player_thread.c | ||||
* | decoder/ffmpeg: check AVCodecContext.sample_fmt value | Max Kellermann | 2010-11-04 | 1 | -7/+9 |
| | | | | | .. instead of av_get_bits_per_sample_format(). The SampleFormat enum value is authoritative. | ||||
* | decoder/ffmpeg: fix libavformat 0.6 by using av_open_input_stream() | Max Kellermann | 2010-07-19 | 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. | ||||
* | decoder/ffmpeg: manual format probing | Max Kellermann | 2010-07-19 | 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. | ||||
* | ffmpeg: read the audio stream metadata in addition to global | Anton Khirnov | 2010-07-12 | 1 | -1/+5 |
| | | | | in some formats, e.g. vorbis, the metadata is stored per-stream. | ||||
* | ffmpeg: factor tag_type <-> ffmpeg tag name maps into a table. | Anton Khirnov | 2010-07-12 | 1 | -21/+32 |
| | |||||
* | input/ffmpeg: new input plugin using libavformat's "avio" library | Max Kellermann | 2010-05-18 | 1 | -0/+6 |
| | |||||
* | decoder/ffmpeg: fix crash on startup in mpd_ffmpeg_log_callback() | Charles Kerr | 2010-04-11 | 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. | ||||
* | decoder/ffmpeg: print item name in log callback | Max Kellermann | 2010-03-28 | 1 | -1/+5 |
| | |||||
* | decoder/ffmpeg: fix indentation | Max Kellermann | 2010-03-07 | 1 | -6/+6 |
| | |||||
* | decoder/ffmpeg: implement the libavutil log callback | Max Kellermann | 2010-02-27 | 1 | -0/+31 |
| | | | | Pass everything to the GLib logging library. No direct stderr access. | ||||
* | decoder/ffmpeg: don't close the AVFormatContext after open failure | Max Kellermann | 2010-02-27 | 1 | -1/+0 |
| | | | | The pointer is invalid if av_open_input_file() fails. | ||||
* | ffmpeg: read more metadata. | Anton Khirnov | 2010-02-02 | 1 | -1/+12 |
| | |||||
* | decoder/ffmpeg: call decoder_timestamp() once per packet | Max Kellermann | 2010-01-18 | 1 | -5/+5 |
| | |||||
* | decoder/ffmpeg: merged ffmpeg_helper() into ffmpeg_decode() | Max Kellermann | 2010-01-18 | 1 | -116/+67 |
| | |||||
* | decoder/ffmpeg: optimized the stream_tag() method | Max Kellermann | 2010-01-18 | 1 | -25/+27 |
| | | | | Don't use the function ffmpeg_helper(), don't initialize the codec. | ||||
* | decoder/ffmpeg: free AVFormatContext on error | Max Kellermann | 2010-01-18 | 1 | -0/+4 |
| | | | | Fix a memory leak in some code paths. | ||||
* | decoder_api: removed function decoder_get_uri() | Max Kellermann | 2010-01-18 | 1 | -6/+5 |
| | | | | Use input_stream.uri. |