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
00056 void bg_player_add_accelerators(bg_player_t * player,
00057 const bg_accelerator_t * list);
00058
00064 void bg_player_destroy(bg_player_t * player);
00065
00072 void bg_player_add_message_queue(bg_player_t * player,
00073 bg_msg_queue_t * message_queue);
00074
00081 void bg_player_delete_message_queue(bg_player_t * player,
00082 bg_msg_queue_t * message_queue);
00083
00089 void bg_player_run(bg_player_t * player);
00090
00096 void bg_player_quit(bg_player_t * player);
00097
00098
00099
00100
00101
00102
00112 #define BG_PLAY_FLAG_IGNORE_IF_PLAYING (1<<0) //!< Ignore play command, if the player is already playing
00113 #define BG_PLAY_FLAG_IGNORE_IF_STOPPED (1<<1) //!< Ignore play command, if the player is stopped
00114 #define BG_PLAY_FLAG_INIT_THEN_PAUSE (1<<2) //!< Initialize but go to pause status after
00115 #define BG_PLAY_FLAG_RESUME (1<<3) //!< If the player is paused, resume currently played track
00116
00126 void bg_player_play(bg_player_t * player, bg_plugin_handle_t * handle,
00127 int track, int flags, const char * track_name);
00128
00135 void bg_player_seek(bg_player_t * player, gavl_time_t time);
00136
00142 void bg_player_seek_rel(bg_player_t * player, gavl_time_t time);
00143
00149 void bg_player_set_volume(bg_player_t * player, float volume);
00150
00156 void bg_player_set_volume_rel(bg_player_t * player, float volume);
00157
00162 void bg_player_stop(bg_player_t * player);
00163
00168 void bg_player_pause(bg_player_t * player);
00169
00174 void bg_player_error(bg_player_t * player);
00175
00181 void bg_player_set_oa_plugin(bg_player_t * player, bg_plugin_handle_t * handle);
00182
00188 void bg_player_set_ov_plugin(bg_player_t * player, bg_plugin_handle_t * handle);
00189
00195 void bg_player_set_audio_stream(bg_player_t * player, int stream);
00196
00202 void bg_player_set_video_stream(bg_player_t * player, int stream);
00203
00209 void bg_player_set_subtitle_stream(bg_player_t * player, int stream);
00210
00216 void bg_player_change(bg_player_t * player, int flags);
00217
00222 void bg_player_toggle_mute(bg_player_t * player);
00223
00229 void bg_player_set_chapter(bg_player_t * player, int chapter);
00230
00235 void bg_player_next_chapter(bg_player_t * player);
00236
00241 void bg_player_prev_chapter(bg_player_t * player);
00242
00251 void bg_player_interrupt(bg_player_t * player);
00252
00257 void bg_player_interrupt_resume(bg_player_t * player);
00258
00273 const bg_parameter_info_t * bg_player_get_input_parameters(bg_player_t * player);
00274
00280 void bg_player_set_input_parameter(void * data, const char * name,
00281 const bg_parameter_value_t * val);
00282
00290 const bg_parameter_info_t * bg_player_get_audio_parameters(bg_player_t * player);
00291
00299 const bg_parameter_info_t * bg_player_get_audio_filter_parameters(bg_player_t * player);
00300
00306 void bg_player_set_audio_parameter(void*data, const char * name,
00307 const bg_parameter_value_t*val);
00308
00314 void bg_player_set_audio_filter_parameter(void*data, const char * name,
00315 const bg_parameter_value_t*val);
00316
00323 const bg_parameter_info_t * bg_player_get_video_parameters(bg_player_t * player);
00324
00331 const bg_parameter_info_t * bg_player_get_video_filter_parameters(bg_player_t * player);
00332
00338 void bg_player_set_video_parameter(void*data, const char * name,
00339 const bg_parameter_value_t*val);
00340
00346 void bg_player_set_video_filter_parameter(void*data, const char * name,
00347 const bg_parameter_value_t*val);
00348
00355 const bg_parameter_info_t * bg_player_get_subtitle_parameters(bg_player_t * player);
00361 void bg_player_set_subtitle_parameter(void*data, const char * name, const bg_parameter_value_t*val);
00362
00369 const bg_parameter_info_t * bg_player_get_osd_parameters(bg_player_t * player);
00375 void bg_player_set_osd_parameter(void*data, const char * name, const bg_parameter_value_t*val);
00376
00377
00386 void
00387 bg_player_set_visualization(bg_player_t * p, int enable);
00388
00394 void
00395 bg_player_set_visualization_plugin(bg_player_t * p, const bg_plugin_info_t * plugin_info);
00396
00397
00406 const bg_parameter_info_t *
00407 bg_player_get_visualization_parameters(bg_player_t * player);
00408
00414 void
00415 bg_player_set_visualization_parameter(void*data,
00416 const char * name, const bg_parameter_value_t*val);
00417
00423 void
00424 bg_player_set_visualization_plugin_parameter(void*data,
00425 const char * name,
00426 const bg_parameter_value_t*val);
00427
00428
00433 #endif // __BG_PLAYER_H_