⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mp4if.cpp

📁 网络MPEG4IP流媒体开发源代码
💻 CPP
字号:
#include "stdafx.h"#include "mp4if.h"#include "our_config_file.h"CMP4If::CMP4If (CString &name){	m_process = new CMP4Process(name);	m_audio_volume = config.get_config_value(CONFIG_VOLUME);	m_state = MP4IF_STATE_PLAY;	m_fullscreen_state = FALSE;	m_screen_size = 1;}CMP4If::~CMP4If (void){	delete m_process;}int CMP4If::get_initial_response (CString &errmsg){	int retval;	msg_initial_resp_t msg;	retval = m_process->get_initial_response(&msg, errmsg);	if (retval >= 0) {		m_is_seekable = msg.session_is_seekable;		m_has_audio = msg.has_audio;		m_max_time = msg.max_time;	}	return retval;}int CMP4If::set_audio_volume (int val){	int ret;	if (m_process == NULL) {		return -1;	}	ret = client_read_config();	if (ret == 0) {		m_audio_volume = val;	} else {		return ret;	}	return 0;}int CMP4If::get_mute (void) { 	return config.get_config_value(CONFIG_MUTED); }int CMP4If::toggle_mute (void){	int ret;	if (m_process == NULL) {		return -1;	}	config.set_config_value(CONFIG_MUTED,							config.get_config_value(CONFIG_MUTED) == 0 ?							1 : 0);	ret = client_read_config();	return ret;}int CMP4If::set_screen_size (int val){	int ret;	uint64_t retvalue;	if (m_process == NULL) {		return -1;	}	ret = m_process->send_message(CLIENT_MSG_SET_SCREEN_SIZE,								  &retvalue,								  (const char *)&val,								  sizeof(int));	if (ret == 0) {		m_screen_size = val;	} else {		return ret;	}	return 0;}int CMP4If::play (void){	int ret;	uint64_t retvalue;	client_msg_play_t cmp;	if (m_process == NULL) {		return -1;	}	if (m_state == MP4IF_STATE_PAUSE)		cmp.start_from_begin = FALSE;	else 		cmp.start_from_begin = TRUE;	cmp.start_time = 0.0;		ret = m_process->send_message(CLIENT_MSG_PLAY,								  &retvalue,								  (const char *)&cmp, 								  sizeof(cmp));	m_state = MP4IF_STATE_PLAY;	return ret;}int CMP4If::pause (void){	int ret;	uint64_t retvalue;	if (m_process == NULL) {		return -1;	}	if (m_state == MP4IF_STATE_PLAY) {		ret = m_process->send_message(CLIENT_MSG_PAUSE,			&retvalue);		m_state = MP4IF_STATE_PAUSE;	}	return ret;}int CMP4If::stop (void){	int ret = pause();	m_state = MP4IF_STATE_STOP;	return ret;}int CMP4If::seek_to (double time){	if (m_state == MP4IF_STATE_PLAY) {		pause();	}	int ret;	uint64_t retvalue;	if (m_process == NULL) {		return -1;	}	client_msg_play_t cmp;	cmp.start_from_begin = time == 0.0 ? TRUE : FALSE;	cmp.start_time = time;	ret = m_process->send_message(CLIENT_MSG_PLAY,								  &retvalue,								  (const char *)&cmp, 								  sizeof(cmp));	m_state = MP4IF_STATE_PLAY;	return ret;}int CMP4If::client_read_config (void){	config.write_config_file("Software\\Mpeg4ip", "Config");	return m_process->send_message(CLIENT_READ_CONFIG_FILE, NULL);}bool CMP4If::get_current_time (uint64_t *time){	return m_process->send_message(CLIENT_MSG_GET_CURRENT_TIME, time);}

⌨️ 快捷键说明

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