Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | input_stream: non-blocking I/O | Max Kellermann | 2011-09-16 | 1 | -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 Kellermann | 2011-09-15 | 1 | -8/+30 |
|\ | | | | | | | | | | | Conflicts: NEWS configure.ac | ||||
| * | decoder/ffmpeg: flush the codec after seeking | Max Kellermann | 2011-09-15 | 1 | -1/+3 |
| | | | | | | | | | | Let the codec start with fresh buffers. This should fix the remaining seeking issues. | ||||
| * | decoder/ffmpeg: explicitly specify the current stream for seeking | Max Kellermann | 2011-09-15 | 1 | -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 seeking | Max Kellermann | 2011-09-15 | 1 | -1/+2 |
| | | | | | | | | Use flag AV_TIME_BASE. | ||||
| * | decoder/ffmpeg: higher precision timestamps | Max Kellermann | 2011-09-15 | 1 | -1/+2 |
| | | |||||
| * | decoder/ffmpeg: move formula to time_from_ffmpeg() | Max Kellermann | 2011-09-15 | 1 | -2/+10 |
| | | |||||
| * | decoder/ffmpeg: add local variable "av_stream" | Max Kellermann | 2011-09-15 | 1 | -3/+4 |
| | | | | | | | | Code simplification. | ||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2011-07-19 | 1 | -7/+47 |
|\| | | | | | | | | | | | Conflicts: NEWS configure.ac | ||||
| * | decoder/ffmpeg: use avformat_open_input() if available | Max Kellermann | 2011-07-18 | 1 | -4/+35 |
| | | | | | | | | av_open_input_stream() has been deprecated. | ||||
| * | decoder: use AVDictionary instead of AVMetadata | Max Kellermann | 2011-07-18 | 1 | -1/+14 |
| | | | | | | | | AVMetadata has been deprecated. | ||||
| * | ffmpeg: workaround for semantic API change in recent ffmpeg versions | oblique | 2011-07-03 | 1 | -2/+2 |
| | | |||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2011-06-03 | 1 | -0/+9 |
|\| | | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c | ||||
| * | decoder/ffmpeg: use avcodec_decode_audio3() if available | Max Kellermann | 2011-05-09 | 1 | -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 local | Max Kellermann | 2011-05-09 | 1 | -27/+16 |
| | | |||||
| * | decoder/ffmpeg: don't use deprecated CODEC_TYPE_AUDIO with new lavc | Anton Khirnov | 2011-05-09 | 1 | -0/+4 |
| | | | | | | | | fixes build with lavc 53. | ||||
| * | decoder/ffmpeg: define fallback macro AV_VERSION_INT() | Max Kellermann | 2011-05-09 | 1 | -1/+5 |
| | | | | | | | | For ffmpeg < 0.5. Copied from libavutil 0.5. | ||||
* | | decoder/ffpmeg: don't use av_metadata_conv() in ffmpeg 0.7 | Max Kellermann | 2011-05-09 | 1 | -0/+2 |
| | | | | | | | | It's a no-op and deprecated. | ||||
* | | decoder/ffmpeg: use AVIOContext instead of ByteIOContext | Max Kellermann | 2011-05-09 | 1 | -0/+12 |
| | | |||||
* | | decoder/ffmpeg: use avcodec_decode_audio3() if available | Max Kellermann | 2011-04-12 | 1 | -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 local | Max Kellermann | 2011-04-12 | 1 | -27/+16 |
| | | |||||
* | | decoder/ffmpeg: drop support for pre-0.5 ffmpeg | Anton Khirnov | 2011-04-12 | 1 | -46/+0 |
| | | | | | | | | | | All modern distros ship 0.5, so there's no need to support old and buggy ffmpeg versions. | ||||
* | | copyright year 2011 | Max Kellermann | 2011-01-29 | 1 | -1/+1 |
|/ | |||||
* | Merge release 0.15.14 from branch 'v0.15.x' | Max Kellermann | 2010-11-07 | 1 | -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 value | Max Kellermann | 2010-11-04 | 1 | -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 Kellermann | 2010-07-19 | 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. | ||||
* | decoder/ffmpeg: manual format probing | Max Kellermann | 2010-07-19 | 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. | ||||
* | ffmpeg: read the audio stream metadata in addition to global | Anton Khirnov | 2010-07-12 | 1 | -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 Khirnov | 2010-07-12 | 1 | -21/+32 |
| | |||||
* | input/ffmpeg: new input plugin using libavformat's "avio" library | Max Kellermann | 2010-05-18 | 1 | -0/+6 |
| | |||||
* | decoder/ffmpeg: fix crash on startup in mpd_ffmpeg_log_callback() | Charles Kerr | 2010-04-11 | 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. | ||||
* | decoder/ffmpeg: print item name in log callback | Max Kellermann | 2010-03-28 | 1 | -1/+5 |
| | |||||
* | decoder/ffmpeg: fix indentation | Max Kellermann | 2010-03-07 | 1 | -6/+6 |
| | |||||
* | decoder/ffmpeg: implement the libavutil log callback | Max Kellermann | 2010-02-27 | 1 | -0/+31 |
| | | | | Pass everything to the GLib logging library. No direct stderr access. | ||||
* | decoder/ffmpeg: don't close the AVFormatContext after open failure | Max Kellermann | 2010-02-27 | 1 | -1/+0 |
| | | | | The pointer is invalid if av_open_input_file() fails. | ||||
* | ffmpeg: read more metadata. | Anton Khirnov | 2010-02-02 | 1 | -1/+12 |
| | |||||
* | decoder/ffmpeg: call decoder_timestamp() once per packet | Max Kellermann | 2010-01-18 | 1 | -5/+5 |
| | |||||
* | decoder/ffmpeg: merged ffmpeg_helper() into ffmpeg_decode() | Max Kellermann | 2010-01-18 | 1 | -116/+67 |
| | |||||
* | decoder/ffmpeg: optimized the stream_tag() method | Max Kellermann | 2010-01-18 | 1 | -25/+27 |
| | | | | Don't use the function ffmpeg_helper(), don't initialize the codec. | ||||
* | decoder/ffmpeg: free AVFormatContext on error | Max Kellermann | 2010-01-18 | 1 | -0/+4 |
| | | | | Fix a memory leak in some code paths. | ||||
* | decoder_api: removed function decoder_get_uri() | Max Kellermann | 2010-01-18 | 1 | -6/+5 |
| | | | | Use input_stream.uri. | ||||
* | Merge release 0.15.8 from branch 'v0.15.x | Max Kellermann | 2010-01-18 | 1 | -4/+34 |
| | | | | | | | | | Conflicts: Makefile.am NEWS configure.ac src/decoder/ffmpeg_decoder_plugin.c src/decoder_thread.c | ||||
* | renamed decoder plugin sources | Max Kellermann | 2010-01-04 | 1 | -0/+552 |
Make it X_decoder_plugin.c. |