[gst-devel] new to gstreamer

Sean McNamara smcnam at gmail.com
Tue Sep 8 17:54:19 CEST 2009


On Fri, Sep 4, 2009 at 12:54 AM, co.sam<er.mayankkapoor at gmail.com> wrote:
> Hi friends,
> Hope you are doing great.Recently i started reading gstremer to play around
> with media files but I am absolutely new to gstreamer.
> I refered an application manual of gsteamer.Also i tried some gst-launch
> examples such as:
> 1.gst-launch audiotestsrc ! audioconvert ! audioresample ! osssink(plays
> sound)
> 2.gst-launch-0.10 ximagesrc num-buffers=1 ! ffmpegcolorspace ! pngenc !
> filesink location=screenshot.png(captures the screen shot)
> Though I have tried these examples I have not understood the exact meaning
> of what these individual elements of this pipeline are donig and also how
> come these pipelines are constructed in this particular order.
> Please help in out to learn gstremer
> Any kind of help is welcome.......

These are very general questions that can be answered either by
reading the documentation (
http://gstreamer.freedesktop.org/documentation/ ) or by reading the
source code. Each plugin and element class has documentation linked to
from that same page as well.

The pipeline is constructed in that order because all data flows from
a source to a sink. That's just the way gstreamer (and most other
filter graph based media pipelines) are designed. Data originates from
a certain element; the data is processed; and the output data flows to
one or more sinks.

Thus, there are at least three basic categories of elements: sources,
sinks, and the rest.

Sources only "spit out" data; they don't require you to send them any
data. They get their data from somewhere else. For instance,
audiotestsrc generates PCM data based on sinusoidal wave patterns that
can be constructed mathematically.

Sinks only "consume" data; they don't have the ability to send data to
any other element. Sinks always get their data from somewhere else,
and deliver it to some end user. For instance, filesink consumes data
and writes it out to a file on disk.

The rest of the elements both consume and spit out data. To construct
a valid pipeline, any element that is neither a source nor a sink must
be "between" two other elements: one on the left, and one on the

The gst-launch pipeline syntax is designed to visualize data flow
progressing from left to right. On the left is the source and on the
right is the sink. You can think of it as right to left if you want,
but the pipeline syntax parser probably won't like that. If you're
creating elements programmatically, feel free to create the sink
first, and the source last. Also note that pipelines needn't be
perfectly linear; you can have data originating from one source that
ends up feeding multiple sinks. And of course you can sometimes have
data from multiple sources coalesce into one sink. There are elements
for most types of data that go both ways.



> regards,
> co.sam
> --
> View this message in context: http://www.nabble.com/new-to-gstreamer-tp25288295p25288295.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

More information about the gstreamer-devel mailing list