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

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

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

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

Saved successfully!

Ooh no, something went wrong!