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

Back to archive index

ruby-gnome2-hiki-pt_BR****@sourc***** ruby-gnome2-hiki-pt_BR****@sourc*****
2004年 4月 11日 (日) 06:25:00 JST


-------------------------
REMOTE_ADDR = 200.216.145.78
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/pt_BR/?tut-gst-pads-caps
-------------------------
= Capacidades de um "Pad"
{{link("tut-gst-pads-elem", nil, "tut-gst", "tut-gst-link-elements-intro")}}

Como os "pads" desempenham um papel muito importante em como os elementos s$BeP(B vistos pelo mundo exterior, um mecanismo implementado para descrever o "pad" usando as suas capacidades.

N$B(B descreveremos resumidamente o que "capacidades" s$BeP(B, apenas o bastante para vocconseguir um entendimento b$BaT(Bico dos conceitos.

== O Que uma Capacidade

Uma capacidade anexada a um "pad" em o objetivo de descrever que tipo de multim$ByE(Bia o "pad" consegue lidar.

Uma capacidade nomeada e consiste de um tipo "MIME" e um conjunto de propriedades. 

Abaixo estum "dump" das capacidades do elemento "mad", como mostrado por (({gst-inspect})). Vocpode ver dois "pads": entrada ("sink") e sa$ByE(Ba ("src"). Ambos os "pads" t$BsN(B informa$Bnw(Bes de capacidade anexadas a eles.

O "pad" de entrada chamado "sink" e recebe dados do tipo de "MIME" 'audio/mp3'. Ele tamb$BqN(B tem tr$BsT(B propriedades: "layer", "bitrate" e "framed".

O "pad" de origem (sa$ByE(Ba) chamado "src" e envia para a sa$ByE(Ba dados do tipo de "MIME" 'audio/raw'. Ele tamb$BqN(B tem 4 propriedades: "format", "depth", "rate" e 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

== O Que S$BeP(B Propriedades

Propriedades s$BeP(B usadas para descrever informa$Bnw(Bes extras para capacidades. As propriedades basicamente consistem de uma chama (uma string) e um valor. Existem diferentes tipos de valor poss$ByW(Beis que podem ser usados: 

* Um valor integer (Fixnum, Bignum);
* Um valor "range" de integer (Range);
* Um valor boolean (TrueClass, FalseClass);
* Um valor lista (Array);
* Um valor float value (Float);
* Um valor "range" de float (Range);
* Um valor string (String).

== Para Que S$BeP(B Usadas as Capacidades

As capacidades descrevem em grande detalhe o tipo de multim$ByE(Bia que gerenciada pelos "pads". Elas s$BeP(B mais usadas para:

* "Autoplugging": automaticamente acha plugins para um conjunto de capacidades;
* Detec$Bne(Bo de compatibilidade: quando dois "pads" est$BeP(B conectados, o GStreamer pode verificar se os dois "pads" est$BeP(B conversando sobre o mesmo tipo de multim$ByE(Bia. 

== Pegando as Capacidades de um "Pad"

Um "pda" pode ter uma cadeia de capacidades anexadas a ele. Vocpode pegar a cadeia de capacidades com Gst::Pad#caps ou Gst::Pad#each_caps:

  pad.each_caps do |caps|
    puts "Nome da capacidade " + caps.name + ", tipo de MIME " + caps.mime
  end 





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