Las películas XviD se reproducen en Android
Una sola corrección, para Android: algunas películas XviD se quedaban en 0:00 con un error de decodificación, en móviles y televisores por igual, mientras el mismo archivo funcionaba en cualquier otro sitio.
Algunas películas XviD no se reproducían en absoluto. El reproductor se detenía en 0:00 con "ERROR_CODE_DECODING_FAILED: MediaCodecVideoRenderer error", en móviles y televisores por igual, mientras el mismo archivo se reproducía bien en el escritorio y en otras apps. No era nuevo de la 0.7.0. Android nunca había reproducido estos archivos.
Qué fallaba
Un archivo de vídeo lleva normalmente una cabecera corta que le dice al decodificador cómo se codificó la imagen. Algunas versiones XviD están empaquetadas sin ella en el sitio habitual, y la cabecera solo existe dentro del primer fotograma de la película. El reproductor de escritorio la encuentra ahí. El de Android no: leía en su lugar los siguientes bytes del archivo como cabecera, le pasaba al decodificador ese byte equivocado, y el decodificador del móvil o del televisor rechazaba el primer fotograma. Reempaquetada con la cabecera donde debe estar, la misma película se reproducía perfectamente en ambos, fotograma a fotograma idéntico.
- Ventic ahora toma la cabecera del primer fotograma y se la da al decodificador, que es lo que siempre ha hecho el reproductor de escritorio.
- Todos los demás archivos se reproducen exactamente igual que antes.
- Probado en un móvil Pixel y en un Android TV de Philips, reproduciendo la película en streaming desde un torrent y saltando por ella.
Además
- Un vídeo que no se puede decodificar lo dice enseguida. Cuando un decodificador falla en Android, Ventic vuelve a intentar la película con su propio decodificador de audio integrado, que es la solución para el sonido Dolby que no se reproduce. Ese reintento solo puede ayudar con el audio, pero un vídeo que fallaba también pasaba por él: el error tardaba el doble en aparecer y describía el reintento en vez de lo que realmente había fallado.