TODO: Ajeitar a formatação desse artigo.
TODO: Hospedar os patchs em outros lugares pois atualmente ele está pedindo o login. Ao utilizar o wget é baixado a página html de login.
TODO: Fazer um patch gigante com todas essas correções?

Importante: Neste guia usamos a versão 1.2 do DirectFB e no final não conseguimos fazer os aplicativos NCL com vídeo funcionar.
O nosso colaborador Frederico Martins, de MG, que contribuiu com a solução de alguns problemas, elaborou um guia usando a versão 1.0 do DirectFB e no final obteve êxito rodando todos os tipos de aplicativo. Segue o guia em anexo (final da página).

Compilando o Ginga-NCL

Ambiente

Compilando o Ginga-NCL através do guia do Software Público, que está um pouco defasado. Este nosso guia está sendo feito com base no Ubuntu 9.10 e DirectFB 1.2.7.

Primeiramente instale os seguintes pacotes:

$ sudo apt-get install subversion git-core build-essential autoconf libxine-dev libxine1 libxine1-ffmpeg libssl-dev ubuntu-restricted-extras libimlib2-dev  libjasper-dev libasound2-dev

O guia original fala que precisamos exportar variáveis para que o Ginga-NCL ache as dependências na hora de compilar. Iremos automatizar esse processo aqui adicionado as variáveis no arquivo .bashrc para que elas sejam exportadas toda vez que abrirmos o console. Para isso basta rodar os seguintes comandos.

$ echo "export LD_LIBRARY_PATH=/usr/local/lib/lua/5.1/socket:/usr/local/lib/ginga:/usr/local/lib/ginga/adapters:/usr/local/lib/ginga/cm:/usr/local/lib/ginga/converters:/usr/local/lib/ginga/ic:/usr/local/lib/ginga/iocontents:/usr/local/lib/ginga/players:/usr/local/lib/ginga/dp:/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib:/usr/kerberos/lib" >> ~/.bashrc

$ echo "export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig" >> ~/.bashrc

É preciso fechar e abrir o terminal.

Agora vamos instalar o DirectFB.

// Instalar DirectFB
$ sudo apt-get install libdirectfb-1.2-0 libdirectfb-dev 

// Crie o arquivo ~/.directfbrc com o seguinte conteúdo:
system=x11
mode=960x540

Precisamos primeiramente compilar o xine-lib. Isso pode demorar um pouco.

$ sudo apt-get install libpostproc-dev
$ sudo apt-get upgrade libtool

$ wget http://prdownloads.sourceforge.net/xine/xine-lib-1.1.18.tar.bz2
$ tar -xvjf xine-lib-1.1.18.tar.bz2
$ cd xine-lib-1.1.18

$ ./configure
$ make
$ make install

Agora precisamos instalar um patch (ver anexo na página do wiki).
TODO: ainda precisa disso?

$ wget http://dev.openginga.org/attachments/263/xine-lib-1.1.17-headers-thiz.patch
$ sudo mv xine-lib-1.1.17-headers-thiz.patch /usr/local/include/xine/
$ cd /usr/local/include/xine/
$ sudo patch -p0 < /usr/local/include/xine/xine-lib-1.1.17-headers-thiz.patch 

Também precisamos do FusionSound é necessário para a compilação do middleware GingaNCL. Para a compilação do FusionSound 1.1.1 deve-se proceder da seguinte forma:
TODO: Versão do GIT

// Instalar dependências
$ sudo apt-get install libavcodec-dev libavformat-dev

// Baixar e descompactar o FusionSound
$ wget http://www.directfb.org/downloads/Core/FusionSound/FusionSound-1.1.1.tar.gz
$ tar -xvvzf FusionSound-1.1.1.tar.gz

// Aplicar patch de correção
$ cd FusionSound-1.1.1
$ wget http://dev.openginga.org/attachments/264/FusionSound-1.1.1_compile_with_DirectFB-1.2.patch
$ patch -p0 < FusionSound-1.1.1_compile_with_DirectFB-1.2.patch

// Compilar e instalar
$ ./autogen.sh
$ make 
$ sudo make install

Agora vamos instalar o DirectFB-extras.

$ wget http://www.directfb.org/downloads/Extras/DirectFB-extra-1.2.0-rc1.tar.gz
$ tar -xvvzf DirectFB-extra-1.2.0-rc1.tar.gz
$ cd DirectFB-extra-1.2.0-rc1
$ ./autogen.sh --disable-ffmpeg

