Max Kellermann
f243f615ef
decoder/ffmpeg: convert pointers to references
2016-04-13 09:01:54 +02:00
Max Kellermann
807c72b2f1
decoder/ffmpeg: use av_packet_unref() instead of av_free_packet()
...
av_free_packet() was deprecated in FFmpeg 3.0.
2016-04-12 21:15:05 +02:00
Max Kellermann
1aee89f5ea
*: include cleanup (using iwyu)
2016-03-01 22:08:13 +01:00
Max Kellermann
1d67aa7bf2
update copyright year to 2016
2016-02-26 17:54:05 +01:00
Max Kellermann
73307bf2e7
tag/TagHandler: pass by reference
2016-02-23 10:10:13 +01:00
Max Kellermann
a5f8fd774d
tag/handler: use CamelCase
2016-02-22 17:38:06 +01:00
Chris Spiegel
1e0ad1f6bf
Add TAK as a supported FFmpeg format.
2016-02-19 17:32:48 +01:00
Chris Spiegel
e7b211f2c0
Add TAK as a supported FFmpeg format.
2016-02-12 18:49:10 -08:00
Max Kellermann
1958f78cc1
decoder/ffmpeg: fix crash due to wrong avio_alloc_context() call
...
Allocate the buffer dynamically using av_malloc(), and free
AVIOContext.buffer in the destructor, as mandated by the libavformat
documentation.
Fixes http://bugs.musicpd.org/view.php?id=4446
2015-10-26 13:06:29 +01:00
Max Kellermann
eed1a3c239
decoder/ffmpeg: move code to pcm/Interleave.cxx
2015-06-22 14:42:19 +02:00
Max Kellermann
94c037821b
decoder/ffmpeg: check for commands earlier
...
Improve initial seek by not reading/decoding the first frame before
checking for the seek command.
2015-06-22 14:42:19 +02:00
Max Kellermann
90e7ace980
Merge tag 'v0.19.10'
2015-06-21 16:06:02 +02:00
Max Kellermann
327a8e6c59
decoder/ffmpeg: skip unwanted samples after seeking
...
When seeking to the beginning of a packet, skip the samples that come
before the desired time stamp.
2015-06-20 15:01:05 +02:00
Max Kellermann
d11e2724c4
decoder/ffmpeg: use AVSEEK_FLAG_BACKWARD for seeking
...
Ask FFmpeg to seek to the next packet boundary *before* the seek
position, so we don't miss audio data. Now we get too much, but we'll
solve that in the next commit.
2015-06-20 14:29:42 +02:00
Max Kellermann
f768ca3a2d
decoder/ffmpeg: move code to StreamRelativePts()
2015-06-19 18:56:29 +02:00
Max Kellermann
4fa5538e2b
config/Param: split block-specific attributes to new struct ConfigBlock
...
The old struct config_param remains only for top-level string options.
2015-01-21 23:56:33 +01:00
Max Kellermann
712ed555e6
Copyright year 2015
2015-01-01 19:48:13 +01:00
Max Kellermann
412bedb697
Merge branch 'v0.19.x'
2014-12-26 14:40:32 +01:00
Max Kellermann
a56949e9fa
decoder/ffmpeg: support interleaved floating point
2014-12-23 20:51:08 +01:00
Max Kellermann
5835afb849
decoder/ffmpeg: fix indent
2014-12-23 10:21:34 +01:00
Max Kellermann
7f3fecbdf5
decoder/ffmpeg: simplify mpd_ffmpeg_open_input()
2014-12-22 22:24:10 +01:00
Max Kellermann
90b91ead72
decoder/ffmpeg: move code to lib/ffmpeg/Init.cxx
2014-12-21 20:51:41 +01:00
Max Kellermann
1e98e41381
decoder/ffmpeg: move code to lib/ffmpeg/LogCallback.cxx
2014-12-20 18:46:29 +01:00
Max Kellermann
7030e8f050
decoder/ffmpeg: remove obsolete comment
2014-12-19 11:53:58 +01:00
Max Kellermann
74bb514a8c
decoder/ffmpeg: convert enums to constexpr
2014-12-19 11:53:58 +01:00
Max Kellermann
46914e486c
decoder/ffmpeg: move struct AvioStream to FfmpegIo.hxx
2014-12-19 10:35:10 +01:00
Max Kellermann
f9abc561fb
decoder/ffmpeg: remove unnecessary nullptr check for av_free()
2014-12-19 10:33:17 +01:00
Max Kellermann
2e22ff2e36
decoder/ffmpeg: use AVStream::duration
...
Use the duration of the stream we're actually decoding - not the
"global" attribute AVFormatContext::duration which may differ.
2014-12-19 10:23:05 +01:00
Max Kellermann
8c3be4a5f0
decoder/ffmpeg: skip _scan_stream() if no audio stream was found
2014-12-19 10:21:51 +01:00
Max Kellermann
3fe2f7337c
decoder/ffmpeg: remove redundant audio stream check
2014-12-19 10:20:45 +01:00
Max Kellermann
ec24eb1d8e
decoder/ffmpeg: use more references
2014-12-19 10:19:19 +01:00
Max Kellermann
ffcaf85609
decoder/ffmpeg: merge avformat_close_input() calls
2014-12-19 09:57:29 +01:00
Max Kellermann
67e2d9f9e1
decoder/ffmpeg: move code to lib/ffmpeg/Time.hxx
2014-12-19 09:41:21 +01:00
Max Kellermann
dd5aa2b483
decoder/ffmpeg: use av_free() instead of av_freep()
2014-12-19 09:23:22 +01:00
Max Kellermann
806494a254
decoder/ffmpeg: add API documentation
2014-12-19 06:41:50 +01:00
Max Kellermann
5c3afd020a
decoder/ffmpeg: copy_interleave_frame() returns ConstBuffer
2014-12-18 23:44:56 +01:00
Max Kellermann
190cdfc326
decoder/ffmpeg: copy_interleave_frame() returns Error
2014-12-18 23:39:56 +01:00
Max Kellermann
13b954c765
decoder/ffmpeg: pass AVPacket copy to ffmpeg_send_packet()
2014-12-18 23:24:11 +01:00
Max Kellermann
49f6b50ed3
decoder/ffmpeg: simplify ffmpeg_send_packet()
2014-12-18 23:21:48 +01:00
Max Kellermann
0f2a304d34
decoder/ffmpeg: pass references instead of pointers
2014-12-18 23:08:08 +01:00
Max Kellermann
a142f93dca
decoder/ffmpeg: move code to class FfmpegBuffer
2014-12-18 22:24:28 +01:00
Max Kellermann
2dfe2fb22c
decoder/ffmpeg: fix crash on out-of-memory
...
Fixes regression by commit 7c8038e
2014-12-18 22:24:02 +01:00
Max Kellermann
e8564b4c90
decoder/ffmpeg: log detailed error message
2014-12-18 22:07:38 +01:00
Max Kellermann
2fd81b4932
decoder/ffmpeg: remove obsolete comment
2014-12-18 20:19:40 +01:00
Max Kellermann
0cf4c6ffea
decoder/ffmpeg: add "pure" attributes
2014-12-18 20:17:15 +01:00
Max Kellermann
8400da9934
Merge tag 'v0.19.7'
2014-12-17 19:27:59 +01:00
Max Kellermann
9c56c49e73
Merge tag 'v0.18.21' into v0.19.x
2014-12-17 19:19:13 +01:00
Max Kellermann
aea99a1222
decoder/ffpmeg: make variables more local
2014-12-11 10:58:33 +01:00
Max Kellermann
7c8038e2da
decoder/ffpmeg: simplify ffmpeg_send_packet()
2014-12-11 10:58:06 +01:00
Max Kellermann
673336297d
decoder/ffmpeg: support stream tags
2014-12-11 10:52:40 +01:00