Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2011-09-15 | decoder/ffmpeg: flush the codec after seeking | Max Kellermann | 1 | -1/+3 | |
Let the codec start with fresh buffers. This should fix the remaining seeking issues. | |||||
2011-09-15 | decoder/ffmpeg: explicitly specify the current stream for seeking | Max Kellermann | 1 | -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-15 | decoder/ffmpeg: don't require key frame for seeking | Max Kellermann | 1 | -1/+2 | |
Use flag AV_TIME_BASE. | |||||
2011-09-15 | decoder/ffmpeg: higher precision timestamps | Max Kellermann | 1 | -1/+2 | |
2011-09-15 | decoder/ffmpeg: move formula to time_from_ffmpeg() | Max Kellermann | 1 | -2/+10 | |
2011-09-15 | decoder/ffmpeg: add local variable "av_stream" | Max Kellermann | 1 | -3/+4 | |
Code simplification. | |||||
2011-07-18 | decoder/ffmpeg: use avformat_open_input() if available | Max Kellermann | 1 | -4/+35 | |
av_open_input_stream() has been deprecated. | |||||
2011-07-18 | decoder: use AVDictionary instead of AVMetadata | Max Kellermann | 1 | -1/+14 | |
AVMetadata has been deprecated. | |||||
2011-07-03 | ffmpeg: workaround for semantic API change in recent ffmpeg versions | oblique | 1 | -2/+2 | |
2011-05-09 | decoder/ffmpeg: use avcodec_decode_audio3() if available | Max Kellermann | 1 | -1/+22 | |
avcodec_decode_audio3() has been added in libavformat 52.25.0, and the predecessor avcodec_decode_audio2() has been deprecated. | |||||
2011-05-09 | decoder/ffmpeg: make variables more local | Max Kellermann | 1 | -27/+16 | |
2011-05-09 | decoder/ffmpeg: don't use deprecated CODEC_TYPE_AUDIO with new lavc | Anton Khirnov | 1 | -0/+4 | |
fixes build with lavc 53. | |||||
2011-05-09 | decoder/ffmpeg: define fallback macro AV_VERSION_INT() | Max Kellermann | 1 | -1/+5 | |
For ffmpeg < 0.5. Copied from libavutil 0.5. | |||||
2010-11-04 | decoder/ffmpeg: check AVCodecContext.sample_fmt value | Max Kellermann | 1 | -7/+9 | |
.. instead of av_get_bits_per_sample_format(). The SampleFormat enum value is authoritative. | |||||
2010-07-19 | decoder/ffmpeg: fix libavformat 0.6 by using av_open_input_stream() | Max Kellermann | 1 | -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-19 | decoder/ffmpeg: manual format probing | Max Kellermann | 1 | -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-12 | ffmpeg: read the audio stream metadata in addition to global | Anton Khirnov | 1 | -1/+5 | |
in some formats, e.g. vorbis, the metadata is stored per-stream. | |||||
2010-07-12 | ffmpeg: factor tag_type <-> ffmpeg tag name maps into a table. | Anton Khirnov | 1 | -21/+32 | |
2010-05-18 | input/ffmpeg: new input plugin using libavformat's "avio" library | Max Kellermann | 1 | -0/+6 | |
2010-04-11 | decoder/ffmpeg: fix crash on startup in mpd_ffmpeg_log_callback() | Charles Kerr | 1 | -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-28 | decoder/ffmpeg: print item name in log callback | Max Kellermann | 1 | -1/+5 | |
2010-03-07 | decoder/ffmpeg: fix indentation | Max Kellermann | 1 | -6/+6 | |
2010-02-27 | decoder/ffmpeg: implement the libavutil log callback | Max Kellermann | 1 | -0/+31 | |
Pass everything to the GLib logging library. No direct stderr access. | |||||
2010-02-27 | decoder/ffmpeg: don't close the AVFormatContext after open failure | Max Kellermann | 1 | -1/+0 | |
The pointer is invalid if av_open_input_file() fails. | |||||
2010-02-02 | ffmpeg: read more metadata. | Anton Khirnov | 1 | -1/+12 | |
2010-01-18 | decoder/ffmpeg: call decoder_timestamp() once per packet | Max Kellermann | 1 | -5/+5 | |
2010-01-18 | decoder/ffmpeg: merged ffmpeg_helper() into ffmpeg_decode() | Max Kellermann | 1 | -116/+67 | |
2010-01-18 | decoder/ffmpeg: optimized the stream_tag() method | Max Kellermann | 1 | -25/+27 | |
Don't use the function ffmpeg_helper(), don't initialize the codec. | |||||
2010-01-18 | decoder/ffmpeg: free AVFormatContext on error | Max Kellermann | 1 | -0/+4 | |
Fix a memory leak in some code paths. | |||||
2010-01-18 | decoder_api: removed function decoder_get_uri() | Max Kellermann | 1 | -6/+5 | |
Use input_stream.uri. | |||||
2010-01-04 | renamed decoder plugin sources | Max Kellermann | 1 | -0/+0 | |
Make it X_decoder_plugin.c. | |||||
2010-01-04 | decoder_api: added function decoder_replay_gain() | Max Kellermann | 1 | -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-31 | Update copyright notices. | Avuton Olrich | 1 | -1/+1 | |
2009-12-31 | decoder: switch a bunch of plugins to stream_tag() | Max Kellermann | 1 | -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-29 | decoder/{ffmpeg,flac,vorbis}: added more flac/vorbis MIME types | Max Kellermann | 1 | -0/+5 | |
Support deprecated MIME types such as "audio/x-ogg". Support new types such as "audio/flac". | |||||
2009-12-26 | decoder_api: added function decoder_timestamp() | Max Kellermann | 1 | -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-15 | input_stream: return errors with GError | Max Kellermann | 1 | -2/+2 | |
2009-12-02 | audio_format: changed "bits" to "enum sample_format" | Max Kellermann | 1 | -8/+22 | |
This patch prepares support for floating point samples (and probably other formats). It changes the meaning of the "bits" attribute from a bit count to a symbolic value. | |||||
2009-11-30 | ffmpeg: don't try to force stereo | Max Kellermann | 1 | -4/+0 | |
The plugin code tried to force libavcodec to supply stereo samples. That however has never actually worked. By removing this code, we are able to play surround files for the first time. | |||||
2009-11-15 | decoder/ffmpeg: align the output buffer | Max Kellermann | 1 | -5/+24 | |
On some platforms, libavcodec wants the output buffer aligned to 16 bytes (because it uses SSE/Altivec internally). It will segfault when you don't obey this rule. | |||||
2009-11-14 | decoder: use audio_format_init_checked() | Max Kellermann | 1 | -7/+7 | |
Let the audio_check library verify the audio format in all (relevant, i.e. non-hardcoded) plugins. | |||||
2009-11-12 | include config.h in all sources | Max Kellermann | 1 | -1/+1 | |
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue. | |||||
2009-10-28 | decoder/ffmpeg: removed the "author" vs "artist" workaround | Max Kellermann | 1 | -2/+1 | |
libavformat gives us the song artist in the "author" field. Since we use av_metadata_conv(), we don't need to check for "artist". | |||||
2009-10-28 | decoder/ffmpeg: convert metadata | Max Kellermann | 1 | -4/+4 | |
Convert the metadata with the libavformat function av_metadata_conv(). This ensures that canonical tag names are provided by libavformat, and we can remove the "artist" vs "author" workaround. | |||||
2009-10-13 | tag: removed the "_ITEM_" suffix from the enum names | Max Kellermann | 1 | -16/+15 | |
2009-09-30 | decoder/ffmpeg: use the "artist" tag if "author" is not present | Max Kellermann | 1 | -2/+5 | |
Usually, we read our "artist" tag from ffmpeg's "author" tag. In some cases however (e.g. APE), this tag is named "artist". This patch implements a fallback: if no "author" is found, MPD tries to use "artist". | |||||
2009-08-03 | ffmpeg_plugin: convert metadata to generic format | Anton Khirnov | 1 | -1/+3 | |
2009-07-19 | Add audio_format_init() function | David Woodhouse | 1 | -4/+5 | |
It makes no difference right now, but we're about to add an endianness flag and will want to make sure it's correctly initialised every time. | |||||
2009-06-25 | ffmpeg: support multiple tags | Max Kellermann | 1 | -2/+3 | |
Call av_metadata_get() in a loop. | |||||
2009-06-08 | ffmpeg: moved code to ffmpeg_copy_metadata() | Max Kellermann | 1 | -33/+18 | |