/******************************************************************************
 * function : Start Ao
 ******************************************************************************/
HI_S32 SAMPLE_COMM_AUDIO_StartAo(AUDIO_DEV AoDevId, AO_CHN AoChn,
		AIO_ATTR_S *pstAioAttr, AUDIO_RESAMPLE_ATTR_S *pstAoReSmpAttr) {
	HI_S32 s32Ret;

	s32Ret = HI_MPI_AO_SetPubAttr(AoDevId, pstAioAttr);
	if (HI_SUCCESS != s32Ret) {
		printf("%s: HI_MPI_AO_SetPubAttr(%d) failed with %#x!\n", __FUNCTION__,
				AoDevId, s32Ret);
		return HI_FAILURE;
	}
	s32Ret = HI_MPI_AO_Enable(AoDevId);
	if (HI_SUCCESS != s32Ret) {
		printf("%s: HI_MPI_AO_Enable(%d) failed with %#x!\n", __FUNCTION__,
				AoDevId, s32Ret);
		return HI_FAILURE;
	}
	s32Ret = HI_MPI_AO_EnableChn(AoDevId, AoChn);
	if (HI_SUCCESS != s32Ret) {
		printf("%s: HI_MPI_AO_EnableChn(%d) failed with %#x!\n", __FUNCTION__,
				AoChn, s32Ret);
		return HI_FAILURE;
	}

	if (NULL != pstAoReSmpAttr) {
		s32Ret = HI_MPI_AO_DisableReSmp(AoDevId, AoChn);
		s32Ret |= HI_MPI_AO_EnableReSmp(AoDevId, AoChn, pstAoReSmpAttr);
		if (HI_SUCCESS != s32Ret) {
			printf("%s: HI_MPI_AO_EnableReSmp(%d,%d) failed with %#x!\n",
					__FUNCTION__, AoDevId, AoChn, s32Ret);
			return HI_FAILURE;
		}
	}

	return HI_SUCCESS;
}
/******************************************************************************
 * function : Stop Ao
 ******************************************************************************/
HI_S32 SAMPLE_COMM_AUDIO_StopAo(AUDIO_DEV AoDevId, AO_CHN AoChn,
		HI_BOOL bResampleEn) {
	if (HI_TRUE == bResampleEn) {
		HI_MPI_AO_DisableReSmp(AoDevId, AoChn);
	}
	HI_MPI_AO_DisableChn(AoDevId, AoChn);
	HI_MPI_AO_Disable(AoDevId);
	return HI_SUCCESS;
}
/******************************************************************************
* function : Stop Ao
******************************************************************************/
HI_S32 SAMPLE_COMM_AUDIO_StopAo(AUDIO_DEV AoDevId, AO_CHN AoChn, HI_BOOL bResampleEn)
{
    if (HI_TRUE == bResampleEn)
    {
        HI_MPI_AO_DisableReSmp(AoDevId, AoChn);
    }
    HI_MPI_AO_DisableChn(AoDevId, AoChn);
    HI_MPI_AO_Disable(AoDevId);
    
#if (HICHIP != HI3532_V100)
    if (SAMPLE_AUDIO_HDMI_AO_DEV == AoDevId)
    {
        SAMPLE_COMM_AUDIO_StopHdmi();
    }
#endif

    return HI_SUCCESS;
}