aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/ffmpeg_decoder_plugin.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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
| |
* | Merge branch 'v0.16.x'Max Kellermann2011-06-031-0/+9
|\| | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c
| * decoder/ffmpeg: use avcodec_decode_audio3() if availableMax Kellermann2011-05-091-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 localMax Kellermann2011-05-091-27/+16
| |
| * decoder/ffmpeg: don't use deprecated CODEC_TYPE_AUDIO with new lavcAnton Khirnov2011-05-091-0/+4
| | | | | | | | fixes build with lavc 53.
| * decoder/ffmpeg: define fallback macro AV_VERSION_INT()Max Kellermann2011-05-091-1/+5
| | | | | | | | For ffmpeg < 0.5. Copied from libavutil 0.5.
* | decoder/ffpmeg: don't use av_metadata_conv() in ffmpeg 0.7Max Kellermann2011-05-091-0/+2
| | | | | | | | It's a no-op and deprecated.
* | decoder/ffmpeg: use AVIOContext instead of ByteIOContextMax Kellermann2011-05-091-0/+12
| |
* | decoder/ffmpeg: use avcodec_decode_audio3() if availableMax Kellermann2011-04-121-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 localMax Kellermann2011-04-121-27/+16
| |
* | decoder/ffmpeg: drop support for pre-0.5 ffmpegAnton Khirnov2011-04-121-46/+0
| | | | | | | | | | All modern distros ship 0.5, so there's no need to support old and buggy ffmpeg versions.
* | copyright year 2011Max Kellermann2011-01-291-1/+1
|/
* Merge release 0.15.14 from branch 'v0.15.x'Max Kellermann2010-11-071-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 valueMax Kellermann2010-11-041-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 Kellermann2010-07-191-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 probingMax Kellermann2010-07-191-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 globalAnton Khirnov2010-07-121-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 Khirnov2010-07-121-21/+32
|
* input/ffmpeg: new input plugin using libavformat's "avio" libraryMax Kellermann2010-05-181-0/+6
|
* decoder/ffmpeg: fix crash on startup in mpd_ffmpeg_log_callback()Charles Kerr2010-04-111-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 callbackMax Kellermann2010-03-281-1/+5
|
* decoder/ffmpeg: fix indentationMax Kellermann2010-03-071-6/+6
|
* decoder/ffmpeg: implement the libavutil log callbackMax Kellermann2010-02-271-0/+31
| | | | Pass everything to the GLib logging library. No direct stderr access.
* decoder/ffmpeg: don't close the AVFormatContext after open failureMax Kellermann2010-02-271-1/+0
| | | | The pointer is invalid if av_open_input_file() fails.
* ffmpeg: read more metadata.Anton Khirnov2010-02-021-1/+12
|
* decoder/ffmpeg: call decoder_timestamp() once per packetMax Kellermann2010-01-181-5/+5
|
* decoder/ffmpeg: merged ffmpeg_helper() into ffmpeg_decode()Max Kellermann2010-01-181-116/+67
|
* decoder/ffmpeg: optimized the stream_tag() methodMax Kellermann2010-01-181-25/+27
| | | | Don't use the function ffmpeg_helper(), don't initialize the codec.
* decoder/ffmpeg: free AVFormatContext on errorMax Kellermann2010-01-181-0/+4
| | | | Fix a memory leak in some code paths.
* decoder_api: removed function decoder_get_uri()Max Kellermann2010-01-181-6/+5
| | | | Use input_stream.uri.
* Merge release 0.15.8 from branch 'v0.15.xMax Kellermann2010-01-181-4/+34
| | | | | | | | | Conflicts: Makefile.am NEWS configure.ac src/decoder/ffmpeg_decoder_plugin.c src/decoder_thread.c
* renamed decoder plugin sourcesMax Kellermann2010-01-041-0/+552
Make it X_decoder_plugin.c.