Max Kellermann
|
1dcaf8f76a
|
decoder/audiofile: call TagHandler::OnAudioFormat()
|
2018-07-07 13:18:06 +02:00 |
|
Max Kellermann
|
18508d1919
|
decoder/audiofile: merge audiofile_get_duration() into audiofile_scan_stream()
|
2018-07-07 13:16:38 +02:00 |
|
Max Kellermann
|
3d3a1232b1
|
tag/Handler: convert to class with virtual methods
|
2018-07-05 19:07:05 +02:00 |
|
Max Kellermann
|
7d789a984a
|
decoder/Plugin: add "noexcept"
|
2018-01-21 11:47:17 +01:00 |
|
Max Kellermann
|
914df18bf9
|
Main, ...: catch any exception, not just std::runtime_error
|
2017-12-19 10:56:23 +01:00 |
|
Max Kellermann
|
4faef28cc5
|
release v0.20.7
-----BEGIN PGP SIGNATURE-----
iQJEBAABCAAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlkaFL0QHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEr4ID/9iAQC+7fFv06uLOm48Ufu+PgoD8uJkAwF5
QuLQkc85g9urn+bu9N7Qs7Vypp7aLyGcJKY0jyA8wxkOj24pUC3GYk80daUt561V
5s20FnoS/Uoman3CSJL94IfCUBxejizE6vgIIHTc5bb6U0qIsPub/8JTTE2Ih7uP
nvFZ5uBQ+YTc7at+iIH9123eUMKkitkh8osNblovqQT9v42++Tm4ztAytRHBjwUA
Itew5HhlvahbLKqFs/7vmICh/YX1FcOV7cV+erEWYfkH0KCI2bhSle4u2d0CBOvD
VJlDnBCo9bM7WKcPYqJiFFFXA0CRk06wbkkkAtwF4zjp8xos7aQcq4FyQnYL8KXo
5lijIhRwBURBd+nt8oA9kuEhBt/T75otcemJkzVaYappHTJCLjhxSGcPt8mw+nE9
9WQzsp/MIVzg9l5g3D9S/43xM7uhvn98Tn1Qf2s8YRd2o8CZeOhW+X3RvbCvVPv2
mOlx4sFAv8DOJ3KxMdqiJT+PmylPyJluQdqH+tMc8BdPg/kpSpYIPTuSjjRqK1yh
ld5do0HtAAwiHtvXfk5YVFjJSpO0c8yVn6xci2Cl4k/5ZHj2UE1ln+N5vCea2BRF
2J3HAjROwtcwY3lU1jFnEAogf24KWiFJqhhC0EqBGUdlrM8Dn37P5cEWWjROIMNK
lPEdovokNw==
=CdDy
-----END PGP SIGNATURE-----
Merge tag 'v0.20.7'
release v0.20.7
|
2017-05-15 23:01:49 +02:00 |
|
Max Kellermann
|
71f0ed8b74
|
*: add "noexcept" to many, many function prototypes
This eliminates some overhead, because the compiler doesn't need to
consider these functions throwing.
|
2017-05-08 14:44:49 +02:00 |
|
Max Kellermann
|
03a97d87ea
|
tag/Tag*: rename several source files
|
2017-02-08 08:49:42 +01:00 |
|
Max Kellermann
|
5900253b85
|
update copyright year
|
2017-01-03 20:48:59 +01:00 |
|
Max Kellermann
|
a88040e4d5
|
decoder/Client: add Submit methods
Replaces decoder_data() and others.
|
2016-11-18 09:05:04 +01:00 |
|
Max Kellermann
|
47a0f46ce8
|
decoder/Client: add DecoderCommand/seek virtual methods
|
2016-11-18 09:03:42 +01:00 |
|
Max Kellermann
|
66fb352cca
|
decoder/Client: add virtual method Ready()
Replaces decoder_initialized().
|
2016-11-18 09:03:41 +01:00 |
|
Max Kellermann
|
fd77acc217
|
decoder/Client: new interface which wraps struct Decoder
Prepare for a Decoder API redesign based on an abstract class with
virtual methods.
|
2016-11-18 09:03:39 +01:00 |
|
Max Kellermann
|
cfd51db229
|
CheckAudioFormat: migrate from class Error to C++ exceptions
|
2016-11-10 12:55:08 +01:00 |
|
Max Kellermann
|
256ee7a8c7
|
decoder/audiofile: use AtScopeExit()
|
2016-11-10 12:55:08 +01:00 |
|
Max Kellermann
|
8c744efd56
|
input/InputStream: migrate from class Error to C++ exceptions
|
2016-09-16 17:43:36 +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 |
|
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
|
8ff0d99092
|
decoder/audiofile: fix bit rate calculation
|
2014-11-10 09:00:50 +01:00 |
|
Max Kellermann
|
a294838bcd
|
decoder/audiofile: fix indent
|
2014-09-19 23:57:09 +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
|
f057e1e17a
|
decoder/audiofile: use integer seek times
|
2014-08-26 11:29:22 +02:00 |
|
Max Kellermann
|
bb472206de
|
InputStream: move typedef offset_type to Offset.hxx
Reduce header dependencies.
|
2014-08-19 22:29:52 +02:00 |
|
Max Kellermann
|
b924568f79
|
decoder/audiofile: check InputStream::KnownSize()
The plugin assumes that the size is known, but does not verify it at
runtime.
|
2014-08-19 11:58:15 +02:00 |
|
Max Kellermann
|
828cd6fd0b
|
Merge branch 'v0.18.x'
|
2014-07-11 21:33:50 +02:00 |
|
Max Kellermann
|
ccbb5c3e01
|
decoder/audiofile: log libaudiofile errors
|
2014-07-10 09:37:43 +02:00 |
|
Max Kellermann
|
49b63e084f
|
decoder/audiofile: make variables more local
|
2014-07-10 09:26:12 +02:00 |
|
Max Kellermann
|
107321e385
|
decoder/audiofile: implement scan_stream() instead of scan_file()
|
2014-07-10 09:23:56 +02:00 |
|
Max Kellermann
|
1d214b4aed
|
decoder/audiofile: use audiofile_get_duration() in _stream_decode()
|
2014-07-10 08:35:24 +02:00 |
|
Max Kellermann
|
2e1347aba4
|
decoder/audiofile: split audiofile_get_duration()
|
2014-07-10 08:31:41 +02:00 |
|
Max Kellermann
|
9ddb5931fb
|
decoder/audiofile: remove unused Error variable
|
2014-07-09 20:03:11 +02:00 |
|
Max Kellermann
|
913064d6cc
|
Merge branch 'v0.18.x'
|
2014-07-09 20:02:07 +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
|
6b421cc354
|
DecoderPlugin: pass Path instance to file_decode() and scan_file()
|
2014-02-07 18:52:19 +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 |
|