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
H.2.1.3 Instrução abortNo caso de objetos de mídia com código imperativo, a instrução abortprecisa identificar um trecho de código que já está sendo controlado. Comosempre, identificar o trecho de código significa identificar o objeto de mídiasendo controlado (representationObjectId) e a interface que identifica otrecho de código. Mais uma vez, se a interface não for especificada, a âncorade conteúdo total é assumida. Nesse caso, a instrução abort é aplicada emtodas as âncoras de conteúdo. Para os outros objetos de mídia comuns, ainstrução abort precisa apenas identificar um objeto de mídia que já estásendo controlado; se um elemento com o actionType igual a“abort” é ligado por um elo a uma interface de nó, a interface é ignoradaquando a instrução for executada.A instrução abort é ignorada pelo exibidor de objeto de mídiaimperativo se o trecho de código associado com a interface especificada nainstrução não estiver sendo executado (se o evento correspondente não estivernos estados occurring ou paused) e se o exibidor do objeto imperativo nãoestiver esperando devido a uma instrução retardada de start. Se o códigocorrespondente da interface especificada na instrução start estiver emexecução, a execução é abortada, o evento de apresentação correspondentetransita para o estado sleeping, sua transição aborts é notificada aoformatador e seu atributo occurrences não é incrementado. O atributorepetitions do evento é colocado em zero, e em nenhuma hipótese aapresentação do evento associado à interface é reiniciada. Se um trecho decódigo do objeto de mídia imperativo estiver esperando para ser executadoapós uma instrução start atrasada e uma instrução abort for emitida, ainstrução de start anterior será removida. Todo esse procedimento, excetopara o evento associado à “âncora de conteúdo total”, deve ser realizado porinstruções programadas pelo autor (programador) do objeto imperativo paracada trecho de código que pode ser parado.Ainda, apenas para os objetos de mídia com código imperativo, se aexecução de qualquer âncora de conteúdo for abortada e todos os outroseventos de apresentação estiverem no estado sleeping, a âncora de conteúdototal é colocada no estado sleeping. Se uma âncora de conteúdo for abortadae pelo menos um outro evento de apresentação do objeto estiver no estadooccurring, a âncora de conteúdo total será mantida no estado occurring. Emtodos os demais casos, se uma âncora de conteúdo for abortada, a âncora deconteúdo total será colocada no estado paused. Novamente, todo esseprocedimento deve ser realizado por instruções programadas pelo autor(programador) do objeto imperativo para cada trecho de código que pode serparado.536
Para objetos de mídia que não têm código imperativo, se o objeto nãoestiver sendo apresentado e não estiver esperando para ser apresentado apósuma instrução de start atrasada, a instrução abort é ignorada. Se o objetoestiver sendo apresentado, o evento principal e todos os eventos monitoradosno estado occurring ou paused transitam para o estado sleeping e suastransições aborts são notificadas. Qualquer apresentação de conteúdo éabortada.Se o atributo repetitions do evento for maior que zero, ele é colocado emzero e a apresentação do objeto de mídia não é reiniciada. Se o objeto demídia estiver esperando para ser apresentado após uma instrução startatrasada e uma instrução abort for emitida, a instrução start é removida.H.2.1.4 Instrução pauseA instrução pause atua de forma semelhante à instrução anterior.No caso de objetos de mídia com código imperativo, a instrução pauseprecisa identificar um trecho de código que já está sendo controlado. Comosempre, identificar o trecho de código significa identificar o objeto de mídiasendo controlado (representationObjectId) e a interface que identifica otrecho de código. Mais uma vez, se a interface não for especificada, a âncorade conteúdo total é assumida. Nesse caso, a instrução pause é aplicada emtodas as âncoras de conteúdo. Para os outros objetos de mídia comuns, ainstrução pause precisa apenas identificar um objeto de mídia que já estásendo controlado; se um elemento com o actionType igual a“pause” é ligado por um elo a uma interface de nó, a interface é ignoradaquando a instrução for executada.Também semelhante aos casos anteriores, a instrução pause é ignoradapelo exibidor de objeto de mídia imperativo se o trecho de código associadocom a interface especificada na instrução não estiver sendo executado (se oevento correspondente não estiver nos estados occurring ou paused) e se oexibidor do objeto imperativo não estiver esperando devido a uma instruçãoretardada de start. Se o código correspondente da interface especificada nainstrução start estiver em execução, a execução é pausada, o evento deapresentação correspondente transita para o estado paused e sua transiçãopauses é notificada ao formatador. O tempo em que o código se encontra noestado paused não é considerado no cálculo da duração de sua execução. Seum trecho de código do objeto de mídia imperativo estiver esperando para serexecutado após uma instrução start atrasada e uma instrução pause foremitida, a execução do código espera por uma instrução de resume paracontinuar esperando pelo retardo especificado na instrução start. Todo esseprocedimento, exceto para o evento associado à “âncora de conteúdo total”,537
- Page 525 and 526: de estados de eventos, a ideia é f
- Page 527 and 528: Por outro lado, a exibição do nó
- Page 529 and 530: C.10 Objetos de Dados XObjetos de R
- Page 531 and 532: O NCM define uma classe descritor g
- Page 533 and 534: navegação em um documento. Usuár
- Page 535 and 536: i) ela pode conter nós de conteúd
- Page 537 and 538: D.1 Conectores CausaisNo Capítulo
- Page 539 and 540: Listagem D.1 Exemplo de base de con
- Page 541 and 542: E.1 IntroduçãoUm receptor pode co
- Page 543 and 544: Como mencionamos, um NPT pode come
- Page 545 and 546: F.1 IntroduçãoComo mencionamos no
- Page 547 and 548: Assim, quando um comando de ediçã
- Page 549 and 550: carrossel de objetos diferente daqu
- Page 552 and 553: documento XML representando o metad
- Page 554 and 555: Sistema de Arquivo LocalC:\nclRepos
- Page 556 and 557: Tabela F.4 Indicação de Fragmento
- Page 558 and 559: Apêndice GHTGA apresentação com
- Page 560 and 561: pode ser sintonizado em qualquer in
- Page 562 and 563: As condições podem ser simples ou
- Page 564 and 565: condição de percurso de uma arest
- Page 566 and 567: propaganda é inserida no meio de u
- Page 568 and 569: passa a construir o grafo temporal
- Page 570 and 571: Apêndice HComportamento deExibidor
- Page 572 and 573: A instrução start emitida por um
- Page 574 and 575: associado ao elemento, mesmo se out
- Page 578 and 579: deve ser realizado por instruções
- Page 580 and 581: Para objetos de mídia com código
- Page 582 and 583: No caso de objetos de mídia com c
- Page 584 and 585: Se a composição contiver elos sen
- Page 586 and 587: ncl-NCL”, todas as portas do docu
- Page 588 and 589: Se o objeto de mídia com código d
H.2.1.3 Instrução abortNo caso de objetos de mídia com código imperativo, a instrução abortprecisa identificar um trecho de código que já está sendo controlado. Comos<strong>em</strong>pre, identificar o trecho de código significa identificar o objeto de mídiasendo controlado (representationObjectId) e a interface que identifica otrecho de código. Mais uma vez, se a interface não for especificada, a âncorade conteúdo total é assumida. Nesse caso, a instrução abort é aplicada <strong>em</strong>todas as âncoras de conteúdo. Para os outros objetos de mídia comuns, ainstrução abort precisa apenas identificar um objeto de mídia que já estásendo controlado; se um el<strong>em</strong>ento com o actionType igual a“abort” é ligado por um elo a uma interface de nó, a interface é ignoradaquando a instrução for executada.A instrução abort é ignorada pelo exibidor de objeto de mídiaimperativo se o trecho de código associado com a interface especificada nainstrução não estiver sendo executado (se o evento correspondente não estivernos estados occurring ou paused) e se o exibidor do objeto imperativo nãoestiver esperando devido a uma instrução retardada de start. Se o códigocorrespondente da interface especificada na instrução start estiver <strong>em</strong>execução, a execução é abortada, o evento de apresentação correspondentetransita para o estado sleeping, sua transição aborts é notificada aoformatador e seu atributo occurrences não é incr<strong>em</strong>entado. O atributorepetitions do evento é colocado <strong>em</strong> zero, e <strong>em</strong> nenhuma hipótese aapresentação do evento associado à interface é reiniciada. Se um trecho decódigo do objeto de mídia imperativo estiver esperando para ser executadoapós uma instrução start atrasada e uma instrução abort for <strong>em</strong>itida, ainstrução de start anterior será r<strong>em</strong>ovida. Todo esse procedimento, excetopara o evento associado à “âncora de conteúdo total”, deve ser realizado porinstruções programadas pelo autor (programador) do objeto imperativo paracada trecho de código que pode ser parado.Ainda, apenas para os objetos de mídia com código imperativo, se aexecução de qualquer âncora de conteúdo for abortada e todos os outroseventos de apresentação estiver<strong>em</strong> no estado sleeping, a âncora de conteúdototal é colocada no estado sleeping. Se uma âncora de conteúdo for abortadae pelo menos um outro evento de apresentação do objeto estiver no estadooccurring, a âncora de conteúdo total será mantida no estado occurring. Emtodos os d<strong>em</strong>ais casos, se uma âncora de conteúdo for abortada, a âncora deconteúdo total será colocada no estado paused. Novamente, todo esseprocedimento deve ser realizado por instruções programadas pelo autor(programador) do objeto imperativo para cada trecho de código que pode serparado.536