[ruby-gnome2-doc-cvs] [Hiki] update - tut-gst-elements-intro

Back to archive index

ruby-****@sourc***** ruby-****@sourc*****
2004年 2月 27日 (金) 19:31:34 JST


-------------------------
REMOTE_ADDR = 195.207.101.112
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/?tut-gst-elements-intro
-------------------------
  = What is a Gst::Element
  
  Gst::Element is the basic building block for the media pipeline. All the different components you are going to use are derived from Gst::Element. This means that a lot of methods you are going to use operate on objects of this class.
  
  Elements, from the perspective of GStreamer, are viewed as "black boxes" with a number of different aspects. One of these aspects is the presence of "pads", or link points. This terminology arises from soldering; pads are where wires can be attached. 
  
  == Source Elements
  
  Source elements generate data for use by a pipeline, for example reading from disk or from a sound card.
  
  Below you see how we will visualize the element. We always draw a source pad to the right of the element. 
  
  {{image_left("src-element.png")}}
  {{br}}
  
  Source elements do not accept data, they only generate data. You can see this in the figure because it only has a source pad. A source pad can only generate data.
  
  == Filters and Codecs
  
  Filter elements both have input and output pads. They operate on data they receive in their sink pads and produce data on their source pads. For example, MPEG decoders and volume filters would fall into this category.
  
  Elements are not constrained as to the number of pads they might have; for example, a video mixer might have two input pads (the images of the two different video streams) and one output pad. 
  
  {{image_left("filter-element.png")}}
  {{br}}
  
  The above figure shows the visualisation of a filter element. This element has one sink (input) pad and one source (output) pad. Sink pads are drawn on the left of the element.
  
  {{image_left("filter-element-multi.png")}}
  {{br}}
  
  The above figure shows the visualisation of a filter element with more than one output pad. An example of such a filter is the AVI splitter (demultiplexer). This element will parse the input data and extract the audio and video data. Most of these filters dynamically send out a signal when a new pad is created so that the application programmer can link an arbitrary element to the newly created pad.
  
  == Sink Elements
  
  Sink elements are terminal points in a media pipeline. They accept data but do not produce anything. Disk writing, soundcard playback, and video output would all be implemented by sink elements.
  
  {{image_left("sink-element.png")}}





ruby-gnome2-cvs メーリングリストの案内
Back to archive index