Ir para o conteúdo

 Voltar a Ginga-NCL Vi...
Tela cheia

Problemas no event.post

21 de Abril de 2010, 12:21 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 37 vezes

Caros amigos,

 estou desenvolvendo aplicações NCLua na máquina virtual antiga (0.10-2) e quis migrar para a nova versão (0.11-2). Entre outros problemas que encontrei, um me chamou mais a atenção. O módulo event, que funcionava na versão antiga, encontrou probelmas na versão mais nova. Por esse motivo, o aplicativo que fiz não funciona como deveria e não sei como resolver o problema. Abaixo o código:

 --------------------------------- teste.ncl -----------------------------------------------

<?xml version="1.0" encoding="ISO-8859-1"?>

<ncl id="teste" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
    <head>
   
        <ruleBase>
            <rule id="eq1" var="choice1" comparator="eq" value="2"/>       
            <rule id="eq2" var="choice1" comparator="eq" value="3"/>
        </ruleBase>

        <regionBase>
            <region id="r_telaInteira" zIndex="1"/>
        </regionBase>
       
        <descriptorBase>
            <descriptor id="d_telaInteira" region="r_telaInteira" explicitDur="5s"/>
        </descriptorBase>
       
        <connectorBase>
           
            <causalConnector id="onBeginStartDelay">
                <simpleCondition role="onBegin"/>
                <simpleAction role="start" delay="2s"/>
            </causalConnector>

            <causalConnector id="onEndStart">
                <simpleCondition role="onEnd"/>
                <simpleAction role="start"/>
            </causalConnector>
           
            <causalConnector id="onEndStop">
                <simpleCondition role="onEnd"/>
                <simpleAction role="stop"/>
            </causalConnector>

            <causalConnector id="onEndSet">
                <connectorParam name="var"/>
                <simpleCondition role="onEnd"/>
                <simpleAction role="set" value="$var" max="unbounded" qualifier="seq"/>
            </causalConnector>
           
        </connectorBase>
   
    </head>

    <body>
       
        <port id="port" component="media1"/>
       
        <media id="lua" src="teste.lua">
            <property name="property"/>           
            <area id="area"/>
        </media>

        <media type="application/x-ginga-settings" id="nodeSettings">
            <property name="choice1"/>
        </media>

        <switch id="switch">
            <bindRule rule="eq1" constituent="media2"/>
            <bindRule rule="eq2" constituent="media3"/>

            <media id="media2" src="videos/fig2.jpg" descriptor="d_telaInteira"/>
            <media id="media3" src="videos/fig3.jpg" descriptor="d_telaInteira"/>
        </switch>
       
        <media id="media1" src="videos/fig1.jpg" descriptor="d_telaInteira"/>
        <media id="media4" src="videos/fig1.jpg" descriptor="d_telaInteira"/>

        <link xconnector="onBeginStartDelay">
            <bind role="onBegin" component="media1"/>
            <bind role="start" component="lua" interface="area"/>       
        </link>
       
        <link xconnector="onEndStart">
            <bind role="onEnd" component="media1"/>
            <bind role="start" component="switch"/>
        </link>

        <link xconnector="onEndStart">
            <bind role="onEnd" component="switch"/>
            <bind role="start" component="media4"/>
        </link>
   
        <link xconnector="onEndStop">
            <bind role="onEnd" component="media4"/>
            <bind role="stop" component="lua"/>
        </link>       
       
        <link xconnector="onEndSet">
            <bind role="onEnd" component="lua" interface="area"/>
            <bind role="get_property" component="lua" interface="property"/>
            <bind role="set" component="nodeSettings" interface="choice1">
                <bindParam name="var" value="$get_property"/>
            </bind>
        </link>
   
       
       
    </body>
