mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-05 00:50:21 +00:00
a703c01d94
Original commit message from CVS: More docs (most of them just empty...) Added automatic pad plugging. Added automatic dynamic pad plugging. Changed some codecs to correctly set their pad types.
92 lines
1.5 KiB
Text
92 lines
1.5 KiB
Text
Overview
|
|
Introduction
|
|
(creating multimedia apps)
|
|
(pipeline/plugin based)
|
|
|
|
Motivation
|
|
(multitude of duplicate code)
|
|
(mostly focused on one goal)
|
|
(reinvent plugin mechanisms)
|
|
(network transparency?)
|
|
(catch up with Windows(tm) world)
|
|
|
|
Goals
|
|
(clean and powerfull)
|
|
(building graphs)
|
|
(building plugins)
|
|
(object oriented)
|
|
(using GTK+ object model)
|
|
(extensible)
|
|
(alow binary only plugins)
|
|
(alow high performance)
|
|
(HW acceleration)
|
|
(efficient memory use)
|
|
(kernel buffers etc..)
|
|
|
|
Basic concepts
|
|
elements
|
|
(what is it)
|
|
(types) sink, src, filter
|
|
(have pads)
|
|
connecting elements
|
|
bin
|
|
(can contain elements)
|
|
pipeline (a complete graph)
|
|
thread (theaded operation)
|
|
buffers
|
|
(pass between elements)
|
|
(contains data)
|
|
(can cary metadata)
|
|
(use refcounting)
|
|
element states
|
|
(null)
|
|
(ready)
|
|
(paused)
|
|
(playing)
|
|
|
|
Building apps
|
|
helloworld
|
|
(fdsrc->mp3decoder->audiosink)
|
|
(step by step explanation)
|
|
More on factories
|
|
problems with helloworld
|
|
MIME types
|
|
GStreamer types
|
|
Basic types
|
|
Your second application
|
|
|
|
|
|
|
|
advanced concepts
|
|
threads
|
|
queues
|
|
cothreads
|
|
dynamic pipeline construction
|
|
ghost pads
|
|
type detection
|
|
utility functions
|
|
|
|
XML in GStreamer
|
|
(saving)
|
|
(loading a pipeline)
|
|
|
|
Plugin development
|
|
plugin types
|
|
chain based
|
|
loop based
|
|
buffers
|
|
metadata
|
|
subbufers
|
|
adding pads
|
|
libraries
|
|
plugin registry
|
|
types
|
|
type detection
|
|
QoS messages
|
|
clocks
|
|
|
|
GStreamer programs
|
|
editor
|
|
gstplay
|
|
|
|
|