Commit Graph

  • e786207cc2 system/PeriodClock: indent with tabs Max Kellermann 2016-12-27 22:49:13 +01:00
  • b042095ac2 event/Loop: use std::chrono Max Kellermann 2016-12-27 23:06:34 +01:00
  • 3413d1bf23 config/Global: add std::chrono::steady_clock::duration overload Max Kellermann 2016-12-28 01:12:38 +01:00
  • 018c5ef731 event/Loop: use C++11 initializers Max Kellermann 2016-12-27 23:08:11 +01:00
  • fdb136f1fa StateFile: use C++11 initializers Max Kellermann 2016-12-27 23:13:03 +01:00
  • 9e33074735 output/Thread: move software_mixer_set_filter() call to Open() Max Kellermann 2016-12-27 14:44:39 +01:00
  • d6d465cdf4 output/Thread: fix assertion failure in CLOSE handler Max Kellermann 2016-12-27 07:57:22 +01:00
  • e76573cc1a output/Thread: use "true" instead of "1" Max Kellermann 2016-12-27 07:53:02 +01:00
  • 3fa6dc71e2 output/Source: add assertion Max Kellermann 2016-12-26 20:10:00 +01:00
  • 6fec269844 output/SharedPipeConsumer: add thread-safety documentation Max Kellermann 2016-12-26 20:09:10 +01:00
  • b6004b6837 output/Source: release the mutex while the filter runs Max Kellermann 2016-12-26 20:02:15 +01:00
  • 86d3b25aec output/Source: add Fill(), ReadTag(), PeekData(), ConsumeData() Max Kellermann 2016-12-26 13:53:22 +01:00
  • 8a407bfbb0 output/Thread: move code to new class AudioOutputSource Max Kellermann 2016-12-20 16:37:36 +01:00
  • d30a590d9e configure.ac: use MPD_AUTO for libsndio and Haiku Max Kellermann 2016-12-26 13:23:07 +01:00
  • f95e404be1 outputThread: optimize Command::OPEN Max Kellermann 2016-12-24 14:05:11 +01:00
  • ffb8b4fc68 output/Internal: add method ClearTailChunk() Max Kellermann 2016-12-22 14:46:59 +01:00
  • f86d6b0162 output/Control: move pipe initialization to the OutputThread Max Kellermann 2016-12-20 23:19:12 +01:00
  • 71c72ed072 output/Control: use Command::OPEN to unpause, remove special case Max Kellermann 2016-12-21 13:01:38 +01:00
  • a8d343e07b output/Thread: update in_audio_format before ReopenFilter() Max Kellermann 2016-12-22 14:04:34 +01:00
  • d020172181 output/Thread: keep the device open if the audio format hasn't changed Max Kellermann 2016-12-21 17:45:01 +01:00
  • e5c9f6c1fe output/Internal: add attribute request.audio_format Max Kellermann 2016-12-21 17:00:29 +01:00
  • 176dc11748 output/Thread: ao_filter_chunk() throws exception on error Max Kellermann 2016-12-20 17:35:32 +01:00
  • c2abd02b9b output/Thread: use ConstBuffer::skip_front() Max Kellermann 2016-12-20 17:38:08 +01:00
  • 12ecfdd423 output/Thread: convert pointer to reference Max Kellermann 2016-12-20 17:35:38 +01:00
  • 67cfbfc2f3 output/SharedPipeConsumer: update API documentation Max Kellermann 2016-12-20 16:35:14 +01:00
  • fc83d38e67 input/curl: wrap CURLM* in new class CurlMulti Max Kellermann 2016-12-19 16:41:12 +01:00
  • 7063c423eb input/curl: rename class CurlMulti to CurlGlobal Max Kellermann 2016-12-19 16:37:01 +01:00
  • 36b93993cf input/curl: wrap CURL* in new class CurlEasy Max Kellermann 2016-12-19 14:42:04 +01:00
  • ceffc5aa72 input/curl: remove duplicate InitEasy() call Max Kellermann 2016-12-19 14:38:50 +01:00
  • ccb45b6f6e output/Client: new interface to replace direct access to class PlayerControl Max Kellermann 2016-12-14 12:14:57 +01:00
  • d2e47e014a player/Thread: reduce unlock/lock overhead in PlayerCommand::PAUSE handler Max Kellermann 2016-12-14 20:24:52 +01:00
  • a5b8d7917f player/Thread: mutex must be locked inside OpenOutput() Max Kellermann 2016-12-14 20:23:23 +01:00
  • d0e735ee4b player/Thread: mutex must be locked inside CheckDecoderStartup() Max Kellermann 2016-12-14 20:13:18 +01:00
  • ece5971027 output/Multiple: move Wait() to struct PlayerControl Max Kellermann 2016-12-14 12:54:19 +01:00
  • 7c6b0d5c31 player/Thread: use class ScopeLock Max Kellermann 2016-12-14 12:54:37 +01:00
  • 03151310cf player/Control: add method LockApplyBorderPause() Max Kellermann 2016-12-14 13:09:48 +01:00
  • baa2bc0c38 player/Control: add method LockSetOutputError() Max Kellermann 2016-12-14 13:01:17 +01:00
  • 7e1b53480e output/MultipleOutputs: parallelize EnableDisable() Max Kellermann 2016-12-14 08:41:22 +01:00
  • 6425b4f9f5 output/MultipleOutputs: parallelize AudioOutput destruction Max Kellermann 2016-12-14 08:15:33 +01:00
  • fb907f5f76 output/Thread: KILL implicitly closes and disables the AudioOutput Max Kellermann 2016-12-14 08:29:09 +01:00
  • b107a1583f output/MultipleOutputs: move code to AudioOutput::EnableDisableWait() Max Kellermann 2016-12-14 08:00:43 +01:00
  • ced3f320eb output/MultipleOutputs: reduce lock/unlock calls in EnableDisable() Max Kellermann 2016-12-14 07:54:05 +01:00
  • a9d7293818 output/Thread: wake up the player thread periodically while playing Max Kellermann 2016-12-13 22:39:20 +01:00
  • add42e9edf NEWS: add "player" section Max Kellermann 2016-12-13 22:39:29 +01:00
  • 265ad4b96a output/Thread: eliminate redundant nullptr check Max Kellermann 2016-12-13 22:18:33 +01:00
  • 92eeb4969f output/Thread: don't wake up the player after receiving command in Play() Max Kellermann 2016-12-13 22:17:06 +01:00
  • 6fcddaf8fa output/Thread: use AtScopeExit() to revert the in_playback_loop flag Max Kellermann 2016-12-13 22:15:52 +01:00
  • 41fd583fbc output/Thread: eliminate one ScopeLock Max Kellermann 2016-12-13 21:57:03 +01:00
  • ceba6816de output/Thread: split Open() Max Kellermann 2016-12-13 21:46:27 +01:00
  • 093cb475bb output/Thread: simplify the retry_audio_format declaration Max Kellermann 2016-12-13 21:34:43 +01:00
  • d44790b35f output/Thread: reduce locking further in Open() Max Kellermann 2016-12-13 21:26:28 +01:00
  • f8164a3dd1 output/Thread: unlock mutex during OpenFilter() Max Kellermann 2016-12-13 21:22:47 +01:00
  • c20126598f output/Thread: remove unused variable Max Kellermann 2016-12-13 21:24:05 +01:00
  • 6c818bb37a AudioFormat: add method WithMask(), shortcut for ApplyMask() Max Kellermann 2016-12-13 20:55:48 +01:00
  • 8cb160b1f8 test/run_convert: pass out_audio_format to PcmConvert::Open() Max Kellermann 2016-12-13 20:57:36 +01:00
  • df91f3738a output/Thread: remove a useless out_audio_format setting Max Kellermann 2016-12-13 20:43:29 +01:00
  • b5b268f606 output/Thread: remove another redundant "open" check Max Kellermann 2016-12-13 20:41:54 +01:00
  • ce6b8c94a2 output/Thread: convert redundant runtime check to assertion Max Kellermann 2016-12-13 20:29:16 +01:00
  • 6e643fe58b output/Thread: don't deinitialize the pipe in Close() Max Kellermann 2016-12-13 20:28:19 +01:00
  • 2bf91a0487 output/Internal: merge REOPEN and OPEN Max Kellermann 2016-12-13 20:07:00 +01:00
  • 2775d747ac output/Thread: move MusicPipe code to class SharedPipeConsumer Max Kellermann 2016-12-12 15:24:38 +01:00
  • 99659e4cf9 Merge tag 'v0.19.21' Max Kellermann 2016-12-13 10:59:23 +01:00
  • 3bbcda917c release v0.19.21 v0.19.21 Max Kellermann 2016-12-13 10:54:04 +01:00
  • 7e43fb79af Makefile.am: fix mpd.socket path in EXTRA_DIST Max Kellermann 2016-12-13 10:53:41 +01:00
  • eb2b567da6 NEWS: fix version number Max Kellermann 2016-12-13 10:45:53 +01:00
  • ab332d7b2e systemd: add user unit Max Kellermann 2016-12-13 08:41:55 +01:00
  • 53e22b81ef systemd: add "system" sub directory Max Kellermann 2016-12-13 08:42:05 +01:00
  • 3fc9d50adb doc/user: fix --with-systemdsystemunitdir example Max Kellermann 2016-12-13 10:23:57 +01:00
  • c2da6dd45b test/test_queue_priority: fix unit test failure after recent "setprio" change Max Kellermann 2016-12-13 08:36:42 +01:00
  • 7146f825b2 decoder/ffmpeg: fix double free bug Max Kellermann 2016-12-13 08:34:05 +01:00
  • f61a5f5200 configure.ac: prepare for 0.19.21 Max Kellermann 2016-12-13 08:31:21 +01:00
  • dc05dd7ca1 output/Multiple: make chunk_is_consumed_in() an AudioOutput method Max Kellermann 2016-12-11 21:59:28 +01:00
  • 57dd344f3b decoder/wavpack: implement WavpackStreamReader64 if available Max Kellermann 2016-12-10 00:24:54 +01:00
  • f7f59df8aa decoder/wavpack: move code to WavpackInput methods Max Kellermann 2016-12-10 00:17:46 +01:00
  • 0525a6f90f decoder/wavpack: use WavpackSeekSample64() if available Max Kellermann 2016-12-10 00:11:04 +01:00
  • 7b4305d81b decoder/wavpack: seek errors are fatal Max Kellermann 2016-12-10 00:11:29 +01:00
  • 94e9e93fa4 ReplayGainGlobal: move replay_gain_config into struct Config Max Kellermann 2016-12-03 13:15:56 +01:00
  • d2a1294e9a Main: add struct Config, empty currently Max Kellermann 2016-12-10 00:00:50 +01:00
  • 3d897f18cd test/read_tags: use ScanGenericTags(InputStream&) after ScanStream() Max Kellermann 2016-12-09 23:47:21 +01:00
  • 68c14d1e53 test/read_tags: catch exceptions from ScanFile() before falling back to ScanStream() Max Kellermann 2016-12-09 23:50:38 +01:00
  • 48089394a5 test/read_tags: use AtScopeExit() Max Kellermann 2016-12-09 23:49:16 +01:00
  • 30bd190b41 decoder/wavpack: implement scan_stream() Max Kellermann 2016-12-09 23:14:58 +01:00
  • cf93cd9307 decoder/wavpack: convert WavpackInput::client to pointer Max Kellermann 2016-12-09 23:23:02 +01:00
  • f40816e063 decoder/wavpack: add WavpackOpen() wrappers which throw exception Max Kellermann 2016-12-09 23:15:40 +01:00
  • 3759f29852 decoder/wavpack: move wavpack_scan_file() down Max Kellermann 2016-12-09 23:15:06 +01:00
  • bc5555933f decoder/wavpack: support native DSD Max Kellermann 2016-12-09 21:26:38 +01:00
  • ead7ae8504 decoder/wavpack: use template for format_sample_X() Max Kellermann 2016-12-09 22:53:01 +01:00
  • ad5abba8c6 decoder/wavpack: move 8 and 16 bit conversion to separate functions Max Kellermann 2016-12-09 22:49:07 +01:00
  • 61296cedd2 decoder/wavpack: rename format_samples_float() to format_samples_nop() Max Kellermann 2016-12-09 22:47:32 +01:00
  • d9c29a2c4f decoder/wavpack: use std::copy_n() Max Kellermann 2016-12-09 22:20:07 +01:00
  • f5172e6b84 decoder/wavpack: use int16_t instead of uint16_t Max Kellermann 2016-12-09 22:21:31 +01:00
  • 544bcbe903 decoder/wavpack: use WavpackGetNumSamples64() if available Max Kellermann 2016-12-09 22:09:32 +01:00
  • f35dab1b56 decoder/wavpack: check WavpackGetNumSamples()==-1 Max Kellermann 2016-12-09 21:46:29 +01:00
  • caee420087 decoder/wavpack: move code to GetDuration() Max Kellermann 2016-12-09 21:45:22 +01:00
  • e8c374113e decoder/wavpack: make is_float const Max Kellermann 2016-12-09 21:30:31 +01:00
  • 98a241a730 decoder/wavpack: use WavpackGetReducedChannels() Max Kellermann 2016-12-09 21:23:38 +01:00
  • be8297d6f6 decoder/wavpack: basic DSD support (WavPack 5) Max Kellermann 2016-12-09 21:03:47 +01:00
  • 09da80e9f4 tag/ApeTag: don't export ape_tags[] Max Kellermann 2016-12-09 20:59:07 +01:00
  • df4ecf63a8 decoder/wavpack: disable OPEN_TAGS Max Kellermann 2016-12-09 20:48:37 +01:00
  • b4d1937857 decoder/wavpack: change norm_offset to 0 Max Kellermann 2016-12-09 20:43:33 +01:00