// PREVIEW AUDIO CALLBACK FUNCTION // EXPORTS.ReturnOfCallbackEnum on_process_preview_audio_buffer(uint pDevice, double dSampleTime, uint pFrameBuffer, uint nFrameBufferLen, uint pUserData) { uint nCH = pUserData; //string strOutput = "CH" + (nCH + 1).ToString() + " : on_process_preview_audio_buffer => pDevice : " + pDevice.ToString() + " , dSampleTime : " + dSampleTime.ToString() + " , pFrameBuffer : " + pFrameBuffer.ToString() + " , nFrameBufferLen : " + nFrameBufferLen.ToString() + " , pUserData : " + pUserData.ToString() + " \n"; //OutputDebugString(strOutput); if (m_bIsShareRecord && m_bShareRecordCH[nCH]) { EXPORTS.QCAP_SET_AUDIO_SHARE_RECORD_UNCOMPRESSION_BUFFER(0, pFrameBuffer, nFrameBufferLen); } if (m_bIsStreaming && m_hRtspCapDev != 0) { switch (nCH) { case 0: lock (m_hNetworkServerAccessCriticalSection_a0) { if (m_nNetworkServerState_a[nCH] > 0x00000000) { EXPORTS.QCAP_SET_AUDIO_BROADCAST_SERVER_UNCOMPRESSION_BUFFER(m_hRtspCapDev, nCH, pFrameBuffer, nFrameBufferLen); } } break; case 1: lock (m_hNetworkServerAccessCriticalSection_a1) { if (m_nNetworkServerState_a[nCH] > 0x00000000) { EXPORTS.QCAP_SET_AUDIO_BROADCAST_SERVER_UNCOMPRESSION_BUFFER(m_hRtspCapDev, nCH, pFrameBuffer, nFrameBufferLen); } } break; case 2: lock (m_hNetworkServerAccessCriticalSection_a2) { if (m_nNetworkServerState_a[nCH] > 0x00000000) { EXPORTS.QCAP_SET_AUDIO_BROADCAST_SERVER_UNCOMPRESSION_BUFFER(m_hRtspCapDev, nCH, pFrameBuffer, nFrameBufferLen); } } break; case 3: lock (m_hNetworkServerAccessCriticalSection_a3) { if (m_nNetworkServerState_a[nCH] > 0x00000000) { EXPORTS.QCAP_SET_AUDIO_BROADCAST_SERVER_UNCOMPRESSION_BUFFER(m_hRtspCapDev, nCH, pFrameBuffer, nFrameBufferLen); } } break; default: break; } } return(EXPORTS.ReturnOfCallbackEnum.QCAP_RT_OK); }