aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/ffmpeg_decoder_plugin.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* decoder/ffmpeg: improve "decoding failed" messageJonathan Neuschäfer2012-05-291-1/+1
| | | | | "Frame skipped" might cause the impression that the decoding of a whole song failed.
* decoder/ffmpeg: add webm as a supported formatJonathan Neuschäfer2012-05-291-1/+3
|
* decoder/ffmpeg: read the "year" tagMax Kellermann2012-02-131-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 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: 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.
* 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
|
* 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.
* 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.
* 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
|
* 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.
* 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.
* ffmpeg: factor tag_type <-> ffmpeg tag name maps into a table.Anton Khirnov2010-07-121-21/+32
|
* input/ffmpeg: new input plugin using libavformat's "avio" libraryMax Kellermann2010-05-181-0/+6
|
* decoder/ffmpeg: fix crash on startup in mpd_ffmpeg_log_callback()Charles Kerr2010-04-111-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 callbackMax Kellermann2010-03-281-1/+5
|
* decoder/ffmpeg: fix indentationMax Kellermann2010-03-071-6/+6
|
* decoder/ffmpeg: implement the libavutil log callbackMax Kellermann2010-02-271-0/+31
| | | | Pass everything to the GLib logging library. No direct stderr access.
* decoder/ffmpeg: don't close the AVFormatContext after open failureMax Kellermann2010-02-271-1/+0
| | | | The pointer is invalid if av_open_input_file() fails.
* ffmpeg: read more metadata.Anton Khirnov2010-02-021-1/+12
|
* decoder/ffmpeg: call decoder_timestamp() once per packetMax Kellermann2010-01-181-5/+5
|
* decoder/ffmpeg: merged ffmpeg_helper() into ffmpeg_decode()Max Kellermann2010-01-181-116/+67
|
* decoder/ffmpeg: optimized the stream_tag() methodMax Kellermann2010-01-181-25/+27
| | | | Don't use the function ffmpeg_helper(), don't initialize the codec.
* decoder/ffmpeg: free AVFormatContext on errorMax Kellermann2010-01-181-0/+4
| | | | Fix a memory leak in some code paths.
* decoder_api: removed function decoder_get_uri()Max Kellermann2010-01-181-6/+5
| | | | Use input_stream.uri.