// No final da mensagem de saída é importante que o Xine esteja ativado (Xine       yes)

$ make
$ sudo make install

E o DirectFB-examples

$ wget http://www.directfb.org/downloads/Extras/DirectFB-examples-1.2.0.tar.gz
$ tar -xvvzf DirectFB-examples-1.2.0.tar.gz
$ cd DirectFB-examples-1.2.0
$ ./configure
$ make
$ sudo make install

Tente executar os seguintes comandos para testar se o DirectFB está funcionando. df_window, df_dok e df_andi

A maioria dos problemas que encontramos ocorreu devido ao Makefile dos arquivos estarem configurado com uma versão antiga do pacote libtool. Instale os pacote do libtool descrito abaixo. A versão atual do pacote (a que consta no repositório do Ubuntu) não funcionará neste guia.

$ sudo aptitude remove libtool
$ wget http://sft.if.usp.br/debian/pool/main/libt/libtool/libtool_1.5.26-4+lenny1_i386.deb
$ sudo dpkg -i libtool_1.5.26-4+lenny1_i386.deb

--
h2. Obtendo os pacotes

O código-fonte Ginga-NCL está disponível por meio do repositório Ginga no SVN do Portal do Software Público Brasileiro. Os comandos a seguir disparam a obtenção do código:

$ svn co --username SeuEmail@Provedor.com http://svn.softwarepublico.gov.br/svn/ginga/telemidia-util-cpp/trunk telemidia-util-cpp
$ svn co --username SeuEmail@Provedor.com http://svn.softwarepublico.gov.br/svn/ginga/telemidia-links-cpp/trunk telemidia-links-cpp
$ svn co --username SeuEmail@Provedor.com http://svn.softwarepublico.gov.br/svn/ginga/gingacc-cpp/trunk gingacc-cpp
$ svn co --username SeuEmail@Provedor.com http://svn.softwarepublico.gov.br/svn/ginga/ncl30-cpp/trunk ncl30-cpp
$ svn co --username SeuEmail@Provedor.com http://svn.softwarepublico.gov.br/svn/ginga/gingancl-cpp/trunk gingancl-cpp
$ svn co --username SeuEmail@Provedor.com http://svn.softwarepublico.gov.br/svn/ginga/ginga-cpp/trunk ginga-cpp
$ svn co --username SeuEmail@Provedor.com http://svn.softwarepublico.gov.br/svn/ginga/gingalssm-cpp/trunk gingalssm-cpp

Substitua pelo e-mail usado por você para se registrar na Comunidade Ginga.

--

Compilando os pacotes do Ginga-NCL

O procedimento normal para compilar os pacotes é:

$ sh autogen.sh         # ou ./autogen.sh
$ make
$ sudo make install

--

1. Pacote: telemidia-util-cpp

Compile e instale normalmente.

--

2. Pacote: telemidia-links-cpp

O Makefile está configurado para uma versão antiga do DirectFB. Em versões recentes a pasta include foi movida de /usr/include/ para /usr/local/include/. Crie um link para resolver o problema.

$ sudo ln -s /usr/include/directfb /usr/local/include/directfb

Se lembre de instalar dependências do guia original:

$ sudo apt-get install libtiff4-dev libzip-dev libgssapi-krb5-2 libkrb5-dev libadns1-dev libgpm-dev

Lembrete: o autogen.sh deve ser rodado assim: $ ./autogen.sh --enable-graphics --with-directfb --enable-javascript --without-x --without-sdl

--

3. Pacote: gingacc-cpp

3.1. Pacote: gingacc-cpp/gingacc-cm

Instale o pacote libexpat-dev e prossiga normalmente.

--

3.2. Pacote: gingacc-cpp/gingacc-system

Remova o pacote libtool que você acabou de instalar e reinstale o .deb.

OBS: Nesse ponto o df_xine parou de funcionar.
Recompilei o DirectFB-extras (lembrando do ./autogen.sh --disable-ffmpeg) e deu erro de som (oss). Instalei o pacote alsa-oss e funcionou.
Update: às vezes ele dá o erro e quando eu tento de novo ele dá certo :S

Vá para a pasta do gingacc-system e faça a instalação normalmente.

