摘要:流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下载边播放的方式,它是视频会议、IP电话等应用场合的技术基础。RTP是进行实时流媒体传输的标准协议和关键技术,本文介绍如何在Linux下利用JRTPLIB进行实时流媒体编程。一、流媒体简介 随着Internet的日益普及,在网络上传输的数据已经不再局限于文字和图形,而是逐渐向声音和视频等多媒体格式过渡。... 阅读全文
posted @ 2008-03-12 11:23 shelvenn's blog 阅读(10518) 评论(0) 推荐(1) 编辑
摘要:1 引言  线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。  为什么有了进程的概念后,还要再引入线程呢?使用多线程到... 阅读全文
posted @ 2008-03-12 09:19 shelvenn's blog 阅读(3608) 评论(0) 推荐(0) 编辑
摘要:1、将Invalidate()替换为InvalidateRect()。 Invalidate()会导致整个窗口的图象重画,需要的时间比较长,而InvalidateRect()仅仅重画Rect 区域内的内容,所以所需时间会少一些。虫虫以前很懒,经常为一小块区域的重画就调用Invalidate(), 不愿意自己去计算需要重画的Rect,但是事实是,如果你确实需要改善闪烁的情况,... 阅读全文
posted @ 2008-02-22 17:56 shelvenn's blog 阅读(716) 评论(0) 推荐(0) 编辑
摘要:内容提要:本文针对微软的Visual C++2005发布版本中语言和库的一些新的特点进行了讨论,这将帮助你更高效地创作安全、可靠的代码。 一、 简介 微软的Visual C++2005发布版本对于有志于轻松、迅速地编写安全可靠的应用程序的编程爱好者来说是正确地选择。正如你所听到的那样,Visual C++中语言和库的新特点使开发安全、可靠的应用程序比以前更容易。它即提供了功能强大并且灵活的... 阅读全文
posted @ 2008-02-15 13:54 shelvenn's blog 阅读(356) 评论(0) 推荐(0) 编辑
摘要:好多人已经知道利用strncpy替代strcpy来防止缓冲区越界。 但是如果还要考虑运行效率的话,也许strlcpy是一个更好的方式。 1. strcpy 我们知道,strcpy 是依据\0作为结束判断的,如果 to 的空间不够,则会引起 buffer overflow。strcpy 常规的实现代码如下(来自 OpenBSD 3.9): char * strcpy(char *to, cons... 阅读全文
posted @ 2008-02-15 13:48 shelvenn's blog 阅读(9531) 评论(0) 推荐(1) 编辑
摘要:在VC2005的CRT中,增加了一些具有更强安全性的CRT函数,例如strcpy_s, strncat_s等。 (MSDN: Significant enhancements have been made to make the CRT more secure. Many CRT functions now have more secure versions. If a new secure ... 阅读全文
posted @ 2008-02-15 13:26 shelvenn's blog 阅读(10375) 评论(1) 推荐(0) 编辑
摘要:关于头文件和源文件的分别 首先,我们可以将所有东西都放在一个.cpp文件内. 然后编译器就将这个.cpp编译成.obj,obj是什么东西? 就是编译单元了.一个程序,可以由一个编译单元组成, 也可以有多个编译单元组成. 如果你不想让你的源代码变得很难阅读的话, 就请使用多个编译单元吧.(一个函数不能放到两个编译单元里面,但两个以上 就可以分别放在一个单元,也就是cpp里面) 那么就是一个... 阅读全文
posted @ 2008-02-02 14:00 shelvenn's blog 阅读(11426) 评论(2) 推荐(0) 编辑
摘要:概述 YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法(属于PAL)。在现代彩色电视系统中,通常采用三管彩色摄影机或彩色CCD摄影机进行取像,然后把取得的彩色图像信号经分色、分别放大校正后得到RGB,再经过矩阵变换电路得到亮度信号Y和两个色差信号R-Y(即U)、B-Y(即V),最后发送端将亮度和色差三个信号分别进行编码,用同一信道发送出去。这种色彩的表示方法就是所谓的YUV色彩... 阅读全文
posted @ 2008-01-25 16:46 shelvenn's blog 阅读(2682) 评论(1) 推荐(0) 编辑
摘要:VC里面:PASCAL==CALLBACK==WINAPI==__stdcall _stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"@"和参数的字节数。 _cdecl是C和C++程序的缺省调用方式。每一个调用它的函数都包含清空堆栈的... 阅读全文
posted @ 2008-01-21 18:40 shelvenn's blog 阅读(1278) 评论(1) 推荐(0) 编辑
摘要:[准备工作] 1、将SkinMagicTrial.dll放置在调试目录 2、设置库文件目录,在项目[连接器]的[附加依赖项]中加入库SkinMagicTrial.lib 3、在项目的stdafx.h文件中加入头文件 #include "SkinMagicLib.h" [创建过程] 1、初始化SkinMagic库: 要使用SkinMagic,这一步必不可少。在应用程序类的InitInstance()... 阅读全文
posted @ 2008-01-16 14:57 shelvenn's blog 阅读(1781) 评论(0) 推荐(0) 编辑