- 博客(7)
- 资源 (13)
- 收藏
- 关注
原创 调用live555库lib的顺序
使用live555 开发的时候遇到一些链接不到的问题,我遇到的是HashTable这货的链接不到,类似live555 undefined reference to `HashTable::create(int)'报了一大堆,原来是链接库文件的顺序问题改成这个顺序就编译过了LDFLAGS = -L$(RTSP_DIR)/live/BasicUsageEnvironmen
2015-12-23 11:53:29 1562
原创 内存分配方式
内存的三种分配方式:1. 从静态存储区分配:此时的内存在程序编译的时候已经分配好,并且在程序的整个运行期间都存在。全局变量,static变量等在此存储。2. 在栈区分配:相关代码执行时创建,执行结束时被自动释放。局部变量在此存储。栈内存分配运算内置于处理器的指令集中,效率高,但容量有限。3. 在堆区分配:动态分配内存。用new/malloc时开辟,delete/free时释放。生存期由
2015-12-11 17:11:40 318
转载 线程与进程的区别和联系
1、线程的基本概念 线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。 优点 :(1)易调度。 (2)高并发性。通过
2015-12-11 17:07:15 357
原创 重载、覆盖、隐藏的区别
成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual 关键字。隐藏是指派生类的函数屏蔽了与其同名的基类函数,规
2015-12-11 16:58:20 241
原创 基于live555封装的rtsp客户端rtspperf
项目地址:http://sourceforge.net/projects/rtspperf/实现了基于epoll模型的TaskScheduler,而live555默认实现使用select模型,select模型有一些已知的限制(FD最大值不能超过1024)。实现了rtsp client 框架,提供一个回调接口吐出数据支持多个通道的客户端开发
2015-12-10 15:55:01 651
原创 live555交叉编译
live555在linux下交叉编译 我的系统是ubuntu 10.04 1.下载 live555源码,解压缩,进入目录 2.根据自己的交叉编译器修改config.*(config.armeb-uclibc), ,如果没有,拷贝其中一个config文件,改成你的后缀(建议这么操作),我的编译器是arm-hisiv100nptl-linux-, 改你所
2015-12-09 13:42:58 652
原创 RTSP客户端发送播放请求后,RTSP服务器调用流程
RTSP客户端发送播放请求后,服务器流程如下h264视频编码1.ServerMediaSubsession::startStream -> OnDemandServerMediaSubsession::startStream2.startStream -> StreamState::startPlaying3.MediaSink::startPlaying4.MediaSink
2015-12-09 13:36:02 1064
精通MFC程序设计(全本)
2016-05-12
MySQL权威指南
2016-03-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人