Max Kellermann
|
d1c5bb956a
|
decoder/ffmpeg: move code to IsAudio()
|
2016-07-28 19:49:45 +02:00 |
|
Max Kellermann
|
70986bc120
|
decoder/ffmpeg: move code to FfmpegSendFrame()
|
2016-07-28 19:49:18 +02:00 |
|
Max Kellermann
|
f31fe8b865
|
decoder/ffmpeg: include cleanup
|
2016-07-28 19:49:17 +02:00 |
|
Max Kellermann
|
142a9fe530
|
decoder/ffmpeg: move code to pcm/Interleave.cxx
|
2016-07-28 19:49:13 +02:00 |
|
Max Kellermann
|
4dd2ad9b27
|
decoder/ffmpeg: check for commands earlier
Improve initial seek by not reading/decoding the first frame before
checking for the seek command.
|
2016-07-28 19:48:27 +02:00 |
|
Max Kellermann
|
62f7375804
|
decoder/ffmpeg: simplify mpd_ffmpeg_open_input()
|
2016-07-28 19:48:25 +02:00 |
|
Max Kellermann
|
543296b5ba
|
decoder/ffmpeg: move code to lib/ffmpeg/Init.cxx
|
2016-07-28 19:48:22 +02:00 |
|
Max Kellermann
|
5fee130d00
|
decoder/ffmpeg: move code to lib/ffmpeg/LogCallback.cxx
|
2016-07-28 19:47:49 +02:00 |
|
Max Kellermann
|
073facea70
|
decoder/ffmpeg: remove obsolete comment
|
2016-07-28 19:47:47 +02:00 |
|
Max Kellermann
|
dbe3b6eee4
|
decoder/ffmpeg: convert enums to constexpr
|
2016-07-28 19:47:36 +02:00 |
|
Max Kellermann
|
df97049647
|
decoder/ffmpeg: move struct AvioStream to FfmpegIo.hxx
|
2016-07-28 19:47:31 +02:00 |
|
Max Kellermann
|
42c5f68362
|
decoder/ffmpeg: use AVStream::duration
Use the duration of the stream we're actually decoding - not the
"global" attribute AVFormatContext::duration which may differ.
|
2016-07-28 19:47:24 +02:00 |
|
Max Kellermann
|
cc19e760cf
|
decoder/ffmpeg: use more references
|
2016-07-28 19:45:22 +02:00 |
|
Max Kellermann
|
0ff22a16fa
|
decoder/ffmpeg: move code to lib/ffmpeg/Time.hxx
|
2016-07-28 19:45:11 +02:00 |
|
Max Kellermann
|
47360ec906
|
decoder/ffmpeg: use av_free() instead of av_freep()
|
2016-07-28 19:45:07 +02:00 |
|
Max Kellermann
|
087a9938d2
|
decoder/ffmpeg: add API documentation
|
2016-07-28 19:45:05 +02:00 |
|
Max Kellermann
|
26d8e41a6b
|
decoder/ffmpeg: copy_interleave_frame() returns ConstBuffer
|
2016-07-28 19:45:01 +02:00 |
|
Max Kellermann
|
750ae1d3f3
|
decoder/ffmpeg: copy_interleave_frame() returns Error
|
2016-07-28 19:44:42 +02:00 |
|
Max Kellermann
|
f8a9a7a108
|
decoder/ffmpeg: simplify ffmpeg_send_packet()
|
2016-07-28 19:44:39 +02:00 |
|
Max Kellermann
|
eb192137d6
|
decoder/ffmpeg: copy the AVPacket in ffmpeg_send_packet()
Revert commit 70495aad by rewriting it. Turns out, in old FFmpeg
versions, copying the AVPacket is necessary.
|
2016-07-28 19:42:25 +02:00 |
|
Max Kellermann
|
c25b464f37
|
decoder/ffmpeg: move code to class FfmpegBuffer
|
2016-07-27 17:31:02 +02:00 |
|
Max Kellermann
|
710b48d410
|
decoder/ffmpeg: log detailed error message
|
2016-07-27 17:28:12 +02:00 |
|
Max Kellermann
|
5e77a8199d
|
decoder/ffmpeg: remove obsolete comment
|
2016-07-27 17:28:12 +02:00 |
|
Max Kellermann
|
6637db086b
|
decoder/ffmpeg: add "pure" attributes
|
2016-07-27 17:28:12 +02:00 |
|
Max Kellermann
|
a271a55da7
|
decoder/ffpmeg: make variables more local
|
2016-07-27 17:28:12 +02:00 |
|
Max Kellermann
|
6eeec6cbfa
|
decoder/ffpmeg: simplify ffmpeg_send_packet()
|
2016-07-27 17:22:13 +02:00 |
|
Max Kellermann
|
5e3f3b0400
|
decoder/ffpmeg: rename functions to CamelCase
|
2016-07-27 17:18:58 +02:00 |
|
Max Kellermann
|
923c402f69
|
decoder/ffmpeg: optimize ffmpeg_scan_dictionary()
Don't scan tag items if the handler doesn't implement the tag()
method.
|
2016-07-27 17:17:14 +02:00 |
|
Max Kellermann
|
44219d5e91
|
decoder/flac: refactor flac_convert() to class FlacPcmImport
|
2016-07-11 23:34:55 +02:00 |
|
Max Kellermann
|
b9de3270f6
|
decoder/flac: specialize "stereo" for all bit depths
|
2016-07-11 23:33:34 +02:00 |
|
Max Kellermann
|
590d6faeb0
|
decoder/flac: convert flac_convert_*() to templates
|
2016-07-11 23:27:57 +02:00 |
|
Max Kellermann
|
62e96e9a58
|
decoder/flac: pass number of frames to flac_convert()
|
2016-07-11 23:24:48 +02:00 |
|
Max Kellermann
|
1c818ef0a0
|
decoder/flac: improve warning message about unsupported bit depth
|
2016-07-11 23:13:33 +02:00 |
|
Max Kellermann
|
d6ce2e3671
|
decoder/flac: move functions into struct FlacDecoder
|
2016-07-11 23:11:22 +02:00 |
|
Max Kellermann
|
85b6a52662
|
decoder/flac: use C++11 initializers
|
2016-07-11 22:44:39 +02:00 |
|
Max Kellermann
|
0246082b9b
|
decoder/flac: move position code to FlacDecoder::GetDeltaPosition()
|
2016-07-11 22:38:26 +02:00 |
|
Max Kellermann
|
3b031c6ba5
|
decoder/flac: throw exception on FLAC__stream_decoder_new() failure
|
2016-07-11 22:38:03 +02:00 |
|
Max Kellermann
|
74740ca50b
|
decoder/flac: add class FlacStreamDecoder wrapping a FLAC__StreamDecoder*
|
2016-07-11 22:37:55 +02:00 |
|
Max Kellermann
|
631baa7120
|
decoder/flac: eliminate redundant FlacDecoder attributes
|
2016-07-11 22:37:52 +02:00 |
|
Max Kellermann
|
657d6edff7
|
decoder/flac: add FlacInput getter methods
|
2016-07-11 22:37:49 +02:00 |
|
Max Kellermann
|
737c5a9549
|
decoder/flac: rename struct flac_data to FlacDecoder
|
2016-07-11 22:37:46 +02:00 |
|
Max Kellermann
|
b67e7df38e
|
release v0.19.17
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJXgCv6AAoJECNuiljG20USR3cP/RALB4qlhecMo6H8VwZvfjiA
FHfhBKfdpHM3U3EEIZc1zxwHIdWk1yELtmx298vmJbWUifpYAYarXF5497tZf2XE
AVfhTltEJEd7xB5ZULnEScM1aHzMZm5HRcHwM1UqNCsXP7PT8fmpk7gw19pKOChT
h8V3+tpC403lCIcHcJGlkuzgZvKIZDs73g7a0+4GxD9XRAPwnMYRl3Cfd8QjKT/U
r67AcOwQlS6hWJFs0K1JjOQwfwbRq2YmuOmFJua6n8O6CI/7t4h3faSQ0V/5qjFd
k/pAMRtX6mz3mjVhZv4cuMy+QILWlxUNwLBIwtxSfbwcFKrN0vtIRG8O9622hTs2
+mvYiVboWABk6hnukiDAfki96jWYHlsCJR5oIK9DZ4nBe5RVp0r9Nq/ook2AW2it
6VgYIDBI5zS/blyJzXtzDVWEtSmLFxm21JSl+jHfWDtL6/rQGimdVOFkRw40oCBz
seYb5kIbilrg6xq1KiBMT+EWmXMf+q+3YWQsu01blXGYGPhpUqhIr0h/qUfWAqMs
fwIsoxsTrkQQjEWb6YWupPrdOLZ+kTAyaK+7v8B8JmzS/H3SohusMPUZKsQXl82s
5LJVLtVxB9WRRmpfSoYqfk7CkTHOktCzVmiHb/FYUYElS9VKmJYYU8XQ25snCoZ6
bYtERsH28q8rrpkWWEXP
=IXD5
-----END PGP SIGNATURE-----
Merge tag 'v0.19.17'
release v0.19.17
|
2016-07-09 00:46:09 +02:00 |
|
Max Kellermann
|
ab95027fc6
|
decoder/flac: suppress warning at end of stream
This is required if a stream ands without another chained FLAC file.
|
2016-07-08 23:19:47 +02:00 |
|
Max Kellermann
|
ed3bc4ab63
|
decoder/flac: move code to FlacInitAndDecode()
|
2016-07-08 23:03:49 +02:00 |
|
Max Kellermann
|
68064f1aa6
|
decoder/flac: move duplicate code to flac_data::Initialize()
|
2016-07-08 22:44:23 +02:00 |
|
Max Kellermann
|
475ac76a5f
|
decoder/flac: late "total_frames" initialization
|
2016-07-08 22:43:31 +02:00 |
|
Max Kellermann
|
79d4f8674c
|
decoder/flac: remove "duration" parameter from flac_decoder_initialize()
It's always 0.
|
2016-07-08 22:41:19 +02:00 |
|
Max Kellermann
|
e42eed4d4c
|
decoder/flac: remove pointless check
|
2016-07-08 22:41:19 +02:00 |
|
Max Kellermann
|
4a7042e847
|
decoder/flac: handle unknown duration correctly
If the duration is unknown, pass SignedSongTime::Negative(), as
documented for decoder_initialized().
|
2016-07-08 22:33:49 +02:00 |
|
Max Kellermann
|
7f36923eb4
|
decoder/flac: pass SignedSongTime to decoder_initialized()
|
2016-07-08 22:32:23 +02:00 |
|