Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

Programando em NCL 3.0.pdf - Telemidia - PUC-Rio Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

telemidia.puc.rio.br
from telemidia.puc.rio.br More from this publisher
11.07.2015 Views

Sistema de ArquivosService Domain = 1weatherNCLweatherConditions.nclimagesbrazilianMap.pngmoduleId = 1objectKey = 1objectKind = srg2 bindingsbinding #1objectName = weatherConditions.nclobjectType = filIOR = 1,1,2binding #2objectName = imagesobjectType = dirIOR = 1,1,3...objectKey = 2objectKind = fildata...objectKey = 3objectKind = dir1 bindingbinding #1objectName = brazilianMap.pngobjectType = filIOR = 1,2,1moduleId = 2objectKey = 1objectKind = fildata...objectKey = 2objectKind = steeventListncleventName = nclEditingCommandeventId = 3...Figura B.5 Árvore de diretórios e carrossel de objetos correspondente.Os objetos do tipo diretório (“dir”) possuem a mesma sintaxe esemântica dos objetos do tipo Service Gateway. Os objetos do tipo arquivo(“fil”) possuem como atributo, além da identificação do seu tipo, os dadosrelativos ao seu conteúdo.A Figura B.5 apresenta também um objeto do tipo eventos de fluxo(“ste”). Esse objeto é utilizado para definir tipos de eventos DSM-CCpossíveis de serem descritos no fluxo de transporte. Para isso, o objetorelaciona identificadores de descritores de eventos DSM-CC a uma string (nafigura, conteúdo do campo “eventName”). Vamos nos aprofundar um poucomais nesse tópico na Seção B.4.Finalmente, é importante notar, no exemplo da Figura B.5, que aidentificação da raiz do sistema de arquivos (diretório “weather”) é perdidaquando da geração do carrossel. A consequência dessa perda e a solução parao problema são discutidos no Capítulo 16.B.4 Eventos de FluxoEventos de fluxo são descritores embutidos em um fluxo elementarDSM-CC. Esses descritores vão fornecer um modo de sincronizar eventoscom um fluxo de mídia. Assim como os objetos de fluxo, os eventos de fluxocontêm uma lista de taps que se referem a fluxos elementares.458

Eventos de fluxo são bastante úteis para especificar eventos nãoprevisíveis.Por exemplo, em uma partida de futebol, o momento de um golque se quer sincronizar com outro objeto de mídia qualquer, como umranking dos artilheiros do campeonato.Do ponto de vista da especificação DSM-CC, o tratamento de eventosde fluxo são divididos em duas partes:1. Objetos de eventos de fluxo, transportados em carrosséis DSM-CC.2. Descritores de eventos de fluxo, transportados em seções privadasDSM-CC.Um descritor de evento de fluxo determina o disparo de um evento epode ser referido por um objeto de eventos de fluxo, que descreve em maisalto nível o que significa o evento. Mais de um descritor de evento de fluxopode ser referido por um mesmo objeto de evento de fluxo.Um objeto de eventos de fluxo possui um identificador (eventId) quedeve ser único dentro de um carrossel e um nome legível para o ser humano,por exemplo, “nclEditingCommand”. Uma aplicação pode se registrar parareceber eventos por esse nome legível. Por exemplo, o Gerenciador de BasePrivada do ambiente declarativo Ginga-NCL se registra para receber eventosnclEditingCommand que correspondem a comandos de edição de documentosNCL, como discutido no Capítulo 16. O exemplo da Figura B.5 apresenta umdesses objetos do evento (tipo “ste”), identificando no campo “eventName” astring nclEditingCommand associada ao evento “3”.Descritores de eventos são transportados em fluxos listados na tabelaPMT com o tipo igual a 0x0C. Cada descritor de evento possui umidentificador numérico único (que o associa ao objeto de eventos de fluxo) euma referência temporal, que indica ao receptor em qual instante o eventodeverá ocorrer (usualmente baseado em um fluxo denominado Normal PlayTime — NPT, como discutido no Apêndice E).Como caso particular, um descritor de eventos pode informar ao sistemareceptor que o evento deve ocorrer imediatamente; esse tipo de evento échamado de evento do it now.O SBTVD especifica que, para a maioria dos eventos de fluxo, umdescritor de evento deve ser enviado uma vez a cada segundo, pelo menoscinco vezes, antes do tempo de disparo do evento. Uma exceção, claro, é oevento do it now, que é enviado apenas uma vez.Descritores de evento de fluxo com valores de NPT permitem aoreceptor saber antecipadamente o momento exato de ocorrência do evento,permitindo maior previsibilidade, uma vez que não é possível precisar omomento da chegada de um descritor no receptor. Eles também são maisconfiáveis, uma vez que são enviados mais de uma vez.459

Eventos de fluxo são bastante úteis para especificar eventos nãoprevisíveis.Por ex<strong>em</strong>plo, <strong>em</strong> uma partida de futebol, o momento de um golque se quer sincronizar com outro objeto de mídia qualquer, como umranking dos artilheiros do campeonato.Do ponto de vista da especificação DSM-CC, o tratamento de eventosde fluxo são divididos <strong>em</strong> duas partes:1. Objetos de eventos de fluxo, transportados <strong>em</strong> carrosséis DSM-CC.2. Descritores de eventos de fluxo, transportados <strong>em</strong> seções privadasDSM-CC.Um descritor de evento de fluxo determina o disparo de um evento epode ser referido por um objeto de eventos de fluxo, que descreve <strong>em</strong> maisalto nível o que significa o evento. Mais de um descritor de evento de fluxopode ser referido por um mesmo objeto de evento de fluxo.Um objeto de eventos de fluxo possui um identificador (eventId) quedeve ser único dentro de um carrossel e um nome legível para o ser humano,por ex<strong>em</strong>plo, “nclEditingCommand”. Uma aplicação pode se registrar parareceber eventos por esse nome legível. Por ex<strong>em</strong>plo, o Gerenciador de BasePrivada do ambiente declarativo Ginga-<strong>NCL</strong> se registra para receber eventosnclEditingCommand que correspond<strong>em</strong> a comandos de edição de documentos<strong>NCL</strong>, como discutido no Capítulo 16. O ex<strong>em</strong>plo da Figura B.5 apresenta umdesses objetos do evento (tipo “ste”), identificando no campo “eventName” astring nclEditingCommand associada ao evento “3”.Descritores de eventos são transportados <strong>em</strong> fluxos listados na tabelaPMT com o tipo igual a 0x0C. Cada descritor de evento possui umidentificador numérico único (que o associa ao objeto de eventos de fluxo) euma referência t<strong>em</strong>poral, que indica ao receptor <strong>em</strong> qual instante o eventodeverá ocorrer (usualmente baseado <strong>em</strong> um fluxo denominado Normal PlayTime — NPT, como discutido no Apêndice E).Como caso particular, um descritor de eventos pode informar ao sist<strong>em</strong>areceptor que o evento deve ocorrer imediatamente; esse tipo de evento échamado de evento do it now.O SBTVD especifica que, para a maioria dos eventos de fluxo, umdescritor de evento deve ser enviado uma vez a cada segundo, pelo menoscinco vezes, antes do t<strong>em</strong>po de disparo do evento. Uma exceção, claro, é oevento do it now, que é enviado apenas uma vez.Descritores de evento de fluxo com valores de NPT permit<strong>em</strong> aoreceptor saber antecipadamente o momento exato de ocorrência do evento,permitindo maior previsibilidade, uma vez que não é possível precisar omomento da chegada de um descritor no receptor. Eles também são maisconfiáveis, uma vez que são enviados mais de uma vez.459

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!