aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/ffmpeg_decoder_plugin.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ffmpeg decoder plugin: do not allocate an AVFrame on stack.Anton Khirnov2013-04-051-3/+16
| | | | AVFrame must be allocated with avcodec_alloc_frame().
* decoder/ffmpeg: support float planar audioBrice Jaglin2013-01-161-0/+5
|
* decoder/ffmpeg: support planar audioMax Kellermann2012-10-051-0/+6
| | | | Implements Mantis feature request 3582.
* decoder/ffmpeg: fix playback of planar PCM dataMax Kellermann2012-10-051-8/+13
| | | | | Interleaving was completely wrong. This code was never used, so it didn't have an effect.
* decoder/ffmpeg: move code to copy_interleave_frame2()Max Kellermann2012-10-051-5/+14
|
* decoder/ffmpeg: ignore negative time stampsMax Kellermann2012-10-051-1/+1
| | | | Works around assertion failure in decoder_timestamp().
* decoder/ffmpeg: show unsupported sample format nameMax Kellermann2012-10-051-2/+13
| | | | Use av_get_sample_fmt_string() to obtain a human-readable string.
* decoder/ffmpeg: pass AVSampleFormat to ffmpeg_sample_format()Max Kellermann2012-10-051-4/+9
| | | | API simplification.
* decoder/ffmpeg: remove duplicate sample format error messageMax Kellermann2012-10-051-1/+6
|
* Merge branch 'v0.16.x'Max Kellermann2012-05-291-2/+4
|\ | | | | | | | | Conflicts: NEWS
| * 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_plugin: scan tags with callback tableMax Kellermann2012-02-111-15/+16
| | | | | | | | | | Pass a callback table to scan_file() and scan_stream(), instead of returning a tag object.
* | decoder/ffmpeg: move code to ffmpeg_metadata.cMax Kellermann2012-02-111-46/+1
| |
* | decoder/ffmpeg: remove AV_VERSION_INT definitionMax Kellermann2012-02-111-5/+0
| | | | | | | | All supported ffmpeg/libav versions have this.
* | 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
| |