[ruby-gnome2-doc-cvs] [Hiki] create - tut-gst-pads-caps

Back to archive index

ruby-****@sourc***** ruby-****@sourc*****
2005年 3月 24日 (木) 21:55:32 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-pads-caps
-------------------------
TITLE       = Capacidades de un puerto
KEYWORD     = 
= Capacidades de un puerto
{{link("tut-gst-pads-elem", nil, "tut-gst", "tut-gst-link-elements-intro")}}

Ya que los puertos juegan un papel muy importantee en como se ve un elemento desde fuera, se ha implementado un mecanismo para describir un puerto usando capacidades ("capabilities").

Describiremos brevemente que son las capacidades, lo suficiente para una comprensi b疽ica de su concepto.

== Ques una capacidad

Una capacidad se conecta a un puerto para describir que tipo de medio puede manejar.

Una capacidad toma su nombre y consiste en un tipo MIME m疽 un conjunto de propiedades.

Abajo se muestran las capacidades del elemento mad, mostradas por (({gst-inspect})). Se pueden ver dos puertos: sink y src. Ambos incluyen informacion sobre su capacidad.

El puerto sink (puerto de entrada) acepta datos del tipo MIME 'audio/mp3'. Tiene tambi駭 tres propiedades: layer, bitrate y framed.

El puerto src (puerto de salida) genera datos de tipo MIME 'audio/raw'. Y tiene cuatro propiedades: format, depth, rate y channels.

  Pads:
    SINK template: 'sink'
      Availability: Always
      Capabilities:
        'mad_sink':
          MIME type: 'audio/mp3':

    SRC template: 'src'
      Availability: Always
      Capabilities:
        'mad_src':
          MIME type: 'audio/raw':
          format: String: int
          endianness: Integer: 1234
          width: Integer: 16
          depth: Integer: 16
          channels: Integer range: 1 - 2
          law: Integer: 0
          signed: Boolean: TRUE
          rate: Integer range: 11025 - 48000

== Quson las propiedades

Las propiedades se usan para describir informaci extra sobre la capacidades. Las propiedades consisten b疽icamente en una clave (un string) y en un valor. Se pueden usar varios tipos de valor diferentes:

* integer (Fixnum, Bignum);
* integer range (Range);
* boolean (TrueClass, FalseClass);
* list (Array);
* float (Float);
* float (Range);
* string (String).

== 塵ara que se usan las capacidades?

Las capacidades describen con gran detalle que tipo de medio es manejado por los puertos. Se usan normalmente para:

* Autoconexi齊: encontrar autom癆icamente plugins con un conjunto de capacidades;
* Detecci齊 de compatibilidad: cuando se conectan dos puertos, GStreamer puede verificar si los dos puertos est瘤 tratando con el mismo tipo de medio.

== Obteniendo las capacidades de un puerto

Un puerto puede tener una cadena de capacidades unidas a el. Se puede obtener la cadena de capacidades con Gst::Pad#caps o Gst::Pad#each_caps:

  pad.each_caps do |caps|
    puts "Capability name " + caps.name + ", MIME type " + caps.mime
  end 






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