gmerlin
Main Page
Related Pages
Modules
Data Structures
Files
File List
include
gmerlin
player.h
1
/*****************************************************************
2
* gmerlin - a general purpose multimedia framework and applications
3
*
4
* Copyright (c) 2001 - 2011 Members of the Gmerlin project
5
* gmerlin-general@lists.sourceforge.net
6
* http://gmerlin.sourceforge.net
7
*
8
* This program is free software: you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation, either version 2 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program. If not, see <http://www.gnu.org/licenses/>.
20
* *****************************************************************/
21
22
#ifndef __BG_PLAYER_H_
23
#define __BG_PLAYER_H_
24
25
#include <gmerlin/playermsg.h>
26
#include <gmerlin/pluginregistry.h>
27
#include <gmerlin/msgqueue.h>
28
33
#define BG_PLAYER_VOLUME_MIN (-40.0)
34
35
typedef
struct
bg_player_s bg_player_t;
36
37
/* player.c */
38
47
bg_player_t *
bg_player_create
(
bg_plugin_registry_t
* plugin_reg);
48
65
const
bg_parameter_info_t
*
bg_player_get_parameters
(bg_player_t * player);
66
74
void
bg_player_set_parameter
(
void
* player,
const
char
* name,
75
const
bg_parameter_value_t
* val);
76
84
void
bg_player_add_accelerators
(bg_player_t * player,
85
const
bg_accelerator_t * list);
86
92
void
bg_player_destroy
(bg_player_t * player);
93
100
void
bg_player_add_message_queue
(bg_player_t * player,
101
bg_msg_queue_t
* message_queue);
102
109
void
bg_player_delete_message_queue
(bg_player_t * player,
110
bg_msg_queue_t
* message_queue);
111
117
void
bg_player_run
(bg_player_t * player);
118
124
void
bg_player_quit
(bg_player_t * player);
125
126
/*
127
* Thread save functions for controlling the player (see playercmd.c)
128
* These just create messages and send them into the command queue
129
*/
130
140
#define BG_PLAY_FLAG_IGNORE_IF_PLAYING (1<<0)
141
#define BG_PLAY_FLAG_IGNORE_IF_STOPPED (1<<1)
142
#define BG_PLAY_FLAG_INIT_THEN_PAUSE (1<<2)
143
#define BG_PLAY_FLAG_RESUME (1<<3)
144
145
154
void
bg_player_play
(bg_player_t * player,
bg_plugin_handle_t
* handle,
155
int
track,
int
flags,
const
char
* track_name);
156
163
void
bg_player_seek
(bg_player_t * player,
gavl_time_t
time,
int
scale);
164
170
void
bg_player_seek_rel
(bg_player_t * player,
gavl_time_t
time);
171
177
void
bg_player_set_volume
(bg_player_t * player,
float
volume);
178
184
void
bg_player_set_volume_rel
(bg_player_t * player,
float
volume);
185
190
void
bg_player_stop
(bg_player_t * player);
191
196
void
bg_player_pause
(bg_player_t * player);
197
202
void
bg_player_error
(bg_player_t * player);
203
209
void
bg_player_set_oa_plugin
(bg_player_t * player,
bg_plugin_handle_t
* handle);
210
216
void
bg_player_set_ov_plugin
(bg_player_t * player,
bg_plugin_handle_t
* handle);
217
223
void
bg_player_set_audio_stream
(bg_player_t * player,
int
stream);
224
230
void
bg_player_set_video_stream
(bg_player_t * player,
int
stream);
231
237
void
bg_player_set_subtitle_stream
(bg_player_t * player,
int
stream);
238
244
void
bg_player_change
(bg_player_t * player,
int
flags);
245
250
void
bg_player_toggle_mute
(bg_player_t * player);
251
257
void
bg_player_set_chapter
(bg_player_t * player,
int
chapter);
258
263
void
bg_player_next_chapter
(bg_player_t * player);
264
269
void
bg_player_prev_chapter
(bg_player_t * player);
270
279
void
bg_player_interrupt
(bg_player_t * player);
280
285
void
bg_player_interrupt_resume
(bg_player_t * player);
286
301
const
bg_parameter_info_t
*
bg_player_get_input_parameters
(bg_player_t * player);
302
308
void
bg_player_set_input_parameter
(
void
* data,
const
char
* name,
309
const
bg_parameter_value_t
* val);
310
318
const
bg_parameter_info_t
*
bg_player_get_audio_parameters
(bg_player_t * player);
319
327
const
bg_parameter_info_t
*
bg_player_get_audio_filter_parameters
(bg_player_t * player);
328
334
void
bg_player_set_audio_parameter
(
void
*data,
const
char
* name,
335
const
bg_parameter_value_t
*val);
336
342
void
bg_player_set_audio_filter_parameter
(
void
*data,
const
char
* name,
343
const
bg_parameter_value_t
*val);
344
351
const
bg_parameter_info_t
*
bg_player_get_video_parameters
(bg_player_t * player);
352
359
const
bg_parameter_info_t
*
bg_player_get_video_filter_parameters
(bg_player_t * player);
360
366
void
bg_player_set_video_parameter
(
void
*data,
const
char
* name,
367
const
bg_parameter_value_t
*val);
368
374
void
bg_player_set_video_filter_parameter
(
void
*data,
const
char
* name,
375
const
bg_parameter_value_t
*val);
376
384
const
bg_parameter_info_t
*
bg_player_get_subtitle_parameters
(bg_player_t * player);
385
391
void
bg_player_set_subtitle_parameter
(
void
*data,
const
char
* name,
const
bg_parameter_value_t
*val);
392
400
const
bg_parameter_info_t
*
bg_player_get_osd_parameters
(bg_player_t * player);
401
408
void
bg_player_set_osd_parameter
(
void
*data,
const
char
* name,
const
bg_parameter_value_t
*val);
409
418
void
419
bg_player_set_visualization
(bg_player_t * p,
int
enable);
420
426
void
427
bg_player_set_visualization_plugin
(bg_player_t * p,
const
bg_plugin_info_t
* plugin_info);
428
429
438
const
bg_parameter_info_t
*
439
bg_player_get_visualization_parameters
(bg_player_t * player);
440
447
void
448
bg_player_set_visualization_parameter
(
void
*data,
449
const
char
* name,
const
bg_parameter_value_t
*val);
450
456
void
457
bg_player_set_visualization_plugin_parameter
(
void
*data,
458
const
char
* name,
459
const
bg_parameter_value_t
*val);
460
461
466
#endif // __BG_PLAYER_H_
Generated by
1.8.1