ruby-****@sourc*****
ruby-****@sourc*****
2005年 3月 24日 (木) 21:47:18 JST
------------------------- REMOTE_ADDR = 213.37.10.235 REMOTE_HOST = REMOTE_USER = ruby-gnome2-hiki URL = http://ruby-gnome2.sourceforge.jp/cgi-bin/hiki/es/hiki.cgi?tut-gst-elements-intro ------------------------- TITLE = Ques un elemento KEYWORD = = Ques un Gst::Element {{link("tut-gst-init", nil, "tut-gst", "tut-gst-elements-create")}} Gst::Element es el componente b$BaT(Bico para construir tuber$ByB(Bs. Todos los componentes que se van a usar derivan de Gst::Element. Esto significa que muchos de los m$BqU(Bodos usados pertenecen a esta clase. Los elementos, desde la perspectiva de GStreamer, se plantean como "cajas negras" con algunos aspectos diferentes. Uno de estos aspectos es la presencia de puertos (pads), o puntos de enlace. Esta terminolog$ByB(B proviene de soldar, los "pads" son el lugar donde se conectan los cables. == Elementos fuente Los elementos fuente generan datos para la tuber$ByB(B, por ejemplo leyendo desde disco o desde una tarjeta de sonido. Abajo se muestra como visualizamos el elemento. Siempre dibujaremos los puertos de salida (source pad) a la derecha del elemento. {{image_left("src-element.png")}} {{br}} Los elementos fuente no aceptan datos, tan solo los generan. Se puede ver en la imagen, ya que solo tiene un puerto de salida. Un puerto de salida solo puede generar datos. == Filtros y codecs Los elementos de filtro tienen puertos tanto de entrada como de salida. Operan con los datos que reciben de sus puertos de entrada y generan datos en sus puertos de salida. Por ejemplo, un decodificador MPEG y filtros de volumen entran es esta categor$ByB(B. Los elementos no est$BaO(B limitados en cuanto a n$B(Bero de puertos que puede tener; por ejemplo, un mezclador de v$ByE(Beo puede tener dos puertos de entrada (la imagen de dos v$ByE(Beos diferentes) y un un solo puerto de salida. {{image_left("filter-element.png")}} {{br}} La figura superior muestra un elemento de filtro. Este elemento tiene un puerto de entrada y uno de salida. Los puertos de entrada se dibujan a la izquierda del elemento. {{image_left("filter-element-multi.png")}} {{br}} La figura superior muestra un elemento de filtro con m$BaT(B de un puerto de salida. Un ejemplo de esto es un "splitter" AVI (demultiplexador). Este elemento trata los datos de entrads u$B!y(B extrae los datos de v$Bmd(Beo y de audio. La mayor$Bma(B de estos env$Bma(Bn de forma din$Bam(Bica una se$Bqa(Bl cuando se crea un nuevo puerto, de forma que el programador puede enlazar un elemento cualquiera el nuevo puerto. == Elementos de Salida Los elementos de salida son el punto final de la tuber$Bma(B. Aceptan datos pero no generan nada. La escritura en disco, reproducci$Bsn(B a trav$Bis(B de la tarjeta de sonido, y la salida de v$Bmd(Beo son implementadas con elementos de salida. {{image_left("sink-element.png")}} {{br}}