aboutsummaryrefslogtreecommitdiffstats
path: root/src/output_all.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* copyright year 2011Max Kellermann2011-01-291-1/+1
|
* player_control: removed the global variable "pc"Max Kellermann2011-01-101-2/+3
| | | | | | | Allocate a player_control object where needed, and pass it around. Each "client" object is associated with a "player_control" instance. This prepares multi-player support.
* output: added option "always_on" for radio stationsMax Kellermann2010-03-101-0/+7
| | | | | | | Did you ever accidently click "stop" while feeding a radio station? This option sets the output device to "pause" to disable the "close" method. It falls back to "pause" then, which is specific to the plugin. Some plugins implement it by feeding silence.
* output_all: reset elapsed_time at song borderMax Kellermann2010-01-021-0/+6
| | | | | | | | Another quirk fixed: after the last chunk of a song has been played, the "elapsed_time" variable is set to the chunk's time stamp. When the client receives the PLAYER idle event and asks MPD for the current time stamp, MPD will return the last time stamp of the previous song when it hasn't played the first chunk of the current song yet.
* Update copyright notices.Avuton Olrich2009-12-311-1/+1
|
* output_thread: added command DRAINMax Kellermann2009-11-091-0/+6
| | | | | This command manually drains the hardware buffer. This is useful when the player thread want to make sure that everything has been played.
* {player,output}_thread: fixed elapsed_time quirksMax Kellermann2009-10-301-1/+2
| | | | | | | | Right after seeking and song change, the elapsed_time shows old information, because the output thread didn't finish a full chunk yet. This patch re-adds a second elapsed_time variable, and keeps track of a fallback value, in case the output thread can't provide a reliable value.
* output_plugin: added methods enable() and disable()Max Kellermann2009-10-231-0/+7
| | | | | | | With these methods, an output plugin can allocate some global resources only if it is actually enabled. The method enable() is called after daemonization, which allows for more sophisticated resource allocation during that method.
* player_thread: get "elapsed" from audio outputsMax Kellermann2009-10-081-0/+7
| | | | | | | | | | | | | | | Tracking the "elapsed" time from the chunks which we have sent to the output pipe is very imprecise: since we have implemented the music pipe, we're sending large number of chunks at once, giving the "elapsed" time stamp a resolution of usually more than a second. This patch changes the source of this information to the outputs. If a chunk has been played by all outputs, the "elapsed" time stamp is updated. The new command PLAYER_COMMAND_REFRESH makes the player thread update its status information: it tells the outputs to update the chunk time stamp. After that, player_control.elapsed_time is current.
* output_all: moved code to audio_output_all_wait()Max Kellermann2009-03-251-0/+11
| | | | | | Synchronization with the output thread will be implemented in output_all.c, not in player_thread.c. Currently, that's just a simple g_usleep(1ms).
* all: Update copyright header.Avuton Olrich2009-03-131-3/+4
| | | | | | | | This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
* output: play from a music_pipe objectMax Kellermann2009-03-091-7/+16
| | | | | | | | Instead of passing individual buffers to audio_output_all_play(), pass music_chunk objects. Append all those chunks asynchronously to a music_pipe instance. All output threads may then read chunks from this pipe. This reduces MPD's internal latency by an order of magnitude.
* output_all: added API documentationMax Kellermann2009-02-101-0/+33
|
* output_all: no CamelCaseMax Kellermann2009-02-101-10/+18
| | | | Renamed functions and variables.
* audio: moved code to output_all.cMax Kellermann2009-02-101-0/+69
Moved code which deals with all audio outputs at once into a separate library.