X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fmm_sound_focus.h;h=9ec7f0c0c6af25aa7e76dcdc12cfed11c9019dea;hb=8e8b2c303fd4d0556b535c9069e8ff1b1dc3bbc0;hp=7ccfd299437552ae6a864338d89f95d5eb5c15f8;hpb=e6aaedb4c92aaaca18b1b6f9499179b341738118;p=platform%2Fcore%2Fmultimedia%2Flibmm-sound.git diff --git a/include/mm_sound_focus.h b/include/mm_sound_focus.h index 7ccfd29..9ec7f0c 100644 --- a/include/mm_sound_focus.h +++ b/include/mm_sound_focus.h @@ -34,34 +34,39 @@ extern "C" { #endif +#include + typedef enum { FOCUS_IS_RELEASED, FOCUS_IS_ACQUIRED, } mm_sound_focus_state_e; typedef enum { - FOCUS_FOR_PLAYBACK = 1, + FOCUS_NONE, + FOCUS_FOR_PLAYBACK, FOCUS_FOR_CAPTURE, FOCUS_FOR_BOTH, } mm_sound_focus_type_e; -int mm_sound_focus_get_id(int *id); +int mm_sound_focus_is_cb_thread(bool *result, bool *is_for_watching); -typedef void (*mm_sound_focus_changed_cb) (int id, mm_sound_focus_type_e focus_type, mm_sound_focus_state_e state, const char *reason_for_change, const char *additional_info, void *user_data); -int mm_sound_register_focus(int id, const char *stream_type, mm_sound_focus_changed_cb callback, void *user_data); +typedef void (*mm_sound_focus_changed_cb) (int id, mm_sound_focus_type_e focus_type, mm_sound_focus_state_e state, const char *reason_for_change, int option, const char *ext_info, void *user_data); +int mm_sound_register_focus(const char *stream_type, mm_sound_focus_changed_cb callback, void *user_data, int *id); int mm_sound_unregister_focus(int id); -int mm_sound_acquire_focus(int id, mm_sound_focus_type_e focus_type, const char *additional_info); -int mm_sound_release_focus(int id, mm_sound_focus_type_e focus_type, const char *additional_info); +int mm_sound_set_focus_reacquisition(int id, bool reacquisition); +int mm_sound_get_focus_reacquisition(int id, bool *reacquisition); +int mm_sound_get_stream_type_of_acquired_focus(int focus_type, char **stream_type, int *option, char **ext_info); +int mm_sound_acquire_focus(int id, mm_sound_focus_type_e focus_type, const char *ext_info); +int mm_sound_release_focus(int id, mm_sound_focus_type_e focus_type, const char *ext_info); +int mm_sound_acquire_focus_with_option(int id, mm_sound_focus_type_e focus_type, int option, const char *ext_info); +int mm_sound_release_focus_with_option(int id, mm_sound_focus_type_e focus_type, int option, const char *ext_info); +int mm_sound_update_focus_status(int id, unsigned int status); +int mm_sound_deliver_focus(int src_id, int dst_id, mm_sound_focus_type_e focus_type); -typedef void (*mm_sound_focus_changed_watch_cb) (int id, mm_sound_focus_type_e focus_type, mm_sound_focus_state_e state, const char *reason_for_change, const char *additional_info, void *user_data); +typedef void (*mm_sound_focus_changed_watch_cb) (int id, mm_sound_focus_type_e focus_type, mm_sound_focus_state_e state, const char *reason_for_change, const char *ext_info, void *user_data); int mm_sound_set_focus_watch_callback(mm_sound_focus_type_e focus_type, mm_sound_focus_changed_watch_cb callback, void *user_data, int *id); int mm_sound_unset_focus_watch_callback(int id); -typedef void (*mm_sound_focus_session_interrupt_cb) (mm_sound_focus_state_e state, const char *reason_for_change, bool is_wcb, void *user_data); -int mm_sound_focus_set_session_interrupt_callback(mm_sound_focus_session_interrupt_cb callback, void *user_data); -int mm_sound_focus_unset_session_interrupt_callback(void); - - #ifdef __cplusplus } #endif