</ncl>

 

 ------------------------------------ teste.lua ---------------------------------------

 function handler (evt)
    if evt.class ~= 'ncl' then return end
    if evt.type ~= 'presentation' then return end
    if evt.label ~= 'area' then return end

    local out = {class = 'ncl', type = 'attribution',name="property", value = '0'}    
    out.value= '2'
    out.action = 'start'
    
    for k,v in pairs(out) do
        print(k,v)
    end
    
    event.post(out)
    out.action = 'stop'
    
    for k,v in pairs(out) do
        print(k,v)
    
    end
    
    event.post(out)
    evt.action = 'stop'
    event.post(evt)
end

event.register(handler)

 

Como disse, na 0.10-2 o programa funciona perfeitamente. Infelizmente, na 0.11-2 apresentou problemas.

 Agradeço qualquer ajuda ou dica.

 

Abraços

Autor: Mateus Sousa Dias


33 comentários

  • F6632e5d7daaad18e6e69b2b6fe94593?only path=false&size=50&d=404Mateus Sousa Dias(usuário não autenticado)
    26 de Abril de 2010, 11:24

     

    Pelo que observei, acredito que seja um problema de comunicação com as âncoras da mídia lua. Houve alguma mudança nessa relação? Alguém teve algum probelma parecido com este?

    Agradeço a ajuda.

    Abraços.

    • A687fdf6ce6756b24515f09e00e106ce?only path=false&size=50&d=404José Geraldo de Sousa Junior(usuário não autenticado)
      26 de Abril de 2010, 14:36

       

      Mateus,

      um detalhe nessa aplicação do seu post que eu posso lhe informar é que ao você não passar o descriptor para o nó Lua, a aplicação deixa de executar. Isso é um bug do Ginga que em breve deverá ser corrigido. Tente passar um descriptor para o nó lua.

      Talvez isto funcione.

      • F6632e5d7daaad18e6e69b2b6fe94593?only path=false&size=50&d=404Mateus Sousa Dias(usuário não autenticado)
        27 de Abril de 2010, 19:03

         

        Jośe,

        Agradeço muito pela ajuda.

        Infelizmente não acarretou em nenhuma mudança. Vou postar as mudanças que fiz seguindo seu conselho:

         

        <descriptorBase>
                    <descriptor id="d_lua" region="r_telaInteira"/>
                    <descriptor id="d_telaInteira" region="r_telaInteira" explicitDur="5s"/>
                </descriptorBase>

         

        <media id="lua" src="teste.lua" descriptor="d_lua">
                    <property name="property"/>           
                    <area id="area"/>
                </media>

         

        A aplicação continua funcionando perfeitamente na máquina 0.10, a máquina 0.11 insiste no problema.

         

        Continuo estudando e esperando sugestões.

         Abraço a todos.

         

Concurso ITU-T de Aplicações para IPTV 2012

13 de Agosto de 2012, 19:38, por Desconhecido

Gostaríamos de lembrar aos possíveis interessados que o prazo de registro para participação no Concurso ITU-T de Aplicações para IPTV 2012 (IPTV Application Challenge) se encerra nesta semana, dia 15 de agosto de 2012. Já o prazo para a submissão de aplicações se encerra no dia 07 de setembro de 2012.



NCL Eclipse 1.6 disponível

10 de Janeiro de 2012, 21:19, por Desconhecido

Caros membros da Comunidade Ginga,



Concursos de Aplicações Ginga-NCL

22 de Setembro de 2011, 3:22, por Desconhecido

    Gostaríamos de relembra-los de que há dois concursos de aplicações Ginga-NCL com inscrições ainda abertas. O convite é aberto a toda a comunidade de desenvolvedores de aplicações para o Middleware Ginga-NCL, em nível internacional. São os seguintes concursos:



Novas versões: Ginga e Ginga-NCL Virtual Set-top Box (v.0.12.3)

1 de Agosto de 2011, 20:58, por Desconhecido



Algumas Boas Notícias da Comunidade Ginga

28 de Julho de 2011, 21:31, por Desconhecido

Autor: Roberto Azevedo