资源简介
运用视频编解码、RTP、线程等技术做的,可以实时传输多路视频。
代码片段和文件信息
#include “stdafx.h“
#include “baseThread.h“
using namespace MobileVideoServer;
CbaseThread::CbaseThread() :
_thread_handle(NULL)
_parent_ptr(NULL)
_joined(false)
{
//...
}
CbaseThread::~CbaseThread()
{
//...
}
void CbaseThread::initialize()
{
//...
}
void CbaseThread::start(void* parent)
{
unsigned int id(0);
_parent_ptr = parent;//看文件CThreadTestDlg.cpp中start()的参数this
on_start(); //on_start要在最开始调用
_thread_handle = (HANDLE)_beginthreadex(
NULL //安全属性,NULL为默认安全属性
0 //指定线程堆栈的大小。如果为0,则线程堆栈大小和创建它的线程的相同。一般用0
_entry //第3个参数:指定线程函数的地址,也就是线程调用执行的函数地址(用函数名称即可,函数名称就表示地址)
(void*)this //传递给线程的参数的指针,可以通过传入对象的指针,在线程函数中再转化为对应类的指针
0 //线程初始状态,0:立即运行;CREATE_SUSPEND:suspended(悬挂)
&id //用于记录线程ID的地址
);
SuspendThread(_thread_handle);//暂停(挂起)线程
SetThreadPriority(_thread_handle THREAD_PRIORITY_HIGHEST);//设置线程优先级
ResumeThread(_thread_handle);//恢复线程运行
_joined = false;
}
void CbaseThread::shutdown()
{
_joined = true;
join();
on_close(); //on_close要在最终调用
}
void CbaseThread::join()
{
DWORD theErr = ::WaitForSingleobject(_thread_handle INFINITE);//等待,直到函数有返回值,即等待关闭线程
}
unsigned int WINAPI CbaseThread::_entry(LPVOID inThread)
{
CbaseThread* theThread = (CbaseThread*)inThread;
if(NULL == theThread)
return -1;
while(false == theThread->_joined)
{
theThread->entry();
}
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3691580 2013-01-11 11:51 C++多路视频传输\lib\ffmpeg.lib
文件 4229288 2013-01-08 15:53 C++多路视频传输\lib\jrtplib.lib
文件 54444 2013-01-08 15:53 C++多路视频传输\lib\jthread.lib
文件 8652 2013-01-11 10:57 C++多路视频传输\lib\Packetfr
文件 3373542 2012-12-29 11:15 C++多路视频传输\lib\x264.lib
文件 1078 2012-12-13 11:10 C++多路视频传输\res\Send.ico
文件 396 2012-12-13 11:10 C++多路视频传输\res\Send.rc2
文件 11404800 2012-08-31 19:10 C++多路视频传输\akiyo_qcif.yuv
文件 1714 2013-03-05 11:50 C++多路视频传输\ba
文件 996 2013-02-25 20:22 C++多路视频传输\ba
文件 1237 2013-01-18 11:30 C++多路视频传输\h264decode.h
文件 413 2012-12-30 20:25 C++多路视频传输\h264encode.h
文件 1576 2012-09-19 14:54 C++多路视频传输\h264packfr
文件 4367 2013-01-08 15:53 C++多路视频传输\Jrtplib.h
文件 11404800 2012-08-31 19:10 C++多路视频传输\news_qcif.yuv
文件 3543 2012-12-13 11:10 C++多路视频传输\ReadMe.txt
文件 1366 2013-02-20 10:44 C++多路视频传输\Resource.h
文件 22732 2013-02-26 16:24 C++多路视频传输\Send.aps
文件 1191 2012-12-17 11:19 C++多路视频传输\Send.clw
文件 2035 2012-12-13 11:10 C++多路视频传输\Send.cpp
文件 4123 2012-12-13 11:10 C++多路视频传输\Send.dsp
文件 516 2012-12-13 11:25 C++多路视频传输\Send.dsw
文件 1302 2012-12-13 11:10 C++多路视频传输\Send.h
文件 1453 2013-01-15 19:17 C++多路视频传输\Send.idc
文件 10193920 2013-03-05 11:50 C++多路视频传输\Send.ncb
文件 48640 2012-12-17 11:19 C++多路视频传输\Send.opt
文件 518 2012-12-17 11:19 C++多路视频传输\Send.plg
文件 5960 2013-02-20 17:03 C++多路视频传输\Send.rc
文件 872 2012-12-20 10:13 C++多路视频传输\Send.sln
文件 7992 2013-01-25 09:47 C++多路视频传输\Send.vcproj
............此处省略15个文件信息
- 上一篇:C++ 设备管理系统
- 下一篇:PC-Lint 9.0L破解修正版
评论
共有 条评论