http://blog.sina.com.cn/jackhhy[订阅][手机订阅]
个人资料
分类
    内容读取中…
访客
读取中...
评论
读取中...
博文

l         类间的三中关系

类间的关系主要有:is-ahas-a

l         Inline函数的里里外外

内联函数可以通过关键字inline来显式向编译器申请,也可以将函数的实现直接放在头文件

l         pass-by-reference-to-const替换pass-by-value

从两种函数参数传递方式可以看出

l         explicit关键字的意义

explicit的含义是“显示”,主要用在构造函数中。如下实例:

Class A {

 

l         区分构造和拷贝赋值

比较如下两种情况:

Class A {

Private:

 

constenum inline 替换 define

 

printf的格式控制的完整格式:
m.n  l或h  格式字符
下面对组成格式说明的各项加以说明:
①%:表示格式说明的起始符号,不可缺少。
②-:有-表示左对齐输出,如省略表示右对齐输出。
③0:有0表示指定空位填0,如省略表示指定空位不填。
④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。
⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。

---------------------------------------
格式字符
格式字符用以指定输出项的数据类型和输出格式。
 ①d格式:用来输出十进制整数。有以下几种用法:
%d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
%ld:输出长整型数据。
②o格式:以无符号八进制形式输出整数。对长整型可以用'%

     VLC属于Video LAN开源项目组织中的一款全开源的流媒体服务器和多媒体播放器。作为流媒体服务器,VLC跨平台,支持多操作系统和计算机体系结构;作为多媒体播放器,VLC可以播放多种格式的媒体文件。主要包括有:WMV、ASF、MPG、MP、AVI、H.264等多种常见媒体格式。

     VLC采用全模块化结构,在系统内部,通过动态的载入所需的模块,放入一个module_bank的结构体中统一管理,连VLC的Main模块也是通过插件的方式动态载入的(通过module_InitBank函数在初始化建立module_bank时)。对于不支持动态载入插件的系统环境中,VLC也可以采用builtin的方式,在VLC启动的时候静态载入所需要的插件,并放入module_bank统一管理。

     VLC的模块分成很多类别主要有:access、access_filter、access_output、audio_filter、audio_mixer、audio_output、codec、control、demux、gui、misc、muxpacketizerstream_output、video_filter、video_output、interfaceinputplaylist等(其中黑体为核心模块)。VLC无论是作为流媒
TS流 PS流 ES流(2008-07-03 21:51)
IP数据报有首部和数据两部分组成的,首部的前一部分是固定长度20字节,是所有IP数据报必须具有的。首部包括:总长度、标识、MF、DF、片偏移。
 
数字信号实际传送的是数据流,一般数据流包括以下三种:

ES流:也叫基本码流,包含视频、音频或数据的连续码流。
PES流:也叫打包的基本码流,是将基本的码流ES流根据需要分成长度不等的数据包,并加上包头就形成了打包的基本码流PES流。

TS流:也叫传输流,是由固定长度为188字节的包组成,含有独立时基的一个或多个节目,适用于误码较多的环境。 
 
TS流(TransportStream)即在MPEG-2系统中,由视频,音频的ES流和辅助数据复接生成的用于实际传输的标准信息流称
为MPEG-2传送流。信息复合/分离

    vlc中所有的模块均以动态库(插件)方式来管理,就连main模块也不例外。可以在windows下查看vlc安装目录下plugin目录,里面包含了所有的动态库。当vlc启动的时候,主模块采用动态加入的方式.

具体实现如下:

     If you have a look at include/modules_inner.h, you can see on line 97 that it declares a new function. This function's name is defined by __VLC_SYMBOL(vlc_entry). __VLC_SYMBOL is defined a few lines above as the concatenation of 'vlc_entry' with MODULE_NAME (the CONCATENATE macro inserts the double underscore). MODULE_NAME is defined by the compiler at compile time using a -D command line flag except in the case of the main libvlc module (which is the one you'