mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-29 13:11:06 +00:00
fa4a4319f0
Original commit message from CVS: A first (rude) attempt at autoplug. Autoplugging selects appropriate codecs to connect src to sink, adds them to the pipeline and connect pads. Autoplugging will run the typedetect plugin if the src pad has no MIME type. No autoplugging is done on the src and sink pads, it's hardcoded: connect 'src to sink'. No attempt at creating threads. No attempt at dynamically autoplugging not yet existing pads. Changes to (some) plugins to properly set their MIME types.
87 lines
1.4 KiB
Text
87 lines
1.4 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
|
|
|
|
|
|
advanced concepts
|
|
threads
|
|
queues
|
|
cothreads
|
|
dynamic pipeline construction
|
|
ghost pads
|
|
types
|
|
type detection
|
|
plugin registry
|
|
bufferpools
|
|
Quality of service
|
|
utility functions
|
|
|
|
|
|
XML in GStreamer
|
|
(saving)
|
|
(loading a pipeline)
|
|
|
|
Plugin development
|
|
buffers
|
|
metadata
|
|
subbufers
|
|
adding pads
|
|
libraries
|
|
|
|
GStreamer programs
|
|
editor
|
|
gstplay
|
|
|
|
|