GNOME Bugzilla – Bug 780195
unable to play FLI file from autodesk animator pro
Last modified: 2017-07-06 15:07:25 UTC
This file, an example FLI file coming with the autodesk animator pro code, doesn't properly play in gstreamer: https://github.com/AnimatorPro/Animator-Pro/blob/master/src/V/QUICKFLI/ANN2.FLI When I play it with totem it seems to work, but it's just black. It can be properly played with mpv, it's a simple animation of some curved shapes.
I can reproduce the issue with totem but not with any other video sink.(xvimagesink, glimagesink, ximagesink and gtkglsink). Which points to a totem/clutter/clutter-gst problem somewhere.
(In reply to Matthew Waters (ystreet00) from comment #1) > I can reproduce the issue with totem but not with any other video > sink.(xvimagesink, glimagesink, ximagesink and gtkglsink). Which points to > a totem/clutter/clutter-gst problem somewhere. clutter-gst... (totem:10079): Cogl-WARNING **: Shader compilation failed: 0:90(21): warning: `cogl_layer0' used uninitialized 0:103(21): warning: `cogl_layer1' used uninitialized 0:116(21): warning: `cogl_layer2' used uninitialized 0:127(16): error: no function with name 'clutter_gst_sample_video3' 0:127(2): error: operands to arithmetic operators must be numeric 0:127(2): error: could not implicitly convert error to vec4 (totem:10079): Cogl-WARNING **: Failed to link GLSL program: error: linking with uncompiled shader (totem:10079): Cogl-WARNING **: driver/gl/cogl-pipeline-progend-glsl.c:384: GL error (1282): Invalid operation
Could you paste the traces when running with COGL_DEBUG=show-source ? Thanks!
Created attachment 348870 [details] output of COGL_DEBUG=show-source (xz packed)
Fixed on the 3.0 branch. I couldn't reproduce Bastien's error though :( (sounds like a different issue though) Will release a new version shortly. Thanks!
I assume the fix is https://github.com/GNOME/clutter-gst/commit/59780296b1b8c1ccd2bdc945e0c398daea715ae1 because it links here. This change broke video playback on Endless Mini which uses a V4L2 M2M H.264 decode accelerator. The colours are wrong and there are vertical bars inserted throughout the image. I think this change is wrong. RGBx is definitely a format where one pixel occupies 32 bits in memory (even though 8 bits should be ignored). But now that clutter-gst treats it as CLUTTER_GST_RGB24, we get to clutter_gst_rgb24_upload() where we work with COGL_PIXEL_FORMAT_RGB_888, and cogl is wired up to treat this as each pixel occupying 24 bits in memory. COGL_PIXEL_FORMAT_RGB_888 = 2, int _cogl_pixel_format_get_bytes_per_pixel (CoglPixelFormat format) { int bpp_lut[] = { 0, 1, 3, 4, 2, 2, 2, 0, 1, 2, 0, 0, 3, 4, 0, 0 }; return bpp_lut [format & 0xf]; }