Ginga.ar changelog 1.3.0
Bugs fixed
- Librería gingacc-ic, fix en linkeo con libcurl.
- Librería telemidia-links, path de seguridad se pasó a /, para soportar aplicaciones con HTML desde cualquier path.
Cambios referidos a ABNT NBR 15606-2:2011
- Librería gingacc-player, se completó la función lua::clear para que utilize los parámetros.
- Colores deprecated por estar fuera de norma: pink, orange, magenta, cyan, lightGray, darkGray.
- Se agregó el color transparent y se mantiene el backward compatibility por ésta versión entre magenta y transparent.
Compilación
- Librería telemidia-links, se pasó a compilar con CMake, para remover por completo las dependencias de autotools.
- Se agregó como required la librería gtest.
- El RGBA de background se paso a definir desde CMake.
Otros
- Se actualizaron las versiones de las librerias dtv-util y dtv-connector.
- Se integró para el método de input en LUA el soporte de press/release de teclas.
Ginga.ar changelog 1.2.0
Cambios en la forma de construcción
Se optimizó el uso de cmake para la construcción del middleware. A continuación se listan algunos detalles.
Estructura: En la raiz existen 2 carpetas:
- src: contiene las carpetas que antes se encontraban en la raiz, es decir todo las libs de ginga.
- config: contiene todos los .cmake "globales" al proyecto
- Dentro de cada lib/tool, se encuentra el archivo CMakeLists.txt, que solo define las dependencias e información propia del proyecto. Además hay un archivo sources.cmake que contiene la lista de los archivos a compilar/instalar y es necesario que cada vez que se borre/agregue un archivo en algún proyecto el archivo sources.cmake se mantenga actualizado.
Configuración del build: Existe una jerarquia de archivos dentro de la carpeta config para la configuración del build (ver)
Flags de compilación para PC
- Debug: -Wall -Wextra -g -fPIC
- RelWithDebInfo: -Wall -Wextra -O2 -g -fPIC
- Release -Wall -Wextra -O2 -fPIC
Bugs fixed
- Al cambiar la posición de un media de texto este desaparecía.
- Al sacarle el foco a un media de texto, este no se actualizaba.
- Parseo en animaciones
- Media de audio sin región ahora funciona
- Autodetección de player para archivos con extensión en mayúscula (JPG, PNG, HTML, WAV, etc)
- Error que se producía al tener un contexto sin referencias dentro de un switch.
- Parámetro style de la función canvas::attrFont dentro de lua.
- Dependiendo el orden en que se pusieran las propiedades de fuentes a veces no las seteaba adecuadamente.
- Al no definir el defaultDescriptor en un descriptorSwitch.
- Al tener regiones anidadas se seteaban mal las propiedades right y bottom en las regiones hijas.
Ginga.ar changelog 1.1.0
Fixes a Ginga
- Fixes: memory leaks, double free, inicialización de datos estáticos que dependían del orden de linkeo, casting de punteros.
- Se agregó la reserva de las teclas de colores a la reserva inicial de teclas.
- Fixes en el carrousel de objetos.
- Se solucionó problema de las transparencias (se veían en negro).
Editing Commands
- Soporte de EditingCommands por medio de StreamEvents.
Tests
- Se agregaron tests de unidad.
Telemidia-links
- Se solucionó un problema que ocurría cuando se intentanba acceder a un recurso inexistente.
- Uso de PTHREADS.
Capa de presentación
- Se implementaron las funciones pixel(x, y, R, G, B, A: number) y drawEllipse(mode: string; xc, yc, width, height, ang_start, ang_end: number) del módulo canvas de Lua.
Varios
- Se modificó la compilación para que compile estático y shared.
- Refactoring del ciclo de vida de las aplicaciones.
- Se agregó el DVB provider.
- Se agregó un comando para obtener la versión de build Ginga.
- Optimización de providers.
- Soporte para múltiples secciones de tablas genéricas.
Ginga.ar changelog 1.0.1
Los cambios que listamos más abajo se han hecho a partir de la implementación de referencia de Ginga NCL desarrollada por el laboratorio Telemidia, PUC Rio de Janeiro.
Propiedades agregadas en la capa de presentación del middleware
En objetos media y descriptor: Top, Bottom, Left, Right, Width, Height, Bounds, Location, Size En objetos media:
- Se implementó la propiedad visible de manera estática
En objetos media de texto:
- fontFamiliy, fontVariant, fontWeight, fontStyle
- Propiedad fontWeight: Para poder levantar correctamente las fuentes en negrita se tiene que tener además de la fuente normal una que se llame igual pero terminada en -bold.ttf. Ambas fuentes deben estar ubicadas en la misma carpeta. Por ejemplo si se tiene DejaVuSans.ttf también se tendría que tener DejaVuSans-bold.ttf
- Propiedad fontStyle: Se usa el mismo sistema que en fontWeight, pero para la fuente en cursiva se deberá llamar nombreFuente-italic.ttf. Y para negrita y cursiva: nombreFuente-bold-italic.ttf
En objetos media de Imagen y HTML se agregó el cambio de src dinámico
Propiedades arregladas en la capa de presentación del middleware
- Se arregló el cálculo del right y bottom.
- Los porcentajes de las propiedades se calculan en base al padre (antes se hacían en base al tamaño de la región del objeto Media).
- Si se utilizan valores menores a 0 se castean a 0.
- Se arregló la propiedad fontSize para objetos media de texto
Cambios en la arquitectura del middleware
- Se eliminaron módulos no necesarios gingacc-tuner gingacc-dataprocessing gingacc-tsparser
- Se agregó un módulo que permite la interacción de Ginga con el firmware del STB. gingacc-connector, permite escalar el video principal, reserva de teclas, controlar la ejecución de Ginga
Arreglos en carrousel de datos
- Arreglado un problema de corrupción de datos enviados a través del carrousel. Ahora los archivos se reciben correctamente.
- El carrousel de datos tiene problema para armar módulos grandes (aprox. más de 1Mb), se realizó un arreglo rápido que soluciona ésto. Falta arreglar un detalle todavía, que podría generar problemas con módulos de cierto tamaño.
- Cuando se crean archivos del carrousel de datos, ahora se crean con los permisos correctos.
Memory leaks
(se detallan algunos)
- No se vaciaba un set en EventTransition
- Solucionado un leak en el manejo de eventTransitions
- En el transcode de un string al parsear un .ncl
- Implementados destructores de algunas clases implicadas en el parseo
- En el paso de parámetros de descriptor a los players durante la inicialización del player
- Faltaba destructor en NclDocument
- Destructor de LayoutRegion no eliminaba a las regiones hijas
- Solucionado leak que se producía al registrar eventos de teclado
- Solucionado leak que se producía al comenzar la reproducción de un player
- Se agregó la desinicialización de DFB. Se corrigieron algunos lugares para mejorar la salida de Ginga
- Se optimizó parte del manejo de fuentes en los text players
Varios
- Se modificó la compilación de Ginga a binario estático
- Se agregó la fuente Tiresias-PC, en Regular, Bold e Italic para cumplir con la ABNT
- Se arreglaron funciones de ginga-util
- Se fuerza la salida de Ginga al presionar exit
- Se arregló la captura de teclas F1..F7 para que funcione desde LUA
- Se arregló parte del manejo de secciones críticas debido a errores generados por el uso de multi-threading
- Se agregó el modo anonymous en el browser Links

