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