OBS: o teste na pasta test não funcionou.

Compile e instale normalmente.

--

3.3. Pacote: gingacc-cpp/gingacc-ic

$ sudo apt-get install libfaad-dev ffmpeg mplayer libcurl4-openssl-dev

É preciso fazer uma modificação no código (Fonte):

TODO: Essa modificação será feita diversas vezes em outros arquivos ao longo do guia. Seria bom estudar e ver se é seguro fazer isso

Linha 140 do arquivo gingacc-ic/src/curlic/CurlInteractiveChannel.cpp
- Antes:
 fd = open(localUri.c_str(), O_CREAT | O_WRONLY | O_LARGEFILE);

- Depois:
 fd = open(localUri.c_str(), O_CREAT | O_WRONLY | O_LARGEFILE, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);

Prossiga com a compilação e instalação normalmente.

--

3.4. Pacote: gingacc-cpp/gingacc-um

É preciso fazer uma modificação no código:

Linha 124 do arquivo gingacc-um/src/Update.cpp
- Antes:
 fd = open(localFileName.c_str(), O_CREAT | O_WRONLY | O_LARGEFILE);

- Depois:
 fd = open(localFileName.c_str(), O_CREAT | O_WRONLY | O_LARGEFILE, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);

Prossiga com a compilação e instalação normalmente.

--

3.5. Pacote: gingacc-cpp/gingacc-player

Este pacote requer lua >= 5.1.2 e luasocket >= 2.0 instalado. Ao instalar estes pacotes pelo Aptitude o configure disse que não os conseguiu encontrar. O único jeito que achei de corrigir este problema foi compilado os dois pacotes. É muito importante se lembrar de ter exportado as variáveis que tem no início deste wiki para que os seguintes pacotes sejam instalados nas pastas corretas.

$ sudo apt-get install libreadline6-dev

$ wget http://www.lua.org/ftp/lua-5.1.4.tar.gz
$ tar -xvvzf lua-5.1.4.tar.gz
$ cd lua-5.1.4
$ make linux
$ sudo make install

$ cd ..

$ wget http://luaforge.net/frs/download.php/2664/luasocket-2.0.2.tar.gz
$ tar -xvvzf luasocket-2.0.2.tar.gz
$ cd luasocket-2.0.2
$ make
$ sudo make install

Também temos que corrigir um outro pequeno problema para evitar o erro ../include/IPlayer.h:94: error: ‘int64_t’ does not name a type.

// Vá no arquivo gingacc-player/include/IPlayer.h e inclua a seguinte linha no cabeçalho

#include <stdint.h>

Para evitarmos o erro /usr/bin/ld: cannot find -lcore

Precisamos criar um link simbólico (crédito para Frederico Martins de MG que me deu a dica por email).

$ sudo ln -s /usr/local/lib/lua/5.1/socket/core.so  /usr/local/lib/lua/5.1/socket/libcore.so

Prossiga com a compilação e instalação normalmente.

--

3.6. Pacote: gingacc-cpp/gingacc-tuner

Também precisa fazer o mesmo include acima nos seguintes arquivos:

// Inclua a linha

#include <stdint.h>

// no cabeçalho dos seguintes arquivos

- gingacc-tuner/include/providers/IDataProvider.h
- gingacc-tuner/include/providers/FileSystemProvider.h
- gingacc-tuner/include/providers/frontends/isdbt/ISDBTFrontend.h

Para evitar erros do tipo providers/frontends/isdbt/ISDBTFrontend.cpp:173: error: ‘DTV_ISDBT_PARTIAL_RECEPTION’ was not declared in this scope precisamos instalar o v4l-dvb.

$ wget http://linuxtv.org/hg/v4l-dvb/archive/929298149eba.tar.bz2
$ tar -xvjf 929298149eba.tar.bz2
$ cd v4l-dvb-929298149eba/

$ make

// Corrigir  erro relativo ao FireDTV, modifique a seguinte linha no arquivo v4l/.config

Antes: 
- CONFIG_DVB_FIREDTV=m

Depois: 
- CONFIG_DVB_FIREDTV=n

$ make                       *# Demora bastante*
$ sudo make install

OBS: Será que não era melhor ter feito isso lá no começo? Vi que alguns pacotes na hora do ./configure avisou que não ia suportar DVB.

