2
* player.h - Simple media player based on GStreamer
4
* Copyright (C) 2007-2008 Johannes H. Jensen <joh@pseudoberries.com>
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version 2
9
* of the License, or (at your option) any later version.
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21
* Johannes H. Jensen <joh@pseudoberries.com>
32
MEDIA_PLAYER_INVALID = 0,
38
typedef struct _MediaPlayer MediaPlayer;
41
* Callback for when the media player's state changes.
43
typedef void (*MediaPlayerStateChangeCallback) (MediaPlayer *player, MediaPlayerState state, gpointer data);
46
* Callback for when an error occurs in the media player.
47
* The error details is put in the error argument. This value
48
* should _never_ be freed in the callback!
50
typedef void (*MediaPlayerErrorHandler) (MediaPlayer *player, GError *error, gpointer data);
55
MediaPlayerState state;
59
MediaPlayerStateChangeCallback state_changed;
60
MediaPlayerErrorHandler error_handler;
62
gpointer state_changed_data;
63
gpointer error_handler_data;
67
* Create a new media player.
69
* @uri The file to play.
70
* @loop Wether to loop or not.
71
* @state_callback An optional #MediaPlayerStateChangeCallback which will be
72
* notified when the state of the player changes.
73
* @data Data for the state_callback
74
* @error_handler An optional #MediaPlayerErrorHandler which will be notified
76
* @error_data Data for the error_handler.
80
media_player_new (const gchar *uri, gboolean loop,
81
MediaPlayerStateChangeCallback state_callback, gpointer data,
82
MediaPlayerErrorHandler error_handler, gpointer error_data);
85
* Free a media player.
88
media_player_free (MediaPlayer *player);
91
* Set the uri of player.
94
media_player_set_uri (MediaPlayer *player, const gchar *uri);
97
* Get the uri of player.
102
media_player_get_uri (MediaPlayer *player);
105
* Set media player state.
108
media_player_set_state (MediaPlayer *player, MediaPlayerState state);
114
media_player_start (MediaPlayer *player);
120
media_player_stop (MediaPlayer *player);