summaryrefslogtreecommitdiff
path: root/src/output/MultipleOutputs.hxx
AgeCommit message (Collapse)Author
2020-04-08[cppcheck] convert several functions to use std::all_ofRosen Penev
std::all_of becomes constexpr in C++20. I'm not sure it results in better performance. Found with useStlAlgorithm Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12replace assert.h with cassertRosen Penev
The former was deprecated with C++14. According to the C++11 and C++17 standards, both files are identical. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-01-20command/partition: add command "delpartition"Max Kellermann
2020-01-20command/partition: don't create null output in new partitionsMax Kellermann
No output at all is fine. If the partition needs an output, it must be moved there, but having just a null output isn't helpful.
2020-01-20output/multiple: add "client" field, replacing the "client" parameterMax Kellermann
By eliminating GetAnyClient(), we can have instances with no outputs at all.
2020-01-18add "moveoutput" commandMax Kellermann
2020-01-18AudioFormat: move to pcm/Max Kellermann
2020-01-18output/MultipleOutputs: update API documentationMax Kellermann
2020-01-18copyright year 2020Max Kellermann
2019-09-26output/MultipleOutputs: add method IsOpen()Max Kellermann
2019-09-26output/MultipleOutputs: add method HasName()Max Kellermann
2019-06-17Copyright year 2019Max Kellermann
2019-04-26output/MultipleOutputs: simplify locking in CheckPipe()Max Kellermann
Instead of keeping all open outputs locked, let ClearTailChunk() stall playback until MultipleOutputs::CheckPipe() has updated the MusicPipe.
2019-04-26output/MultipleOutputs: wrap AudioOutputControl in std::unique_ptr<>Max Kellermann
2018-10-31*: copyright year 2018Max Kellermann
2018-08-20Compiler.h: move to util/Max Kellermann
2018-07-17output/MultipleOutputs: use struct ConfigDataMax Kellermann
2018-06-23output/Control: add another Cond attribute, replacing audio_output_client_notifyMax Kellermann
2018-06-23player, decoder, output: wrap MusicPipe in std::shared_ptr/std::unique_ptrMax Kellermann
2018-06-23MusicPipe: eliminate the unused MusicBuffer referenceMax Kellermann
This requires re-adding the reference to struct DecoderControl, which was removed recently by commit 9f14e7a98d8be5cc4b916456df0124b65ece8ae4
2018-06-22MusicChunkPtr: managed MusicChunk pointerMax Kellermann
Make all uses of MusicChunk safe.
2018-06-22MusicPipe: add MusicBuffer referenceMax Kellermann
This tiny amount of overhead allows omitting the MusicBuffer in Clear().
2018-06-22output/multiple: update API documentationMax Kellermann
2017-12-29player/Outputs: abstract interface wrapping class MultipleOutputsMax Kellermann
2017-12-29output/Multiple: add "noexcept"Max Kellermann
2017-08-07filter/Internal: rename struct AudioOutput to FilteredAudioOutputMax Kellermann
Prepare to add an abstract class AudioOutput, to be implemented by plugins, to get rid of the C-style vtable.
2017-06-04Merge tag 'v0.20.9'Max Kellermann
release v0.20.9
2017-06-04*: add lost of "noexcept" specificationsMax Kellermann
2017-05-15Merge tag 'v0.20.7'Max Kellermann
release v0.20.7
2017-05-08*: add "noexcept" to many, many function prototypesMax Kellermann
This eliminates some overhead, because the compiler doesn't need to consider these functions throwing.
2017-04-28output/Control: add struct AudioOutputControlMax Kellermann
Will move attributes from struct AudioOutput that are specific to the OutputThread. The new struct AudioOutputControl is a holder for the AudioOutput pointer. This prepares for making the output list more dynamic, to allow moving outputs to between partitions.
2017-02-17output/MultipleOutputs: add method AddNullOutput()Max Kellermann
2017-01-03update copyright yearMax Kellermann
2016-12-29output/Control: pass "force" flag to LockUpdate()Max Kellermann
Reduce overhead by eliminating MultipleOutputs::ResetReopen().
2016-12-14output/Client: new interface to replace direct access to class PlayerControlMax Kellermann
2016-12-14output/Multiple: move Wait() to struct PlayerControlMax Kellermann
Eliminate a dependency from MultipleOutputs on PlayerControl.
2016-12-03filter/ReplayGain: add ReplayGainConfig copyMax Kellermann
Remove dependency on ReplayGain global variables.
2016-11-24ReplayGainInfo: move enum ReplayGainMode to separate headerMax Kellermann
2016-11-09output/Plugin: remove 'Error&' parameters, use C++ exceptions onlyMax Kellermann
2016-11-09output/Multiple: migrate from class Error to C++ exceptionsMax Kellermann
2016-04-21output/MultipleOutputs: use C++11 initializersMax Kellermann
2016-03-01*: include cleanup (using iwyu)Max Kellermann
2016-02-26update copyright year to 2016Max Kellermann
2015-03-17*: doxygen fixupsMax Kellermann
2015-01-01Copyright year 2015Max Kellermann
2014-08-29MultipleOutputs: use SignedSongTime for elapsed_timeMax Kellermann
2014-08-12MusicChunk: rename struct to MusicChunkMax Kellermann
2014-02-19Mixer: add class MixerListenerMax Kellermann
Use a listener interface instead of GlobalEvents.
2014-02-05MixerPlugin: add EventLoop& init() parameterMax Kellermann
2014-01-28output: rename struct audio_output to AudioOutputMax Kellermann