mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-21 14:48:14 +00:00
018a6f381b
Original commit message from CVS: First draft of Chapter 1 (introduction) and Chapter 2 (basic concepts) of the GStreamer manual.
81 lines
1.3 KiB
Text
81 lines
1.3 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)
|
|
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)
|
|
|
|
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
|
|
|
|
|