[ruby-gnome2-doc-cvs] [Hiki] create - tut-gst-mime-types

Back to archive index

ruby-gnome2-hiki-pt_BR****@sourc***** ruby-gnome2-hiki-pt_BR****@sourc*****
2004年 4月 11日 (日) 08:19:16 JST


-------------------------
REMOTE_ADDR = 200.216.145.78
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/pt_BR/?tut-gst-mime-types
-------------------------
= Mais Sobre os Tipos de "MIME"
{{link("tut-gst-helloworld-problem", nil, "tut-gst", "tut-gst-types")}}

O GStreamer usa tipos de "MIME" para identificar os tipos diferentes de dados que podem ser gerenciados pelos elementos. Eles s$BeP(B os mecanismos de alto-n$ByW(Bel que certificam que todo mundo estfalando sobre o tipo certo de dados.

Um tipo "MIME" ("Multipurpose Internet Mail Extension") um par de strings que denotam um certo tipo de dados. 

Exemplos incluem:

* (({audio/raw}))  : dados de $BaV(Bdio puro ("raw")
* (({audio/mpeg})) : $BaV(Bdio de MPEG
* (({video/mpeg})) : v$ByE(Beo de MPEG 

Um Gst::Element deve associar um tipo de MIME aos seus "pads" de origem e "sink" quando ele for carregado no sistema. O GStreamer sabe sobre os diferentes elementos e que tipos de dados eles esperam e emitem. Isso permite cria$Bne(Bo de elementos bastante extens$ByW(Bel e din$BcN(Bica como veremos.

Como v$ByN(Bos no cap$ByU(Bulo anterior, os tipos de "MIME" s$BeP(B adicionados a estrutura de capacidade (Gst::Caps) de um Gst::Pad.

No nosso exemplo de "OlMundo", os elementos que constru$ByN(Bos ter$ByB(Bm os seguintes tipos de "MIME" associados com os seus "pads" de origem e "sink": 

{{image_left("en:mime-world.png")}}
{{br}}

Veremos como vocpode criar um elemento baseado nos tipos de "MIME" de seus "pads" de origem e "sink". Dessa maneira, o usu$BaS(Bio final tera habilidade de escolher o decodificador de $BaV(Bdio/v$ByE(Beo preferido dele, sem vocnem se importar sobre isso.

A tipifica$Bne(Bo dos "pads" de origem e "sink" tamb$BqN(B torna poss$ByW(Bel a ligar automaticamente ('autoplug') um Gst::Pipeline. N$B(B teremos a habilidade de dizer: "construa-me um 'pipeline' que faz uma convers$BeP(B de $BaV(Bdio/mp3g para audio/raw".

((*Nota*)) A biblioteca b$BaT(Bica de GStreamer n$BeP(B tenta solucionar todos os seus problemas de "autoplug". Ela deixa as decis$B(Bs dif$ByD(Beis para o programador de aplica$Bne(Bo, onde elas perten$BmB(Bm.





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