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