Agora faça a seguinte cópia (de dentro da pasta v4l-dvb-929298149eba):

$ sudo cp linux/include/linux/dvb/* /usr/include/linux/dvb

Agora sim conclua a instalação do gingacc-tuner seguindo o procedimento de praxe

$ sh autogen.sh
$ make
$ sudo make install

--

3.7. Pacote: gingacc-cpp/gingacc-tsparser

Compile e instale normalmente.

OBS: Test não rodou.

--

3.8. Pacote: gingacc-cpp/gingacc-dataprocessing

Também precisa fazer o mesmo include acima nos seguintes arquivos:

// Inclua a linha

#include <stdint.h>

// no cabeçalho dos seguintes arquivos

- gingacc-dataprocessing/include/dsmcc/StreamEvent.h
- gingacc-dataprocessing/include/dsmcc/npt/NPTReference.h 
- gingacc-dataprocessing/include/dsmcc/npt/Stc.h
- gingacc-dataprocessing/include/ncl/edit/EventDescriptor.h

É preciso fazer uma modificação no código:

Linha 192 do arquivo gingacc-dataprocessing/src/dsmcc/carousel/object/ObjectProcessor.cpp
- Antes:
 fd = open(path.c_str(), O_CREAT|O_WRONLY|O_LARGEFILE);

- Depois:
 fd = open(path.c_str(), O_CREAT|O_WRONLY|O_LARGEFILE, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);

Linha 176 do arquivo gingacc-dataprocessing/src/ncl/NCLSectionProcessor.cpp 
- Antes:
 fd = open(fileUri.c_str(), O_LARGEFILE | O_WRONLY | O_CREAT);

- Depois: 
 fd = open(fileUri.c_str(), O_LARGEFILE | O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);

Prossiga normalmente com a compilação e instalação do pacote.

OBS: Teste deu erro.

--

3.9. Pacote: gingacc-cpp/gingacc-contextmanager

Editar no arquivo gingacc-contextmanager/src/ContextManager.cpp

*Linha 320*
- Antes:
 fd = open(usersUri.c_str(), O_CREAT | O_LARGEFILE | O_WRONLY);

- Depois: 
 fd = open(usersUri.c_str(), O_CREAT | O_LARGEFILE | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
*Linha 345* 
- Antes:
 fd = open(contextsUri.c_str(), O_CREAT | O_LARGEFILE | O_WRONLY);

Depois:
 fd = open(contextsUri.c_str(), O_CREAT | O_LARGEFILE | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);

Prossiga normalmente com a compilação e instalação do pacote.

--

3.10. Pacote: gingacc-cpp/gingacc-multidevice

Linha 122 do arquivo gingacc-multidevice/src/services/device/PassiveDeviceService.cpp
- Antes:
 fd = open(uri.c_str(), O_LARGEFILE | O_WRONLY | O_CREAT);

- Depois: 
 fd = open(uri.c_str(), O_LARGEFILE | O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);

Prossiga normalmente com a compilação e instalação do pacote.

--

4. Pacote: ncl30-cpp

4.1. Pacote: ncl30-cpp/ncl30

Compile e instale normalmente.

--

4.2. Pacote: ncl30-cpp/ncl30-converter

Instale a dependência libxerces-c2-dev e prossiga normalmente com a compilação e instalação do pacote.

--

5. Pacote: gingancl-cpp

Compile e instale normalmente.

Teste deu erro.

--

6. Pacote: gingalssm-cpp

É preciso rodar o autogen.sh com alguns parâmetros.

$ sh autogen.sh --enable-tuner --enable-tsparser --enable-dataprocessing

$ make
$ sudo make install

--

7. Pacote: ginga-cpp

Compile e instale normalmente.

--

Fim

Utilizando o Ginga-NCL versão C++

Para apresentar um documento NCL a partir de um arquivo, use o seguinte comando:

$ /usr/local/sbin/ginga --ncl /caminho/para/arquivo.ncl

Para apresentar um fluxo de transporte MPEG-2 transmitido por unicast UDP e cujo fluxo de dados é compatível com o SBTVD-T, edite o arquivo /usr/local/etc/ginga/files/tuner/tuner.ini e coloque o IP do servidor do fluxo de transporte. Em seguida, use o comando abaixo:

$ /usr/local/sbin/ginga

NOTA: Aqui eu consegui rodar aplicações que não precisem de vídeo (ex: Riquezas do Sutão) mas obtive erro com outras aplicações (ex: ClimaTV).

O erro é esse:

  ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.2.7 |~~~~~~~~~~~~~~~~~~~~~~~~~~
        (c) 2001-2008  The world wide DirectFB Open Source Community
        (c) 2000-2004  Convergence (integrated media) GmbH
      ----------------------------------------------------------------

(*) DirectFB/Core: Single Application Core. (2009-06-02 06:33) 
(*) Direct/Thread: Started 'X11 Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...
(*) DirectFB/Input: X11 Input 0.1 (directfb.org)
(*) DirectFB/Genefx: MMX detected and enabled
(*) DirectFB/Graphics: MMX Software Rasterizer 0.6 (directfb.org)
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
(*) X11/Window: Creating  960x 540 RGB32 window...
(*) X11/Display: Using XShm.
(#) DirectFBError [gingacc-systemio DFBDeviceScreen TestConfig error: ]: Not supported!
InputManager::initializeInputIntervalTime imperative = '0' declarative = '200'
ginga main() NCLFILE = /home/ufpb/Downloads/ClimaTV/main.ncl
PresentationEngineManager::openNclFile document process time: 0
FormatterMediator::printData(0x9ed2cc8) baseId: -1 playerId: /home/ufpb/Downloads/ClimaTV/main.ncl devClass: 0 x: 0 y: 0 w: 960 h: 540 enableGfx: 1 parentDocId:  docId: 
(*) Direct/Interface: Loaded 'PNG' implementation of 'IDirectFBImageProvider'.
ComponentManager::releaseComponentFromObject 'ImageProvider'
BroadcastSocketService::discoverBroadcastAddress interfaceName: 'eth0
PresentationContext::initializeSystemValues 
SystemInfo::getSystemLanguage can't find 'system.language, return por
PresentationContext::getPropertyValue prop 'default.focusBorderColor' == 'blue'
PresentationContext::getPropertyValue prop 'default.focusBorderWidth' == '3'
PresentationContext::getPropertyValue prop 'default.selBorderColor' == 'green'
FormatterFocusManager::setKeyHandler(0xa17f330) isHandler '1' this->isHandler '0' parentManager '0'
FormatterMediator::FormatterMediator(0x9ed2cc8) isEmbedded = '0'
TimeStamp: 0.764
ComponentManager::releaseComponentFromObject 'NclDocumentConverter'
PrivateBaseContext::addDocument id='chat_tela' url='/home/ufpb/Downloads/ClimaTV/main.ncl' all done
ComponentManager::releaseComponentFromObject 'ImageProvider'
...
ComponentManager::releaseComponentFromObject 'ImageProvider'
FormatterMediator::getDepUriFromNode checking descriptor 'dLua'
FormatterMediator::getDepUriFromNode checking descriptor 'dVideoFullscreen'
FormatterMultiDevice::addActiveUris activeBaseUri=/home/ufpb/Downloads/ClimaTV/
PresentationContext::getPropertyValue prop 'default.focusBorderTransparency' == '0'
PresentationContext::getPropertyValue prop 'default.focusBorderColor' == 'blue'
PresentationContext::getPropertyValue prop 'default.focusBorderWidth' == '3'
PresentationContext::getPropertyValue prop 'default.selBorderColor' == 'green'
FormatterScheduler::runAction acquiring player for '-1/chat_tela/videoAbertura/dVideoFullscreen' TimeStamp: 1.294
DFBVideoProvider.cpp <81>:
    (!) [30910:    0.000] --> Caught signal 11 (at 0x14, invalid address) <--
 (!!!)  *** WARNING [still objects in 'Window Pool'] *** [../../../lib/fusion/object.c:241 in fusion_object_pool_destroy()]
 (!!!)  *** WARNING [still objects in 'Layer Region Pool'] *** [../../../lib/fusion/object.c:241 in fusion_object_pool_destroy()]
 (!!!)  *** WARNING [still objects in 'Layer Context Pool'] *** [../../../lib/fusion/object.c:241 in fusion_object_pool_destroy()]
 (!!!)  *** WARNING [still objects in 'Surface Pool'] *** [../../../lib/fusion/object.c:241 in fusion_object_pool_destroy()]
Aborted

Fui testar o openginga e de início não funcionou.
Compilei o DirectFB e o xine-lib e o openginga passou a funcionar.

O Ginga-NCL agora mostra o seguinte erro:

   ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.2.7 |~~~~~~~~~~~~~~~~~~~~~~~~~~
        (c) 2001-2008  The world wide DirectFB Open Source Community
        (c) 2000-2004  Convergence (integrated media) GmbH
      ----------------------------------------------------------------

(*) DirectFB/Core: Single Application Core. (2010-04-16 01:04) 
(*) Direct/Thread: Started 'X11 Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...
(*) DirectFB/Input: X11 Input 0.1 (directfb.org)
(*) DirectFB/Genefx: MMX detected and enabled
(*) DirectFB/Graphics: MMX Software Rasterizer 0.6 (directfb.org)
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
(*) X11/Window: Creating  960x 540 RGB32 window...
(*) X11/Display: Using XShm.
(#) DirectFBError [gingacc-systemio DFBDeviceScreen TestConfig error: ]: Not supported!
InputManager::initializeInputIntervalTime imperative = '0' declarative = '200'
ginga main() NCLFILE = /home/ufpb/Downloads/ClimaTV/main.ncl
PresentationEngineManager::openNclFile document process time: 0
FormatterMediator::printData(0x9b6c128) baseId: -1 playerId: /home/ufpb/Downloads/ClimaTV/main.ncl devClass: 0 x: 0 y: 0 w: 960 h: 540 enableGfx: 1 parentDocId:  docId: 
(!) Direct/Interface: Unable to dlopen `/usr/local/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_imlib2.so'!
    --> /usr/local/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_imlib2.so: undefined symbol: dfb_surface_lock_buffer
(*) Direct/Interface: Loaded 'PNG' implementation of 'IDirectFBImageProvider'.
ComponentManager::releaseComponentFromObject 'ImageProvider'
BroadcastSocketService::discoverBroadcastAddress interfaceName: 'eth0
PresentationContext::initializeSystemValues 
SystemInfo::getSystemLanguage can't find 'system.language, return por
PresentationContext::getPropertyValue prop 'default.focusBorderColor' == 'blue'
PresentationContext::getPropertyValue prop 'default.focusBorderWidth' == '3'
PresentationContext::getPropertyValue prop 'default.selBorderColor' == 'green'
FormatterFocusManager::setKeyHandler(0xb0930e50) isHandler '1' this->isHandler '0' parentManager '0'
FormatterMediator::FormatterMediator(0x9b6c128) isEmbedded = '0'
TimeStamp: 2.814
ComponentManager::releaseComponentFromObject 'NclDocumentConverter'
PrivateBaseContext::addDocument id='chat_tela' url='/home/ufpb/Downloads/ClimaTV/main.ncl' all done
ComponentManager::releaseComponentFromObject 'ImageProvider'
..
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
FormatterMediator::getDepUriFromNode checking descriptor 'dLua'
FormatterMediator::getDepUriFromNode checking descriptor 'dVideoFullscreen'
FormatterMultiDevice::addActiveUris activeBaseUri=/home/ufpb/Downloads/ClimaTV/
PresentationContext::getPropertyValue prop 'default.focusBorderTransparency' == '0'
PresentationContext::getPropertyValue prop 'default.focusBorderColor' == 'blue'
PresentationContext::getPropertyValue prop 'default.focusBorderWidth' == '3'
PresentationContext::getPropertyValue prop 'default.selBorderColor' == 'green'
FormatterScheduler::runAction acquiring player for '-1/chat_tela/videoAbertura/dVideoFullscreen' TimeStamp: 3.371
(!) Direct/Interface: Unable to dlopen `/usr/local/lib/directfb-1.2-0/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_xine.so'!
    --> /usr/local/lib/directfb-1.2-0/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_xine.so: undefined symbol: idirectfb_singleton
DFBVideoProvider.cpp <81>:

xine-lib-1.1.17-headers-thiz.patch - Patch para corrigir *this -> *thiz no xine (16,7 KB) Fernando Brito, 09/04/2010 11:49

FusionSound-1.1.1_compile_with_DirectFB-1.2.patch (2,2 KB) Fernando Brito, 09/04/2010 14:49

Guia_Ginga-NCL_com_DirectFB_1.0 (8,5 KB) Fernando Brito, 23/04/2010 20:15