player.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __BG_PLAYER_H_
00023 #define __BG_PLAYER_H_
00024
00025 #include <gmerlin/playermsg.h>
00026 #include <gmerlin/pluginregistry.h>
00027 #include <gmerlin/msgqueue.h>
00028
00033 #define BG_PLAYER_VOLUME_MIN (-40.0)
00034
00035 typedef struct bg_player_s bg_player_t;
00036
00037
00038
00047 bg_player_t * bg_player_create(bg_plugin_registry_t * plugin_reg);
00048
00065 const bg_parameter_info_t * bg_player_get_parameters(bg_player_t * player);
00066
00074 void bg_player_set_parameter(void * player, const char * name,
00075 const bg_parameter_value_t * val);
00076
00084 void bg_player_add_accelerators(bg_player_t * player,
00085 const bg_accelerator_t * list);
00086
00092 void bg_player_destroy(bg_player_t * player);
00093
00100 void bg_player_add_message_queue(bg_player_t * player,
00101 bg_msg_queue_t * message_queue);
00102
00109 void bg_player_delete_message_queue(bg_player_t * player,
00110 bg_msg_queue_t * message_queue);
00111
00117 void bg_player_run(bg_player_t * player);
00118
00124 void bg_player_quit(bg_player_t * player);
00125
00126
00127
00128
00129
00130
00140 #define BG_PLAY_FLAG_IGNORE_IF_PLAYING (1<<0) //!< Ignore play command, if the player is already playing
00141 #define BG_PLAY_FLAG_IGNORE_IF_STOPPED (1<<1) //!< Ignore play command, if the player is stopped
00142 #define BG_PLAY_FLAG_INIT_THEN_PAUSE (1<<2) //!< Initialize but go to pause status after
00143 #define BG_PLAY_FLAG_RESUME (1<<3) //!< If the player is paused, resume currently played track
00144
00154 void bg_player_play(bg_player_t * player, bg_plugin_handle_t * handle,
00155 int track, int flags, const char * track_name);
00156
00163 void bg_player_seek(bg_player_t * player, gavl_time_t time, int scale);
00164
00170 void bg_player_seek_rel(bg_player_t * player, gavl_time_t time);
00171
00177 void bg_player_set_volume(bg_player_t * player, float volume);
00178
00184 void bg_player_set_volume_rel(bg_player_t * player, float volume);
00185
00190 void bg_player_stop(bg_player_t * player);
00191
00196 void bg_player_pause(bg_player_t * player);
00197
00202 void bg_player_error(bg_player_t * player);
00203
00209 void bg_player_set_oa_plugin(bg_player_t * player, bg_plugin_handle_t * handle);
00210
00216 void bg_player_set_ov_plugin(bg_player_t * player, bg_plugin_handle_t * handle);
00217
00223 void bg_player_set_audio_stream(bg_player_t * player, int stream);
00224
00230 void bg_player_set_video_stream(bg_player_t * player, int stream);
00231
00237 void bg_player_set_subtitle_stream(bg_player_t * player, int stream);
00238
00244 void bg_player_change(bg_player_t * player, int flags);
00245
00250 void bg_player_toggle_mute(bg_player_t * player);
00251
00257 void bg_player_set_chapter(bg_player_t * player, int chapter);
00258
00263 void bg_player_next_chapter(bg_player_t * player);
00264
00269 void bg_player_prev_chapter(bg_player_t * player);
00270
00279 void bg_player_interrupt(bg_player_t * player);
00280
00285 void bg_player_interrupt_resume(bg_player_t * player);
00286
00301 const bg_parameter_info_t * bg_player_get_input_parameters(bg_player_t * player);
00302
00308 void bg_player_set_input_parameter(void * data, const char * name,
00309 const bg_parameter_value_t * val);
00310
00318 const bg_parameter_info_t * bg_player_get_audio_parameters(bg_player_t * player);
00319
00327 const bg_parameter_info_t * bg_player_get_audio_filter_parameters(bg_player_t * player);
00328
00334 void bg_player_set_audio_parameter(void*data, const char * name,
00335 const bg_parameter_value_t*val);
00336
00342 void bg_player_set_audio_filter_parameter(void*data, const char * name,
00343 const bg_parameter_value_t*val);
00344
00351 const bg_parameter_info_t * bg_player_get_video_parameters(bg_player_t * player);
00352
00359 const bg_parameter_info_t * bg_player_get_video_filter_parameters(bg_player_t * player);
00360
00366 void bg_player_set_video_parameter(void*data, const char * name,
00367 const bg_parameter_value_t*val);
00368
00374 void bg_player_set_video_filter_parameter(void*data, const char * name,
00375 const bg_parameter_value_t*val);
00376
00384 const bg_parameter_info_t * bg_player_get_subtitle_parameters(bg_player_t * player);
00385
00391 void bg_player_set_subtitle_parameter(void*data, const char * name, const bg_parameter_value_t*val);
00392
00400 const bg_parameter_info_t * bg_player_get_osd_parameters(bg_player_t * player);
00401
00408 void bg_player_set_osd_parameter(void*data, const char * name, const bg_parameter_value_t*val);
00409
00418 void
00419 bg_player_set_visualization(bg_player_t * p, int enable);
00420
00426 void
00427 bg_player_set_visualization_plugin(bg_player_t * p, const bg_plugin_info_t * plugin_info);
00428
00429
00438 const bg_parameter_info_t *
00439 bg_player_get_visualization_parameters(bg_player_t * player);
00440
00447 void
00448 bg_player_set_visualization_parameter(void*data,
00449 const char * name, const bg_parameter_value_t*val);
00450
00456 void
00457 bg_player_set_visualization_plugin_parameter(void*data,
00458 const char * name,
00459 const bg_parameter_value_t*val);
00460
00461
00466 #endif // __BG_PLAYER_H_