📄 umc_dv_audio_channel.cpp
字号:
/*////////////////////////////////////////////////////////////////////////////////// INTEL CORPORATION PROPRIETARY INFORMATION// This software is supplied under the terms of a license agreement or// nondisclosure agreement with Intel Corporation and may not be copied// or disclosed except in accordance with the terms of that agreement.// Copyright(c) 2003-2005 Intel Corporation. All Rights Reserved.//*/#include "vm_debug.h"#include "umc_dv_audio_channel.h"#include "dv_il_audio.h"UMC::StatusUMC::DVAudioChannel::ReadFrame(vm_byte* pbBuffer, const vm_var32 uiBufSize, vm_var32& ruiDataRead){ Status umcRes = UMC_OK; // Look for the chunk if (UMC_OK == umcRes) { umcRes = FindNextChunk(); } // Read data from file vm_byte* pbFrame = NULL; vm_var32 uiFrameSize = 0;// if (UMC_OK == umcRes)// { umcRes = m_ChunkRdr.MapChunkAndLock(pbFrame, uiFrameSize); } vm_var32 uiAudioDataSize = 0; if (UMC_OK == umcRes) { vm_var32 uiBitsPerSample; bool b625; umcRes = NDVAudioIL::GetDVAudioSize(pbFrame, uiFrameSize, uiAudioDataSize, uiBitsPerSample, b625); } if (UMC_OK == umcRes && uiBufSize < uiAudioDataSize) { umcRes = UMC_NOT_ENOUGH_BUFFER; } if (UMC_OK == umcRes) { umcRes = NDVAudioIL::ExtractDVAudio(pbFrame, uiFrameSize, pbBuffer, uiBufSize, uiAudioDataSize); } if (NULL != pbFrame) {// Status umcTmp = m_ChunkRdr.MapUnlock();// assert(UMC_OK == umcTmp); } if (UMC_OK == umcRes) { umcRes = m_ChunkRdr.Ascend(); ruiDataRead = uiAudioDataSize; } if (UMC_OK != umcRes) { vm_debug_trace(4,__VM_STRING("CDVAudioChannel ReadFrame failed\n")); } return umcRes;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -