#include <mm_session.h>
#include <mm_session_private.h>
-#include <audio-session-manager.h>
#include <mm_sound.h>
#include <mm_sound_focus.h>
*/
class CAudioSessionHandler {
public:
- enum EAudioSessionType {
+ enum class EAudioSessionType : unsigned int {
AUDIO_SESSION_TYPE_CAPTURE,
AUDIO_SESSION_TYPE_PLAYBACK
};
- private:
- /* Static Member */
- static int sCaptureRef;
- static int sFocusRef;
-
- /* Members */
- int mId;
- int mOptions;
-
- EAudioSessionType mAudioSession;
- MMSessionType mMultimediaSession;
+ /* Constructor & Destructor */
+ CAudioSessionHandler(EAudioSessionType sessionType, CAudioInfo& audioInfo, IAudioSessionEventListener* listener);
+ virtual ~CAudioSessionHandler();
- mm_sound_focus_type_e mFocusType; /* For audio focus */
- mm_sound_focus_state_e mState; /* For audio focus */
- char* mReasonForChange; /* For audio focus */
- char* mAdditionalInfo; /* For audio focus */
+ /* Methods */
+ virtual void initialize() throw(CAudioError);
+ virtual void finalize();
- CAudioInfo mAudioInfo; /* Referenced from CAudioIO */
+ bool isSkipSessionEvent() throw(CAudioError);
- IAudioSessionEventListener* mpEventListener;
+ void registerSound() throw(CAudioError);
+ void unregisterSound() throw(CAudioError);
- bool mIsInit;
+ void updatePlaying() throw(CAudioError);
+ void updateStop() throw(CAudioError);
+ void disableSessionHandler() throw(CAudioError);
- bool mUseFocus;
- int mSubscribeId;
+ /* Setter & Getter */
+ int getId();
+ int getOptions();
+ EAudioSessionType getAudioSession();
+ MMSessionType getMultimediaSession();
+ int getSubscribeId();
+ CAudioInfo getAudioInfo();
- struct stream_type_table_s {
+ private:
+ struct __streamTypeTable {
const char* name;
MMSessionType type;
};
- const struct stream_type_table_s stream_type_table_in[MM_SESSION_TYPE_NUM] = {
+ const struct __streamTypeTable __STREAM_TYPE_TABLE_IN[MM_SESSION_TYPE_NUM] = {
{"media", MM_SESSION_TYPE_MEDIA},
{"media", MM_SESSION_TYPE_MEDIA_RECORD},
{"media", MM_SESSION_TYPE_ALARM},
{"media", MM_SESSION_TYPE_RECORD_AUDIO},
{"media", MM_SESSION_TYPE_RECORD_VIDEO}
};
- const struct stream_type_table_s stream_type_table_out[MM_SESSION_TYPE_NUM] = {
+ const struct __streamTypeTable __STREAM_TYPE_TABLE_OUT[MM_SESSION_TYPE_NUM] = {
{"media", MM_SESSION_TYPE_MEDIA},
{"media", MM_SESSION_TYPE_MEDIA_RECORD},
{"alarm", MM_SESSION_TYPE_ALARM},
};
/* Private Static Methods */
- static int PCM_CAPTURE_COUNT_INC();
- static int PCM_CAPTURE_COUNT_DEC();
- static int PCM_CAPTURE_COUNT_GET();
- static int FOCUS_ID_COUNT_INC();
- static int FOCUS_ID_COUNT_DEC();
- static int FOCUS_ID_COUNT_GET();
-
- static void _sound_pcm_signal_cb(mm_sound_signal_name_t signal, int value, void *user_data);
- static ASM_cb_result_t _sound_pcm_asm_cb(int handle, ASM_event_sources_t eventSrc, ASM_sound_commands_t command, unsigned int soundState, void *cbData);
- static void _sound_pcm_focus_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);
- static void _sound_pcm_focus_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);
+ static int __pcmCaptureCountInc();
+ static int __pcmCaptureCountDec();
+ static int __pcmCaptureCountGet();
+ static int __focusIdCountInc();
+ static int __focusIdCountDec();
+ static int __focusIdCountGet();
- /* Private Method */
- CAudioError _convertStreamType(EAudioSessionType type1, MMSessionType type2, int *index);
- CAudioError _getAsmInformation(MMSessionType *type, int *options);
- bool _isFocusRequired(MMSessionType type, int options);
-
- public:
- /* Constructor & Destructor */
- CAudioSessionHandler(EAudioSessionType sessionType, CAudioInfo& audioInfo, IAudioSessionEventListener* listener);
- virtual ~CAudioSessionHandler();
+ static void __sound_pcm_signal_cb(mm_sound_signal_name_t signal, int value, void *user_data);
+ static void __sound_pcm_focus_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);
+ static void __sound_pcm_focus_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);
- /* Methods */
- virtual void initialize() throw (CAudioError);
- virtual void finalize();
+ /* Private Method */
+ CAudioError __convertStreamType(EAudioSessionType type1, MMSessionType type2, int *index);
+ CAudioError __getAsmInformation(MMSessionType *type, int *options);
+ bool __isFocusRequired(MMSessionType type, int options);
- bool isSkipSessionEvent() throw (CAudioError);
+ /* Static Member */
+ static int __sCaptureRef;
+ static int __sFocusRef;
- void registerSound() throw (CAudioError);
- void unregisterSound() throw (CAudioError);
+ /* Members */
+ int __mId;
+ int __mOptions;
- void updatePlaying() throw (CAudioError);
- void updateStop() throw (CAudioError);
- void disableSessionHandler() throw (CAudioError);
+ EAudioSessionType __mAudioSession;
+ MMSessionType __mMultimediaSession;
- /* Setter & Getter */
- int getId();
- int getOptions();
+ CAudioInfo __mAudioInfo; /* Referenced from CAudioIO */
- EAudioSessionType getAudioSession();
- MMSessionType getMultimediaSession();
+ IAudioSessionEventListener* __mpEventListener;
- int getSubscribeId();
+ bool __mIsInit;
+ int __mSubscribeId;
- CAudioInfo getAudioInfo();
+ bool __mUseFocus;
+ mm_sound_focus_type_e __mFocusType; /* For audio focus */
+ mm_sound_focus_state_e __mState; /* For audio focus */
+ char* __mReasonForChange; /* For audio focus */
+ char* __mAdditionalInfo; /* For audio focus */
};