int CMediaStudioProFS::NotifyStartSave() { // callback AP to initialize saving dib_Prepare(&m_SrcBih, m_pSData->wSaveWidth, m_pSData->wSaveHeight, m_pSData->wSaveBitCount); m_pSData->dwAudioCalls = m_bSaveAudio ? m_pSData->dwSaveFrames : 0; m_pSData->dwVideoCalls = m_pSData->dwSaveFrames; return m_pfnCallBack(m_pSData, UVDATA_START, 0, 0, &m_SrcBih, NULL); }
int KClient::ConnectTo(char *pszIp, unsigned short uPort) { int nRet = INVALID_VALUE; do { if (m_listFreeLink.empty()) { ASSERT(FALSE); break; } IKG_SocketStream* pConnection = m_cConnector.Connect(pszIp, uPort); printf("connect to %s:%d...", pszIp, uPort); if (!pConnection) { //ASSERT(FALSE); printf("failed! \n"); break; } else { printf("OK\n"); } unsigned int uLinkId = m_listFreeLink.front(); m_listFreeLink.pop_front(); ASSERT((int)uLinkId < m_nMaxConnCount && m_ppConnections[uLinkId] == NULL); m_ppConnections[uLinkId] = pConnection; if (m_pfnCallBack) { m_pfnCallBack(m_pCallParam, uLinkId, enumClientConnectCreate); } nRet = uLinkId; } while (0); return nRet; }
void KClient::OnConnectionClose(unsigned int uLinkId) { printf("disconnect \n"); ASSERT(uLinkId < (unsigned int)m_nMaxConnCount); m_listFreeLink.push_back(uLinkId); m_ppConnections[uLinkId] = NULL; if (m_pfnCallBack) { m_pfnCallBack(m_pCallParam, uLinkId, enumClientConnectClose); } }
int CMediaStudioProFS::NotifyEndOfAudioSamples(DWORD dwSamples) { return m_pfnCallBack(m_pSData, UVDATA_SAMPLE_END, 0, dwSamples, NULL, NULL); }
int CMediaStudioProFS::CallbackGetAudioSamples(DWORD dwStart, DWORD dwSamples, PBYTE* ppData) { return m_pfnCallBack(m_pSData, UVDATA_AUDIO, dwStart, dwSamples, &m_SrcWfx, (PVOID*)ppData); }
int CMediaStudioProFS::NotifyEndOfVideoFrame() { return m_pfnCallBack(m_pSData, UVDATA_FRAME_END, 0, 0, NULL, NULL); }
int CMediaStudioProFS::CallbackGetVideoFrame(DWORD dwFrame, PDIB* ppDib) { return m_pfnCallBack(m_pSData, UVDATA_VIDEO, dwFrame, 1, &m_SrcBih, (PVOID*)ppDib); }
int CMediaStudioProFS::NotifyEndSaveAudio() { return m_pfnCallBack(m_pSData, UVDATA_AUDIO_END, 0, 0, NULL, NULL); }
int CMediaStudioProFS::NotifyEndSaveVideo() { return m_pfnCallBack(m_pSData, UVDATA_VIDEO_END, 0, 0, NULL, NULL); }
int CMediaStudioProFS::NotifyStartSaveAudio() { // callback AP to prepare audio data wfx_Prepare(&m_SrcWfx, m_pSData->wSaveChannels, m_pSData->wSaveBitsPerSample, m_pSData->dwSaveSamplesPerSec); return m_pfnCallBack(m_pSData, UVDATA_AUDIO_BEGIN, 0, 0, &m_SrcWfx, NULL); }
int CMediaStudioProFS::NotifyStartSaveVideo() { // callback AP to prepare video data return m_pfnCallBack(m_pSData, UVDATA_VIDEO_BEGIN, 0, 0, &m_SrcBih, NULL); }