Max Kellermann
70495aada1
decoder/ffmpeg: don't copy the AVPacket in ffmpeg_send_packet()
...
Reduce some overhead. It is not necessary to copy the object.
2016-04-13 09:04:51 +02:00
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
Chris Spiegel
1e0ad1f6bf
Add TAK as a supported FFmpeg format.
2016-02-19 17:32:48 +01: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
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
a56949e9fa
decoder/ffmpeg: support interleaved floating point
2014-12-23 20:51:08 +01:00
Max Kellermann
9c56c49e73
Merge tag 'v0.18.21' into v0.19.x
2014-12-17 19:19:13 +01:00
Max Kellermann
cbc1a58e93
Merge tag 'v0.18.20' into v0.19.x
2014-12-08 15:03:09 +01:00
Max Kellermann
125eb01e03
decoder/ffmpeg: support opus
2014-11-07 19:22:26 +01:00
Steven OBrien
8cd17ce045
decoder/ffmpeg: recognize MIME type audio/aacp
2014-10-25 00:26:58 +02:00
Max Kellermann
a464dc681a
Merge tag 'v0.18.14'
2014-09-11 19:26:58 +02:00
Max Kellermann
3158955198
TagHandler: pass SongTime to duration()
2014-08-29 22:52:04 +02:00
Max Kellermann
d9d97bd17b
DecoderAPI: pass SignedSongTime to decoder_initialized()
2014-08-29 21:40:15 +02:00
Max Kellermann
0c2d767f6f
DecoderAPI: use std::chrono::duration for decoder_seek*()
...
For type safety and code readability.
2014-08-26 22:27:04 +02:00
Max Kellermann
a606ef0700
decoder/ffmpeg: use integer seek times
2014-08-26 11:15:53 +02:00
Max Kellermann
4da3291157
decoder/ffmpeg: check InputStream::KnownSize()
2014-08-19 20:44:29 +02:00
Max Kellermann
636f5d4a1d
{input,decoder}/ffmpeg: move ffmpeg_domain to lib/ffmpeg/Domain.cxx
...
Eliminate duplicate definition (in input plugin and decoder plugin).
2014-08-18 10:12:37 +02:00
Max Kellermann
a9f6556454
Merge branch 'v0.18.x'
2014-08-16 08:25:10 +02:00
Max Kellermann
07b93dcf80
InputStream: make Seek() always absolute
...
Remove the "whence" parameter that is not actually necessary, and only
complicates the InputStream implementations.
2014-05-22 13:52:00 +02:00
Max Kellermann
0b4fa41aff
InputStream: "protect" attributes
2014-05-12 18:59:46 +02:00
Max Kellermann
6773adc771
InputStream: convert to class
2014-05-11 15:34:48 +02:00
Max Kellermann
1c02b4b9f4
Merge tag 'release-0.18.10'
2014-04-10 13:49:20 +02:00
geneticdrift
f225051348
fixed possible format_context not closed in ffmpeg_decode
2014-02-07 12:07:43 +01:00
Max Kellermann
f8bfea8bae
Input*: move to input/
2014-01-24 16:33:33 +01:00
Max Kellermann
51adaf2c47
decoder/*: move to decoder/plugins/
2014-01-24 00:02:24 +01:00