preview_flow.cpp

来自「网络MPEG4IP流媒体开发源代码」· C++ 代码 · 共 76 行

CPP
76
字号
#include "mp4live.h"#include "media_flow.h"#include "preview_flow.h"#include "video_v4l_source.h"#include "video_sdl_preview.h"void CPreviewAVMediaFlow::Start (void){  CAVMediaFlow::Start();  if (m_videoPreview == NULL) {    m_videoPreview = new CSDLVideoPreview();    m_videoPreview->SetConfig(m_pConfig);    m_videoPreview->StartThread();    m_videoPreview->Start();    if (m_videoSource) {      m_videoSource->AddSink(m_videoPreview);    }  }}void CPreviewAVMediaFlow::StartVideoPreview(void){	if (m_pConfig == NULL) {		return;	}	if (!m_pConfig->IsCaptureVideoSource()) {		return;	}	if (m_videoSource == NULL) {		m_videoSource = new CV4LVideoSource();		m_videoSource->SetConfig(m_pConfig);		m_videoSource->StartThread();	}	if (m_videoPreview == NULL) {		m_videoPreview = new CSDLVideoPreview();		m_videoPreview->SetConfig(m_pConfig);		m_videoPreview->StartThread();		m_videoSource->AddSink(m_videoPreview);	}	m_videoSource->StartVideo();	m_videoPreview->Start();}void CPreviewAVMediaFlow::StopVideoPreview(void){	if (!m_pConfig->IsCaptureVideoSource()) {		return;	}	if (m_videoSource) {		if (!m_started) {			m_videoSource->StopThread();			delete m_videoSource;			m_videoSource = NULL;		} else {			m_videoSource->Stop();		}	}	if (m_videoPreview) {		if (!m_started) {			m_videoPreview->StopThread();			delete m_videoPreview;			m_videoPreview = NULL;		} else {			m_videoPreview->Stop();		}	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?