- g_TSReceiver
-
CTSReceiver::ThreadReceive
- TRSMSS_CONFIG* config = GetConfigByProcessId()
- recvfrom(...)
- ts_demuxer.TS_Parse(...)
-
pAudio/VideoRecv->ForwardSample(...)
- samp=new CDataSample(...)
-
CAudio/VideoTSSource::m_pAudio/VideoNode->PushSample((void*)samp)
- CAudio/VideoTranscoder::m_pQueueDecode->Push(pDataSample, 10000)
-
CMediaSource
- CAudioTSSouce
- CVideoTSSource
-
CMediaSource
- HANDLE m_handle ; int m_nIndex
- CMediaNode* m_pAudioNode, *m_pVideoNode
- media_info_t m_mediaInfo
- CMediaTrack m_mediaTracks
- MediaNodeState m_state
-
CMediaFlow
-
CMediaFlow
- media_info_t m_mediaInfo
- CMediaSource* m_pAudioSrc
- CMediaSource* m_pVideoSrc
- CTranscoder* m_pAudioTranscoder
- CTranscoder* m_pVideoTranscoder
- vector<CMediaSink*> m_mediasinks
-
CMediaNode
-
CTranscoder
- CMediaSource* m_mediasrc
- CMediaTrack m_trackInfo
- vector<CMediaSink*> m_mediasinks
- CDSIInfo m_dsiInfo
-
CAudio/VideoTranscoder
- CDataQueue* m_pQueueDecode
- CSampleQueue* m_pQueueEncode
- CAVCEncoder* m_pEncoder
- AVC_FFMPEG_DECODER* m_pDecoder
- CThreadJob m_threadDecode, m_threadEncode
- Topic
-
CMediaNode
- MediaNodeState m_stat
-
CAudioTranscoder::ThreadDecode
- CDataQueue* pInputQ = pTrans->GetDecodeQ()
- CSampleQueue* pOutputQ = pTrans->GetEncodeQ()
- CDataSample* pInputBuffer = NULL
- UInt nOutputElemSize = pOutputQ->GetElemSize()
- AAC_DECODER* pDecoder = pTrans->GetDecoder()
- pInputQ->Pop(&pInputBuffer, nQueueTimeout)
- aac_frame->buffer_size = pInputBuffer->GetLen()
- pDecoder->Init_AAC(pInputBuffer->GetDataBuffer(), aac_frame)
- pDecoder->Decode_AAC(pInputBuffer->GetDataBuffer(), aac_frame, pOutputBuffer);
- pOutputQ->Push(&outputelem, 1000)
-
CAudioTranscoder::ThreadEncode
- CSampleQueue* pInputQ = pTrans->GetEncodeQ()
- CBufferElem* pInputBuffer = new CBufferElem(pInputQ->GetElemSize()
- CEncoder* pEncoder = pTrans->GetEncoder()
- CAudioSample outsamp(pInputQ->GetElemSize())
- pInputQ->Pop(pInputBuffer, nQueueTimeout)
- pEncoder->EncodeFrame(pInputBuffer->m_data, ...)
- CMediaSink* pMediaSink = pTrans->GetMediaSink(nSinkIdx
-
pMediaSink->PushSample(&outsamp)
- SendSink::sendto(...)
- pMediaSink = pTrans->GetMediaSink(++nSinkIdx)
- TS_DEMUXER
- CVideoTranscoder::ThreadDecode
- CVideoTranscoder::ThreadEncode
-
CProcessInst
-
StartTranscoding
- CMediaFlow*pMediaFlow = GetMediaFlow(media_info_t*)
- pMediaFlow->AddSource(CAudioTSSource)
- pMediaFlow->AddSource(CVideoTSSource)
-
pMediaFlow->Start()
- CMediaFlow::StartSink()
-
CMediaFlow::StartTranscoder()
- audio/video_transcoder->AddMediaSink(...)
- audio/video_transcoder->Start()
-
CMediaFlow::StartSource()
- StartSource(A)/StartSource(V)
- CTranscoder* transcoder =GetTranscoder(A/V)
- CMediaSource* source =GetSource(A/V)
- Source->SetMediaNode(CTranscoder of A/V)
- Source->Start()
- CAudio/VideoTSSource::SetState(_MEDIA_STATE_START)
- g_TSReceiver = new CTSReceiver(pAudioSrc, pVideoSrc)
- g_TSReceiver->Start()
-
InitTranscoding
- pMediaFlow = new CMediaFlow
- m_transcoderList.push_back(pMediaFlow)
- pMediaFlow->Init(pMediaInfo)
- pAudio/VideoTranscoder = new CAudio/VideoTranscoder(&audio/videoTrackOut)
- pMediaFlow->AddTranscoder(pAudio/VideoTranscoder, _MEDIA_TYPE_AUDIO/VIDEO)
- pSendSink = new SendSink
- pSendSink->Init(&sendParam)
- pMediaFlow->AddSink(pSendSink)
-
Startup(void)
- CConfig::GetInstance()->Open()
-
CTRSView::OnInitialUpdate()
-
CTRSView::OnTranscodeInit()
- processing_init(media_info_t*, media_track_t*)
-
CTRSView::OnTranscodeStart()
- processing_start(media_inf_t*, media_track_t*)