Commit Graph

17140 Commits

Author SHA1 Message Date
Yue Wang 987124610a Remove sync_sample_rate option as it's no longer necessary 2018-07-13 13:00:25 -07:00
Yue Wang 40a1ebee29 Enable OSX output plugin to set hardware sample rate and bit depth at the same time
This PR will fix #271.

special thanks to @coroner21 who contributed a nice way to score hardware supported format in #292

Also, The DSD related code are all guarded with ENABLE_DSD  flag.
2018-07-13 12:48:43 -07:00
Max Kellermann d4ce9c0df2 system/FileDescriptor: no-op implementation of *CloseOnExec() on Windows
Fixes the NFS client build, closes #305.
2018-07-13 18:16:39 +02:00
Yue Wang 680fdb0338 enable macOS to use Hardware Mixer
- Update the mixer to set on device property instead of audio unit property. When user choose "hardware" as mixer type, they will be able to change the hardware device volume instead of the software (AudioUnit) volume. 
- We don't use square root scale in volume calculation as previous code did. This will make the volume level in line with system volume meter --- That is, MPD will have the same percentage volume reading compared to System Setting (Either in "System Preference" or in "Audio Midi Setup" app)
2018-07-10 15:51:32 -07:00
Max Kellermann 727078f65d decoder/flac: call TagHandler::OnAudioFormat() 2018-07-07 14:43:21 +02:00
Max Kellermann d7f770ce73 decoder/flac: move flac_sample_format() to FlacAudioFormat.hxx 2018-07-07 14:40:02 +02:00
Max Kellermann e1ddb63054 lib/xiph/FlacStreamMetadata: move code to Scan(FLAC__StreamMetadata_StreamInfo) 2018-07-07 14:33:53 +02:00
Max Kellermann 24b14c5aa5 decoder/flac: rename FlacMetadata.cxx to FlacStreamMetadata.cxx 2018-07-07 14:29:49 +02:00
Max Kellermann 2e116c9e28 lib/xiph/FlacMetadataChain: un-inline Read(InputStream) 2018-07-07 14:22:22 +02:00
Max Kellermann 37897d1550 decoder/flac: move class FlacMetadataChain to separate source 2018-07-07 14:18:00 +02:00
Max Kellermann b153591790 decoder/flac: move FlacIOHandle.?xx to lib/xiph/ 2018-07-07 14:17:03 +02:00
Max Kellermann ee5653338d decoder/flac: fix comment typo 2018-07-07 14:11:28 +02:00
Max Kellermann 032f47c0b0 lib/xiph/FlacMetadataIterator: disallow copying 2018-07-07 14:08:41 +02:00
Max Kellermann 1f4e4dd9b3 lib/xiph/FlacMetadataIterator: reuse default constructor 2018-07-07 14:08:18 +02:00
Max Kellermann d43218ed16 lib/xiph/FlacMetadataIterator: proper CamelCase 2018-07-07 14:07:48 +02:00
Max Kellermann 3d43e4e954 decoder/flac: move class FLACMetadataIterator to separate source 2018-07-07 14:04:37 +02:00
Max Kellermann b0d587ded7 decoder/flac: pass FLAC__Metadata_Chain* to FLACMetadataIterator ctor 2018-07-07 14:04:06 +02:00
Max Kellermann 1245b4a49f decoder/wavpack: merge duplicate code into Scan() 2018-07-07 13:54:02 +02:00
Max Kellermann d4ce6049c9 decoder/wavpack: call TagHandler::OnAudioFormat() 2018-07-07 13:52:58 +02:00
Max Kellermann c236a85c13 decoder/wavpack: add CheckAudioFormat(WavpackContext) 2018-07-07 13:48:49 +02:00
Max Kellermann 9cf43eef67 decoder/wildmidi: call TagHandler::OnAudioFormat() 2018-07-07 13:43:29 +02:00
Max Kellermann ed6d0aa548 decoder/wildmidi: convert WILDMIDI_SAMPLE_RATE to AudioFormat 2018-07-07 13:36:18 +02:00
Max Kellermann 3d27fffc50 decoder/opus: call TagHandler::OnAudioFormat() 2018-07-07 13:34:32 +02:00
Max Kellermann de0ee26432 decoder/sndfile: call TagHandler::OnAudioFormat() 2018-07-07 13:29:39 +02:00
Max Kellermann 45cccbce59 decoder/sndfile: use AtScopeExit()
Fixes memory leaks.
2018-07-07 13:27:26 +02:00
Max Kellermann 479de9c7cb decoder/sndfile: add CheckAudioFormat(SF_INFO) 2018-07-07 13:26:39 +02:00
Max Kellermann 60821232b9 decoder/audiofile: allocate AFvirtualfile with malloc()
afCloseFile() uses free(), so we need to use malloc().
2018-07-07 13:25:01 +02:00
Max Kellermann 9b4156a282 decoder/audiofile: add "noexcept" 2018-07-07 13:21:27 +02:00
Max Kellermann 89b1e27d2e decoder/audiofile: merge duplicate code into CheckAudioFormat(AFfilehandle) 2018-07-07 13:21:09 +02:00
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 9f77d568e2 decoder/mad: call TagHandler::OnAudioFormat() 2018-07-07 13:10:39 +02:00
Max Kellermann 0d0569b9af decoder/mad: merge mad_decoder_total_file_time() into mad_decoder_scan_stream() 2018-07-07 13:09:23 +02:00
Max Kellermann 0f18e7baf9 decoder/mpg123: call TagHandler::OnAudioFormat() 2018-07-07 13:08:06 +02:00
Max Kellermann d8b03d4927 decoder/ffmpeg: call TagHandler::OnAudioFormat() 2018-07-07 13:02:08 +02:00
Max Kellermann 72b6c09a73 db/simple: add an AudioFormat to each Song 2018-07-06 22:49:02 +02:00
Max Kellermann c05bca6f2c tag/Handler: implement FullTagHandler::OnAudioFormat() 2018-07-06 22:46:03 +02:00
Max Kellermann 73c95d1fb2 TagFile: rename exported functions, use CamelCase
And specify whether generic tags are being scanned.
2018-07-06 22:33:35 +02:00
Max Kellermann 2c30e16371 db/simple/Song: remove obsolete comment 2018-07-06 21:50:53 +02:00
Max Kellermann 72437ca9e2 db/simple/Song: use C++11 initializers 2018-07-06 21:49:52 +02:00
Max Kellermann 9be14bbe82 doc/protocol.xml: document the lsinfo response 2018-07-06 21:36:28 +02:00
Max Kellermann d47f37f23a doc/protocol.xml: add command hyperlinks 2018-07-06 21:36:28 +02:00
Max Kellermann a22aed7acf doc/protocol.xml: update reference to Ack.hxx 2018-07-06 21:36:28 +02:00
Max Kellermann 38b58715ae .travis.yml: add build with GCC 8
Also test the newest available GCC version.
2018-07-06 21:31:02 +02:00
Max Kellermann d88e00c0a4 .travis.yml: switch to GCC 6
After commit a72d1200fb, the Travis-CI
build fails, because we have been using GCC 5 there...  so let's
switch to GCC 6 to test the oldest possible GCC version.
2018-07-06 21:30:15 +02:00
Max Kellermann a72d1200fb require GCC 6
Meanwhile, GCC 5 fails to compile MPD due to incomplete C++14
implementation.
2018-07-06 19:44:32 +02:00
Max Kellermann 9a29d02e7e Merge branch 'v0.20.x' 2018-07-06 19:43:01 +02:00
Max Kellermann 6f3c0d0a60 AudioFormat: include cleanup 2018-07-06 19:35:31 +02:00
Max Kellermann 466625f7ad input/curl: use new class HttpStatusError
This way, IsFileNotFound() can detect status 404.
2018-07-06 19:26:11 +02:00
Max Kellermann b8259e604a db/update/{Walk,ExcludeList}: use InputStream to read .mpdignore
Supports .mpdignore on NFS/SMB and others (closes #290).
2018-07-06 19:19:04 +02:00