aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/ffmpeg_decoder_plugin.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'v0.16.x'Max Kellermann2012-02-041-34/+36
|\ | | | | | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c test/read_tags.c test/run_decoder.c
| * decoder/ffmpeg: use AV_SAMPLE_FMT_* if availableMax Kellermann2012-02-031-0/+8
| | | | | | | | | | Implements support for libavcodec 0.9, which removes the compatibility macros SAMPLE_FMT_*
| * decoder/ffmpeg: use sentinel for the ffmpeg_tag_maps tableMax Kellermann2012-02-031-3/+6
| | | | | | | | Minor optimisation.
| * decoder/ffmpeg: support all MPD tagsMax Kellermann2012-02-031-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 Kellermann2012-02-031-5/+6
| | | | | | | | Allow using this function without the ffmpeg_tag_map struct.
| * decoder/ffmpeg: merge code to _copy_dictionary()Max Kellermann2012-02-031-6/+11
| | | | | | | | Eliminate some duplicate code.
| * decoder/ffmpeg: add macros emulating AVDictionaryMax Kellermann2012-02-031-13/+7
| | | | | | | | Move the #ifdefs out of _copy_metadata().
| * decoder/ffmpeg: _copy_metadata() returns voidMax Kellermann2012-02-031-3/+1
| | | | | | | | No interest in this return value.
* | decoder/ffmpeg: remove debug codeMax Kellermann2012-01-241-5/+0
| |
* | Merge branch 'v0.16.x'Max Kellermann2012-01-121-3/+7
|\| | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c
| * decoder/ffmpeg: check libavutil version for AVDictionaryEntryMax Kellermann2012-01-121-1/+5
| | | | | | | | Require libavutil 51.5.0.
| * decoder/ffmpeg: raise version dependency for avformat_find_stream_info()Max Kellermann2012-01-121-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 Kellermann2012-01-051-4/+111
|\| | | | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c src/input/ffmpeg_input_plugin.c
| * decoder/ffmpeg: support libavformat 0.8Max Kellermann2012-01-051-2/+46
| |
| * decoder/ffmpeg: use avcodec_decode_audio4(), support libavcodec 0.8Max Kellermann2012-01-041-1/+58
| |
| * decoder/ffmpeg: include libavutil/mathematics.hMax Kellermann2012-01-041-0/+1
| | | | | | | | Needed for av_rescale_q() in ffmpeg 0.8.
| * decoder/ffmpeg: use avcodec_open2() on newer ffmpeg versionsMax Kellermann2012-01-041-1/+6
| | | | | | | | avcodec_open() has been deprecated.
| * decoder/ffpmeg: don't use av_metadata_conv() in ffmpeg 0.7Max Kellermann2012-01-041-0/+2
| | | | | | | | It's a no-op and deprecated.
| * decoder/ffmpeg: use AVIOContext instead of ByteIOContextMax Kellermann2012-01-041-0/+8
| |
* | command: new command "seekcur"Max Kellermann2011-12-241-0/+5
| | | | | | | | For simpler seeking within current song.
* | Merge branch 'v0.16.x'Max Kellermann2011-11-281-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 countMax Kellermann2011-11-281-8/+12
| | | | | | | | | | Initialize the audio_format before calling avcodec_open(), because avcodec_open() will fill bogus values.
* | input_stream: non-blocking I/OMax Kellermann2011-09-161-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 Kellermann2011-09-151-8/+30
|\| | | | | | | | | | | Conflicts: NEWS configure.ac
| * decoder/ffmpeg: flush the codec after seekingMax Kellermann2011-09-151-1/+3
| | | | | | | | | | Let the codec start with fresh buffers. This should fix the remaining seeking issues.
| * decoder/ffmpeg: explicitly specify the current stream for seekingMax Kellermann2011-09-151-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 seekingMax Kellermann2011-09-151-1/+2
| | | | | | | | Use flag AV_TIME_BASE.
| * decoder/ffmpeg: higher precision timestampsMax Kellermann2011-09-151-1/+2
| |
| * decoder/ffmpeg: move formula to time_from_ffmpeg()Max Kellermann2011-09-151-2/+10
| |
| * decoder/ffmpeg: add local variable "av_stream"Max Kellermann2011-09-151-3/+4
| | | | | | | | Code simplification.
* | Merge branch 'v0.16.x'Max Kellermann2011-07-191-7/+47
|\| | | | | | | | | | | Conflicts: NEWS configure.ac
| * decoder/ffmpeg: use avformat_open_input() if availableMax Kellermann2011-07-181-4/+35
| | | | | | | | av_open_input_stream() has been deprecated.
| * decoder: use AVDictionary instead of AVMetadataMax Kellermann2011-07-181-1/+14
| | | | | | | | AVMetadata has been deprecated.
| * ffmpeg: workaround for semantic API change in recent ffmpeg versionsoblique2011-07-031-2/+2
| |
* | Merge branch 'v0.16.x'Max Kellermann2011-06-031-0/+9
|\| | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c
| * decoder/ffmpeg: use avcodec_decode_audio3() if availableMax Kellermann2011-05-091-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 localMax Kellermann2011-05-091-27/+16
| |
| * decoder/ffmpeg: don't use deprecated CODEC_TYPE_AUDIO with new lavcAnton Khirnov2011-05-091-0/+4
| | | | | | | | fixes build with lavc 53.
| * decoder/ffmpeg: define fallback macro AV_VERSION_INT()Max Kellermann2011-05-091-1/+5
| | | | | | | | For ffmpeg < 0.5. Copied from libavutil 0.5.
* | decoder/ffpmeg: don't use av_metadata_conv() in ffmpeg 0.7Max Kellermann2011-05-091-0/+2
| | | | | | | | It's a no-op and deprecated.
* | decoder/ffmpeg: use AVIOContext instead of ByteIOContextMax Kellermann2011-05-091-0/+12
| |
* | decoder/ffmpeg: use avcodec_decode_audio3() if availableMax Kellermann2011-04-121-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 localMax Kellermann2011-04-121-27/+16
| |
* | decoder/ffmpeg: drop support for pre-0.5 ffmpegAnton Khirnov2011-04-121-46/+0
| | | | | | | | | | All modern distros ship 0.5, so there's no need to support old and buggy ffmpeg versions.
* | copyright year 2011Max Kellermann2011-01-291-1/+1
|/
* Merge release 0.15.14 from branch 'v0.15.x'Max Kellermann2010-11-071-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 valueMax Kellermann2010-11-041-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 Kellermann2010-07-191-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 probingMax Kellermann2010-07-191-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 globalAnton Khirnov2010-07-121-1/+5
| | | | in some formats, e.g. vorbis, the metadata is stored per-stream.