After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 780195 - unable to play FLI file from autodesk animator pro
unable to play FLI file from autodesk animator pro
Status: RESOLVED FIXED
Product: clutter-gst
Classification: Other
Component: general
3.0.x
Other Linux
: Normal normal
: ---
Assigned To: clutter-gst-maint
clutter-gst-maint
Depends on:
Blocks:
 
 
Reported: 2017-03-17 12:59 UTC by Hanno Böck
Modified: 2017-07-06 15:07 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
output of COGL_DEBUG=show-source (xz packed) (1.16 KB, application/x-xz)
2017-03-28 09:07 UTC, Hanno Böck
Details

Description Hanno Böck 2017-03-17 12:59:18 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.
Comment 1 Matthew Waters (ystreet00) 2017-03-27 06:02:38 UTC
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.
Comment 2 Bastien Nocera 2017-03-27 08:37:20 UTC
(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
Comment 3 Lionel Landwerlin 2017-03-27 23:51:51 UTC
Could you paste the traces when running with COGL_DEBUG=show-source ?
Thanks!
Comment 4 Hanno Böck 2017-03-28 09:07:42 UTC
Created attachment 348870 [details]
output of COGL_DEBUG=show-source (xz packed)
Comment 5 Lionel Landwerlin 2017-03-29 21:27:22 UTC
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!
Comment 6 Daniel Drake 2017-07-06 15:07:25 UTC
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];
}