aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/ffmpeg_decoder_plugin.c (unfollow)
Commit message (Collapse)AuthorFilesLines
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-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-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-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/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.
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
2010-04-11decoder/ffmpeg: fix crash on startup in mpd_ffmpeg_log_callback()Charles Kerr1-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.
2010-03-28decoder/ffmpeg: print item name in log callbackMax Kellermann1-1/+5
2010-03-07decoder/ffmpeg: fix indentationMax Kellermann1-6/+6
2010-02-27decoder/ffmpeg: implement the libavutil log callbackMax Kellermann1-0/+31
Pass everything to the GLib logging library. No direct stderr access.
2010-02-27decoder/ffmpeg: don't close the AVFormatContext after open failureMax Kellermann1-1/+0
The pointer is invalid if av_open_input_file() fails.
2010-02-02ffmpeg: read more metadata.Anton Khirnov1-1/+12
2010-01-18decoder/ffmpeg: call decoder_timestamp() once per packetMax Kellermann1-5/+5
2010-01-18decoder/ffmpeg: merged ffmpeg_helper() into ffmpeg_decode()Max Kellermann1-116/+67
2010-01-18decoder/ffmpeg: optimized the stream_tag() methodMax Kellermann1-25/+27
Don't use the function ffmpeg_helper(), don't initialize the codec.
2010-01-18decoder/ffmpeg: free AVFormatContext on errorMax Kellermann1-0/+4
Fix a memory leak in some code paths.
2010-01-18decoder_api: removed function decoder_get_uri()Max Kellermann1-6/+5
Use input_stream.uri.
2010-01-04renamed decoder plugin sourcesMax Kellermann1-0/+0
Make it X_decoder_plugin.c.
2010-01-04decoder_api: added function decoder_replay_gain()Max Kellermann1-1/+1
This function replaces the replay_gain_info parameter for decoder_data(). This allows the decoder to announce replay gain changes, instead of having to pass the same object over and over.
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-31decoder: switch a bunch of plugins to stream_tag()Max Kellermann1-11/+4
This patch changes the following decoder plugins to implement stream_tag() instead of tag_dup(): faad, ffmpeg, mad, modplug, mp4ff, mpcdec, oggflac This simplifies their code, because they do not need to take care of opening/closing the stream.
2009-12-29decoder/{ffmpeg,flac,vorbis}: added more flac/vorbis MIME typesMax Kellermann1-0/+5
Support deprecated MIME types such as "audio/x-ogg". Support new types such as "audio/flac".
2009-12-26decoder_api: added function decoder_timestamp()Max Kellermann1-6/+4
Remove the data_time parameter from decoder_data(). This patch eliminates the timestamp counting in most decoder plugins, because the MPD core will do it automatically by default.
2009-12-15input_stream: return errors with GErrorMax Kellermann1-2/+2