📄 jma_media_resource.c
字号:
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2001
*
*****************************************************************************/
/*****************************************************************************
*
* Filename:
* ---------
* jma_media_resource.c
*
* Project:
* --------
* Maui_Software
*
* Description:
* ------------
* Use APIs in this file to manage the reource opened by Java.
*
* Author:
* -------
* -------
*
*============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
/* Java */
#include "jma_interface.h"
#include "jma_internal.h"
/* MDI */
#include "mdi_audio.h"
#include "ProfileGprots.h"
/*************************************************************************
* Global Definition and Declaration
*************************************************************************/
/* Mutex */
int j2me_media_mutex_cnt = 0;
module_type j2me_media_mutex_tid = MOD_NIL;
/* param */
kal_bool jma_audio_enable = KAL_FALSE;
kal_bool jma_media_enable = KAL_FALSE;
kal_bool is_vm_suspend_audio = KAL_FALSE;
kal_bool is_vm_suspend_media = KAL_FALSE;
kal_bool is_med_suspend_audio = KAL_FALSE;
/* Concurrent Resource */
#define JMA_MEDIA_DEVICE_NUM 20
resource_mgr_struct jma_device[JMA_MEDIA_DEVICE_NUM];
/*************************************************************************
* Function Declaration
*************************************************************************/
/*****************************************************************************
* FUNCTION
* jma_media_player_clear_parameter
* DESCRIPTION
* This function is invoked by MMI
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void jma_media_player_clear_parameter(kal_bool is_init)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
kal_trace(TRACE_GROUP_4, FUNC_J2ME_JMA_MEDIA_PLAYER_CLEAR_PARAMETER);
ASSERT(stack_int_get_active_module_id() == MOD_MMI);
PARAM_CS_ENTER();
if (is_init)
{
jma_media_enable = KAL_TRUE;
jma_audio_enable = KAL_TRUE;
}
else
{
jma_media_enable = KAL_FALSE;
jma_audio_enable = KAL_FALSE;
}
PARAM_CS_LEAVE();
is_vm_suspend_audio = KAL_FALSE;
is_vm_suspend_media = KAL_FALSE;
is_med_suspend_audio = KAL_FALSE;
/* Reset parameter */
jma_audio_player_reset_parameter();
#ifdef SUPPORT_MMAPI
jma_audio_recorder_reset_parameter();
jma_video_player_reset_parameter();
#endif
jma_reset_all_device();
}
/*****************************************************************************
* FUNCTION
* jma_media_player_vm_notfy_suspend
* DESCRIPTION
* This function is invoked by MMI when VM state is changed
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void jma_media_player_vm_notfy_suspend(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 i;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
kal_trace(TRACE_GROUP_4, FUNC_J2ME_JMA_MEDIA_PLAYER_VM_NOTIFY_SUSPEND);
ASSERT(stack_int_get_active_module_id() == MOD_MMI);
ASSERT(is_vm_suspend_media == KAL_FALSE);
is_vm_suspend_media = KAL_TRUE;
PARAM_CS_ENTER();
jma_media_enable = KAL_FALSE;
PARAM_CS_LEAVE();
jma_media_player_cs_check_and_enter(KAL_FALSE);
#ifdef SUPPORT_MMAPI
for (i = 0; i < JMA_MEDIA_DEVICE_NUM; i++)
{
switch (jma_device[i].device_type)
{
case JAVA_MEDIA_AUDIO_RECORDER:
case JAVA_MEDIA_ANIMA_PLAYER_DEVICE:
ASSERT(jma_device[i].suspend!= NULL);
jma_device[i].suspend(jma_device[i].handle);
break;
#if !defined (J2ME_SHARE_MED_EXT_MEM) && (defined(__MMI_VIDEO_RECORDER__) || defined(__MMI_VIDEO_PLAYER__) || defined(__MMI_CAMERA__))
case JAVA_MEDIA_CAM_PLAYER_DEVICE:
case JAVA_MEDIA_MPEG_PLAYER_DEVICE:
case JAVA_MEDIA_STREAM_PLAYER_DEVICE:
case JAVA_MEDIA_MPEG_RECORDER_DEVICE:
mdi_video_enable_mimic_task(MOD_J2ME);
ASSERT(jma_device[i].suspend!= NULL);
jma_device[i].suspend(jma_device[i].handle);
mdi_video_disable_mimic_task();
break;
#endif /* !defined (J2ME_SHARE_MED_EXT_MEM) && (defined(__MMI_VIDEO_RECORDER__) || defined(__MMI_VIDEO_PLAYER__) || defined(__MMI_CAMERA__)) */
default:
break;
}
}
#endif /* SUPPORT_MMAPI */
jma_media_player_cs_leave();
}
/*****************************************************************************
* FUNCTION
* jma_media_player_vm_notfy_resume
* DESCRIPTION
* This function is invoked by MMI when VM state is changed
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void jma_media_player_vm_notfy_resume(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 i;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
kal_trace(TRACE_GROUP_4, FUNC_J2ME_JMA_MEDIA_PLAYER_VM_NOTIFY_RESUME);
ASSERT(stack_int_get_active_module_id() == MOD_MMI);
ASSERT(is_vm_suspend_media == KAL_TRUE);
is_vm_suspend_media = KAL_FALSE;
jma_media_player_cs_check_and_enter(KAL_FALSE);
#ifdef SUPPORT_MMAPI
for (i = 0; i < JMA_MEDIA_DEVICE_NUM; i++)
{
switch (jma_device[i].device_type)
{
case JAVA_MEDIA_AUDIO_RECORDER:
case JAVA_MEDIA_ANIMA_PLAYER_DEVICE:
ASSERT(jma_device[i].resume!= NULL);
jma_device[i].resume(jma_device[i].handle);
break;
#if !defined (J2ME_SHARE_MED_EXT_MEM) && (defined(__MMI_VIDEO_RECORDER__) || defined(__MMI_VIDEO_PLAYER__) || defined(__MMI_CAMERA__))
case JAVA_MEDIA_CAM_PLAYER_DEVICE:
case JAVA_MEDIA_MPEG_PLAYER_DEVICE:
case JAVA_MEDIA_STREAM_PLAYER_DEVICE:
case JAVA_MEDIA_MPEG_RECORDER_DEVICE:
mdi_video_enable_mimic_task(MOD_J2ME);
ASSERT(jma_device[i].resume!= NULL);
jma_device[i].resume(jma_device[i].handle);
mdi_video_disable_mimic_task();
break;
#endif /* !defined (J2ME_SHARE_MED_EXT_MEM) && (defined(__MMI_VIDEO_RECORDER__) || defined(__MMI_VIDEO_PLAYER__) || defined(__MMI_CAMERA__)) */
default:
break;
}
}
#endif /* SUPPORT_MMAPI */
jma_media_player_cs_leave();
PARAM_CS_ENTER();
jma_media_enable = KAL_TRUE;
PARAM_CS_LEAVE();
}
/*****************************************************************************
* FUNCTION
* jma_media_player_vm_notfy_terminate
* DESCRIPTION
* This function is invoked by MMI when VM state is changed
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void jma_media_player_vm_notfy_terminate(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 i;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
kal_trace(TRACE_GROUP_4, FUNC_J2ME_JMA_MEDIA_PLAYER_VM_NOTIFY_TERMINATE);
ASSERT(stack_int_get_active_module_id() == MOD_MMI);
PARAM_CS_ENTER();
jma_media_enable = KAL_FALSE;
PARAM_CS_LEAVE();
jma_media_player_cs_check_and_enter(KAL_FALSE);
#ifdef SUPPORT_MMAPI
for (i = 0; i < JMA_MEDIA_DEVICE_NUM; i++)
{
switch (jma_device[i].device_type)
{
case JAVA_MEDIA_AUDIO_RECORDER:
case JAVA_MEDIA_ANIMA_PLAYER_DEVICE:
ASSERT(jma_device[i].close!= NULL);
jma_device[i].close(jma_device[i].handle);
break;
#if !defined (J2ME_SHARE_MED_EXT_MEM) && (defined(__MMI_VIDEO_RECORDER__) || defined(__MMI_VIDEO_PLAYER__) || defined(__MMI_CAMERA__))
case JAVA_MEDIA_CAM_PLAYER_DEVICE:
case JAVA_MEDIA_MPEG_PLAYER_DEVICE:
case JAVA_MEDIA_STREAM_PLAYER_DEVICE:
case JAVA_MEDIA_MPEG_RECORDER_DEVICE:
mdi_video_enable_mimic_task(MOD_J2ME);
ASSERT(jma_device[i].close!= NULL);
jma_device[i].close(jma_device[i].handle);
mdi_video_disable_mimic_task();
break;
#endif /* !defined (J2ME_SHARE_MED_EXT_MEM) && (defined(__MMI_VIDEO_RECORDER__) || defined(__MMI_VIDEO_PLAYER__) || defined(__MMI_CAMERA__)) */
default:
break;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -