aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/ffmpeg_decoder_plugin.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-05-29decoder/ffmpeg: improve "decoding failed" messageJonathan Neuschäfer1-1/+1
"Frame skipped" might cause the impression that the decoding of a whole song failed.
2012-05-29decoder/ffmpeg: add webm as a supported formatJonathan Neuschäfer1-1/+3
2012-02-13decoder/ffmpeg: read the "year" tagMax Kellermann1-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.
2012-02-11decoder_plugin: scan tags with callback tableMax Kellermann1-15/+16
Pass a callback table to scan_file() and scan_stream(), instead of returning a tag object.
2012-02-11decoder/ffmpeg: move code to ffmpeg_metadata.cMax Kellermann1-46/+1
2012-02-11decoder/ffmpeg: remove AV_VERSION_INT definitionMax Kellermann1-5/+0
All supported ffmpeg/libav versions have this.
2012-02-03decoder/ffmpeg: use AV_SAMPLE_FMT_* if availableMax Kellermann1-0/+8
Implements support for libavcodec 0.9, which removes the compatibility macros SAMPLE_FMT_*
2012-02-03decoder/ffmpeg: use sentinel for the ffmpeg_tag_maps tableMax Kellermann1-3/+6
Minor optimisation.
2012-02-03decoder/ffmpeg: support all MPD tagsMax Kellermann1-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.
2012-02-03decoder/ffmpeg: pass tag_type and name to _copy_metadata()Max Kellermann1-5/+6
Allow using this function without the ffmpeg_tag_map struct.
2012-02-03decoder/ffmpeg: merge code to _copy_dictionary()Max Kellermann1-6/+11
Eliminate some duplicate code.
2012-02-03decoder/ffmpeg: add macros emulating AVDictionaryMax Kellermann1-13/+7
Move the #ifdefs out of _copy_metadata().
2012-02-03decoder/ffmpeg: _copy_metadata() returns voidMax Kellermann1-3/+1
No interest in this return value.
2012-01-24decoder/ffmpeg: remove debug codeMax Kellermann1-5/+0
2012-01-12decoder/ffmpeg: check libavutil version for AVDictionaryEntryMax Kellermann1-1/+5
Require libavutil 51.5.0.
2012-01-12decoder/ffmpeg: raise version dependency for avformat_find_stream_info()Max Kellermann1-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-05decoder/ffmpeg: support libavformat 0.8Max Kellermann1-2/+46
2012-01-04decoder/ffmpeg: use avcodec_decode_audio4(), support libavcodec 0.8Max Kellermann1-1/+58
2012-01-04decoder/ffmpeg: include libavutil/mathematics.hMax Kellermann1-0/+1
Needed for av_rescale_q() in ffmpeg 0.8.
2012-01-04decoder/ffmpeg: use avcodec_open2() on newer ffmpeg versionsMax Kellermann1-1/+6
avcodec_open() has been deprecated.
2012-01-04decoder/ffpmeg: don't use av_metadata_conv() in ffmpeg 0.7Max Kellermann1-0/+2
It's a no-op and deprecated.
2012-01-04decoder/ffmpeg: use AVIOContext instead of ByteIOContextMax Kellermann1-0/+8
2011-12-24command: new command "seekcur"Max Kellermann1-0/+5
For simpler seeking within current song.
2011-11-28decoder/ffmpeg: work around bogus channel countMax Kellermann1-8/+12
Initialize the audio_format before calling avcodec_open(), because avcodec_open() will fill bogus values.
2011-09-16input_stream: non-blocking I/OMax Kellermann1-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-15decoder/ffmpeg: flush the codec after seekingMax Kellermann1-1/+3
Let the codec start with fresh buffers. This should fix the remaining seeking issues.
2011-09-15decoder/ffmpeg: explicitly specify the current stream for seekingMax Kellermann1-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-15decoder/ffmpeg: don't require key frame for seekingMax Kellermann1-1/+2
Use flag AV_TIME_BASE.
2011-09-15decoder/ffmpeg: higher precision timestampsMax Kellermann1-1/+2
2011-09-15decoder/ffmpeg: move formula to time_from_ffmpeg()Max Kellermann1-2/+10
2011-09-15decoder/ffmpeg: add local variable "av_stream"Max Kellermann1-3/+4
Code simplification.
2011-07-18decoder/ffmpeg: use avformat_open_input() if availableMax Kellermann1-4/+35
av_open_input_stream() has been deprecated.
2011-07-18decoder: use AVDictionary instead of AVMetadataMax Kellermann1-1/+14
AVMetadata has been deprecated.
2011-07-03ffmpeg: workaround for semantic API change in recent ffmpeg versionsoblique1-2/+2
2011-05-09decoder/ffpmeg: don't use av_metadata_conv() in ffmpeg 0.7Max Kellermann1-0/+2
It's a no-op and deprecated.
2011-05-09decoder/ffmpeg: use AVIOContext instead of ByteIOContextMax Kellermann1-0/+12
2011-05-09decoder/ffmpeg: use avcodec_decode_audio3() if availableMax Kellermann1-1/+22
avcodec_decode_audio3() has been added in libavformat 52.25.0, and the predecessor avcodec_decode_audio2() has been deprecated.
2011-05-09decoder/ffmpeg: make variables more localMax Kellermann1-27/+16
2011-05-09decoder/ffmpeg: don't use deprecated CODEC_TYPE_AUDIO with new lavcAnton Khirnov1-0/+4
fixes build with lavc 53.
2011-05-09decoder/ffmpeg: define fallback macro AV_VERSION_INT()Max Kellermann1-1/+5
For ffmpeg < 0.5. Copied from libavutil 0.5.
2011-04-12decoder/ffmpeg: use avcodec_decode_audio3() if availableMax Kellermann1-1/+22
avcodec_decode_audio3() has been added in libavformat 52.25.0, and the predecessor avcodec_decode_audio2() has been deprecated.
2011-04-12decoder/ffmpeg: make variables more localMax Kellermann1-27/+16
2011-04-12decoder/ffmpeg: drop support for pre-0.5 ffmpegAnton Khirnov1-46/+0
All modern distros ship 0.5, so there's no need to support old and buggy ffmpeg versions.
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-11-04decoder/ffmpeg: check AVCodecContext.sample_fmt valueMax Kellermann1-7/+9
.. instead of av_get_bits_per_sample_format(). The SampleFormat enum value is authoritative.
2010-07-19decoder/ffmpeg: fix libavformat 0.6 by using av_open_input_stream()Max Kellermann1-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-19decoder/ffmpeg: manual format probingMax Kellermann1-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-12ffmpeg: read the audio stream metadata in addition to globalAnton Khirnov1-1/+5
in some formats, e.g. vorbis, the metadata is stored per-stream.
2010-07-12ffmpeg: factor tag_type <-> ffmpeg tag name maps into a table.Anton Khirnov1-21/+32
2010-05-18input/ffmpeg: new input plugin using libavformat's "avio" libraryMax Kellermann1-0/+6