diff --git a/amp_wrapper.c b/amp_wrapper.c old mode 100644 new mode 100755 index 1d37629..fc976cc --- a/amp_wrapper.c +++ b/amp_wrapper.c @@ -51,8 +51,6 @@ void amp_log(int device, char *log) { void amp_reset_buffer(synaptics_player_info *socPlayerInfo); INT64 amp_iptv_mgr_get_position(AVP_HANDLE *player); -void amp_stop_pipeline(AVP_HANDLE *player); -void amp_start_pipeline(AVP_HANDLE *player); int amp_check_nugu_enabled(){ char nugu_enabled[PROP_VALUE_MAX]; @@ -388,9 +386,6 @@ HRESULT vdec_user_data_cb(CORBA_Object hCompObj, AMP_PORT_IO ePortIo, return SUCCESS; } -void amp_start_pipeline(AVP_HANDLE *player); -void amp_stop_pipeline(AVP_HANDLE *player) ; - HRESULT amp_dmx_event_handler(HANDLE hListener, AMP_EVENT *pEvent, VOID *pUserData) { AVP_HANDLE *player = (AVP_HANDLE *)pUserData; @@ -409,6 +404,12 @@ HRESULT amp_dmx_event_handler(HANDLE hListener, AMP_EVENT *pEvent, VOID *pUserDa ALOGD("++amp_dmx_event_handler AMP_EVENT_DMX_INBUFF_OVERFLOW (handle=0x%x, fulness=0x%x, size=0x%x)", pBuffState->hHandle, pBuffState->uFullness, pBuffState->uSize ); + AVP_MediaCallback function = socPlayerInfo->createConfig.function; + if(function != NULL && player != NULL) { + ALOGD("[%s] AMP_EVENT_DMX_INBUFF_OVERFLOW reset tune ", __FUNCTION__); + int event = AVP_DECODER_ERROR_BUFFER_FULL; + function(AVP_DECODER_ERROR, &event, sizeof(int), socPlayerInfo->createConfig.callback_user_param); + } } break; case AMP_EVENT_DMX_INBUFF_UNDERFLOW: { @@ -2494,15 +2495,13 @@ HRESULT clk_pause_resume(AVP_HANDLE *player, BOOL enable) { if (TRUE == enable) { // pause //AMP_RPC(ret, AMP_CLK_SetState, socPlayerInfo->amp_clk, AMP_PAUSED); - amp_stop_pipeline(player); - //AMP_RPC(ret, AMP_CLK_SetState, socPlayerInfo->amp_clk, AMP_IDLE); ALOGD("clk_pause_resume Video Paused\n"); + amp_pause_pipeline(player); } else { - - amp_start_pipeline(player); // Resume //AMP_RPC(ret, AMP_CLK_SetState, socPlayerInfo->amp_clk, AMP_EXECUTING); ALOGD("clk_pause_resume Video Resumed\n"); + amp_resume_pipeline(player); } return ret;