XMMS2

src/includepriv/xmmspriv/xmms_output.h

Go to the documentation of this file.
00001 /*  XMMS2 - X Music Multiplexer System
00002  *  Copyright (C) 2003-2009 XMMS2 Team
00003  *
00004  *  PLUGINS ARE NOT CONSIDERED TO BE DERIVED WORK !!!
00005  *
00006  *  This library is free software; you can redistribute it and/or
00007  *  modify it under the terms of the GNU Lesser General Public
00008  *  License as published by the Free Software Foundation; either
00009  *  version 2.1 of the License, or (at your option) any later version.
00010  *
00011  *  This library is distributed in the hope that it will be useful,
00012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  *  Lesser General Public License for more details.
00015  */
00016 
00017 
00018 
00019 
00020 #ifndef _XMMS_OUTPUT_INT_H_
00021 #define _XMMS_OUTPUT_INT_H_
00022 
00023 #include "xmms/xmms_outputplugin.h"
00024 #include "xmmspriv/xmms_playlist.h"
00025 #include "xmmspriv/xmms_plugin.h"
00026 
00027 /*
00028  * Private function prototypes -- do NOT use in plugins.
00029  */
00030 
00031 
00032 xmms_output_t *xmms_output_new (xmms_output_plugin_t *plugin, xmms_playlist_t *playlist);
00033 
00034 void xmms_output_flush (xmms_output_t *output);
00035 
00036 /* returns the current latency: time left in ms until the data currently read
00037  *                              from the latest xform in the chain will actually be played
00038   */
00039 guint32 xmms_output_latency (xmms_output_t *output);
00040 
00041 gboolean xmms_output_plugin_switch (xmms_output_t *output, xmms_output_plugin_t *new_plugin);
00042 
00043 #endif