·ChinaUnix首页 ·论坛 ·博客 
Linux首页 | Linux新闻 | Linux文档 | Linux论坛 | Linux下载 | Linux博客 | Linux搜索
新手入门 | 安装启动 | 管理员指南 | 开发手册 | 桌面应用 | 程序开发 | 数据库 | 网络技术| CentOS | Fedora | MySQL | Apache | Ubuntu | Gentoo| OSCON08
  Linux时代 >> 技术文档 >> 网络技术
 
Gstreamer 多媒体框架分析
来源: ChinaUnix博客  日期: 2008.06.02 11:32 (共有条评论) 我要评论
 
比较重要的一个宏定义
#define GST_BOILERPLATE_FULL(type, type_as_function, parent_type, parent_type_macro, additional_initializations) \
         \
static void type_as_function ## _base_init     (gpointer      g_class); \
static void type_as_function ## _class_init    (type ## Class *g_class);\
static void type_as_function ## _init        (type          *object, \
                                                type ## Class *g_class);\
static parent_type ## Class *parent_class = NULL;   \
static void        \
type_as_function ## _class_init_trampoline (gpointer g_class,  \
         gpointer data)  \
{         \
  parent_class = (parent_type ## Class *)    \
      g_type_class_peek_parent (g_class);    \
  type_as_function ## _class_init ((type ## Class *)g_class);  \
}         \
         \
GType type_as_function ## _get_type (void);    \
         \
GType         \
type_as_function ## _get_type (void)     \
{         \
  static GType object_type = 0;      \
  if (G_UNLIKELY (object_type == 0)) {     \
    static const GTypeInfo object_info = {    \
      sizeof (type ## Class),      \
      type_as_function ## _base_init,     \
      NULL,    /* base_finalize */    \
      type_as_function ## _class_init_trampoline,   \
      NULL,    /* class_finalize */    \
      NULL,               /* class_data */    \
      sizeof (type),       \
      0,                  /* n_preallocs */    \
      (GInstanceInitFunc) type_as_function ## _init   \
    };         \
    object_type = g_type_register_static (parent_type_macro, #type, \
&object_info, (GTypeFlags) 0);     \
    additional_initializations (object_type);    \
  }         \
  return object_type;       \
}


./gstreamer-0.10.x/plugins/elements/gstelements.c
static struct _elements_entry _elements[] = {
{"capsfilter", GST_RANK_NONE, gst_capsfilter_get_type},
...
{"filesrc", GST_RANK_PRIMARY, gst_file_src_get_type},
...
{"filesink", GST_RANK_PRIMARY, gst_file_sink_get_type},
{NULL, 0},
};
最基本的有些元件


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/49742/showart_723737.html
  发表评论 查看评论(共有条评论) 我要提问
 
 


最新资讯更多>> 
· 金融危机 开源软件行业逆市火
· Linux上网本退货率偏高 是“磨..
· 永中推Office 09免费个人版 全..
· PHP 创始人Rasmus Lerdorf访谈..
· 开源的艺术 安全市场新的突破点
· OpenOffice.org 3.0隆重发布
· Wine 1.1.6 发布
· Wikipedia“变心”,力挺Ubuntu
· Shopex收购ecshop,discuz为了..
· 提前下载:OpenOffice.org 3.0..
论坛热点更多>> 
· 关于秋日里的一场梦。。。。。。
· 那些常常见到又叫不出名字的花
· 这几道题会做就可直接找LINU..
· LILEI和HANMEIMEI的欲望人生..
· RHCE考试费4200!NND
· 配置DNS主从自动更新同步,无..
· 家里花盆上的蜂窝
· AKA 2008 Linux内核开发者大..
· 倒!同事一个比一个住的远
· 我装不了RPM包是什么原因大家..
文档更新更多>> 
· kmess1.5.1在红旗6sp1上的安装方法
· OOo3.0 RC2 发布,中文版可用。
· IT从业人员必看的10大论坛
· SSH权威指南
· DNS相关定义介绍
· OpenVPN(zt)
· Linux shell I/O重定向详解
· linux下的烧写环境配置
· tcpdump详细用法
· 转:ARM的嵌入式Linux移植体验之基..
 
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 友情链接 | 免费注册

Copyright © 2001-2008 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们

京ICP证041476号