Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge branch 'v0.16.x' | Max Kellermann | 2012-02-04 | 1 | -34/+36 |
|\ | | | | | | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c test/read_tags.c test/run_decoder.c | ||||
| * | 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: remove debug code | Max Kellermann | 2012-01-24 | 1 | -5/+0 |
| | | |||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2012-01-12 | 1 | -3/+7 |
|\| | | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c | ||||
| * | 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. | ||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2012-01-05 | 1 | -4/+111 |
|\| | | | | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c src/input/ffmpeg_input_plugin.c | ||||
| * | 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 |
| | | |||||
* | | command: new command "seekcur" | Max Kellermann | 2011-12-24 | 1 | -0/+5 |
| | | | | | | | | For simpler seeking within current song. | ||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2011-11-28 | 1 | -8/+12 |
|\| | | | | | | | | | | | | | | | | | | | Conflicts: Makefile.am NEWS configure.ac src/encoder/flac_encoder.c src/log.c src/pcm_buffer.c | ||||
| * | 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. | ||||
* | | input_stream: non-blocking I/O | Max Kellermann | 2011-09-16 | 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. | ||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2011-09-15 | 1 | -8/+30 |
|\| | | | | | | | | | | | Conflicts: NEWS configure.ac | ||||
| * | 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. | ||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2011-07-19 | 1 | -7/+47 |
|\| | | | | | | | | | | | Conflicts: NEWS configure.ac | ||||
| * | 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 |
| | | |||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2011-06-03 | 1 | -0/+9 |
|\| | | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c | ||||
| * | 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. | ||||
* | | decoder/ffpmeg: don't use av_metadata_conv() in ffmpeg 0.7 | Max Kellermann | 2011-05-09 | 1 | -0/+2 |
| | | | | | | | | It's a no-op and deprecated. | ||||
* | | decoder/ffmpeg: use AVIOContext instead of ByteIOContext | Max Kellermann | 2011-05-09 | 1 | -0/+12 |
| | | |||||
* | | decoder/ffmpeg: use avcodec_decode_audio3() if available | Max Kellermann | 2011-04-12 | 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-04-12 | 1 | -27/+16 |
| | | |||||
* | | decoder/ffmpeg: drop support for pre-0.5 ffmpeg | Anton Khirnov | 2011-04-12 | 1 | -46/+0 |
| | | | | | | | | | | All modern distros ship 0.5, so there's no need to support old and buggy ffmpeg versions. | ||||
* | | copyright year 2011 | Max Kellermann | 2011-01-29 | 1 | -1/+1 |
|/ | |||||
* | 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. |