GStreamer学习计划

来源:互联网 发布:大学生表白知乎 编辑:程序博客网 时间:2024/06/07 00:13


http://blog.csdn.net/ds1130071727/article/details/78751596 GStreamer建议的学习步骤和网页链接汇总

GStreamer学习阶段        
1).学习《GStreamer讲解》ppt入门  
2).学习《GStreamer中文开发手册.pdf》,这时结合《GStreamer基础教程》和《GStreamer播放教程》来看    
3).深入理解应用开发,参考《gstreamerMP3播放器项目》写一个项目试试手(可省)
4).在学习插件编写之前,先学习GObject,教程有《GObject教程1,2,3》,学习完这三个教程以后,应该就
对GObject的规则有一个深刻的认识,然后就可以查看插件的源码,同时结合《gstreamer插件开发手册.pdf》来学习。

5).查阅官方英文文档进一步学习,边学边写


GStreamer offical file directory:
Introduction(Perface/Foundations)
The Basic of Writing a Plugin:
Constructing the Boilerplate
Specifying the pads
The chain function
The event function
The query function
What are states?
Adding Properties
Signals
Building a Test Application

Advanced Concepts:
Request and Sometimes pads
Different scheduling modes
Caps negotiation
Memory allocation
Media Types and Properties
Events: Seeking, Navigation and More
Clocking
Quality Of Service (QoS)
Supporting Dynamic Parameters
Interfaces
Tagging (Metadata and Streaminfo)

Creating special element types:
Pre-made base classes
Writing a Demuxer or Parser
Writing a N-to-1 Element or Muxer
Writing a Manager


study a52dec plugin:
study gstaudiodecoder.c
gstaudiodecoder.c (在plugins-base目录下)
a52dec plugin code(在plugins-ugly目录下)
a52dec 继承于 gstaudiodecoder.c里面的东西
喂了把我们的东西加在gstreamer里面,你就要模仿写,全部自己写,没得必要,而且麻烦
看gstaudiodecoder.c和a52dec plugin的时候,注重理解里面的逻辑

gstbase_class->start = GST_DEBUG_FUNCPTR (gst_a52dec_start);
gstbase_class->stop = GST_DEBUG_FUNCPTR (gst_a52dec_stop);
gstbase_class->set_format = GST_DEBUG_FUNCPTR (gst_a52dec_set_format);
gstbase_class->parse = GST_DEBUG_FUNCPTR (gst_a52dec_parse);
gstbase_class->handle_frame = GST_DEBUG_FUNCPTR (gst_a52dec_handle_frame);

a52dec.c主要就是重写了这几个函数,我们到时也要重写这几个函数,也许更多


















原创粉丝点击