MPD
player_thread.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2003-2010 The Music Player Daemon Project
3  * http://www.musicpd.org
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 /* \file
21  *
22  * The player thread controls the playback. It acts as a bridge
23  * between the decoder thread and the output thread(s): it receives
24  * #music_chunk objects from the decoder, optionally mixes them
25  * (cross-fading), applies software volume, and sends them to the
26  * audio outputs via audio_output_all_play().
27  *
28  * It is controlled by the main thread (the playlist code), see
29  * player_control.h. The playlist enqueues new songs into the player
30  * thread and sends it commands.
31  *
32  * The player thread itself does not do any I/O. It synchronizes with
33  * other threads via #GMutex and #GCond objects, and passes
34  * #music_chunk instances around in #music_pipe objects.
35  */
36 
37 #ifndef MPD_PLAYER_THREAD_H
38 #define MPD_PLAYER_THREAD_H
39 
40 void player_create(void);
41 
42 #endif