Bug 97950

Summary: [SKL] gst-play fails to play audio on skylake based NUC6i5SYH (xv problem)
Product: xorg Reporter: Maxin B. John <maxin.john>
Component: Driver/intelAssignee: Chris Wilson <chris>
Status: RESOLVED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: major    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
lspci output
none
kernel configuration
none
xvinfo output
none
xdpyinfo
none
gstreamer pipeline none

Description Maxin B. John 2016-09-27 14:59:59 UTC
Created attachment 126808 [details]
lspci output

NUC6i5SYH with Iris Graphics 540 (rev 0a) fails to play audio on "core-image-sato" image created using Yocto Project. Goom audio visualisation element used by the gst-play tries to use "xvimagesink" and fails there. 

Please note that if I don't use "xvimagesink", everything works as expected (eg: ximagesink, glimagesink works well)

gstreamer related bug:
https://bugzilla.gnome.org/show_bug.cgi?id=767712

Yocto bug:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=10041

Kernel version: 4.8.0-rc7
Comment 1 Maxin B. John 2016-09-27 15:00:30 UTC
Created attachment 126809 [details]
kernel configuration
Comment 2 Maxin B. John 2016-09-27 15:00:46 UTC
Created attachment 126810 [details]
xvinfo output
Comment 3 Maxin B. John 2016-09-27 15:01:23 UTC
Created attachment 126811 [details]
xdpyinfo
Comment 4 Maxin B. John 2016-09-27 15:06:45 UTC
Removing the "xf86-video-intel" helps in solving the xvimagesink problem. So, this looks like a driver related problem to me.

# smart remove xf86-video-intel
Comment 5 Maxin B. John 2016-09-27 15:16:48 UTC
Created attachment 126812 [details]
gstreamer pipeline
Comment 6 Jussi Kukkonen [inactive] 2016-09-28 07:36:04 UTC
> Goom audio visualisation element used by the gst-play tries to use
> "xvimagesink" and fails there.

This refers to gtk-play binary from gst-player: https://github.com/sdroege/gst-player. As can be seen from the gstreamer bug, the issue is not limited to gst-player (but it is a very easy 100% reproducer, playing any audio file will trigger it).

The relevant debugging is in comment 20 of the gstreamer bug: https://bugzilla.gnome.org/show_bug.cgi?id=767712#c20 :

(Sebastian Dröge (slomo))
> 0:00:00.054214202 [332m 9733[00m       0x7cf2d0 [33;01mLOG    [00m [00m   
> xvimageallocator
> xvimageallocator.c:400:gst_xvimage_allocator_alloc:<xvimageallocator0>[00m
> XShm image size is 4
> 
> This is the problem. It allocates a 4 byte image for a 320x240 BGRx frame.
> Your XV driver is broken

This is exactly what happens with the gst-player visualization as well.


Also, everything seems to work fine on non-skylake hardware: only the combination of skylake, xv and xf86-video-intel seems to trigger this.
Comment 7 Chris Wilson 2016-09-28 08:39:04 UTC
(In reply to Jussi Kukkonen from comment #6)
> > Goom audio visualisation element used by the gst-play tries to use
> > "xvimagesink" and fails there.
> 
> This refers to gtk-play binary from gst-player:
> https://github.com/sdroege/gst-player. As can be seen from the gstreamer
> bug, the issue is not limited to gst-player (but it is a very easy 100%
> reproducer, playing any audio file will trigger it).
> 
> The relevant debugging is in comment 20 of the gstreamer bug:
> https://bugzilla.gnome.org/show_bug.cgi?id=767712#c20 :
> 
> (Sebastian Dröge (slomo))
> > 0:00:00.054214202 [332m 9733[00m       0x7cf2d0 [33;01mLOG    [00m [00m   
> > xvimageallocator
> > xvimageallocator.c:400:gst_xvimage_allocator_alloc:<xvimageallocator0>[00m
> > XShm image size is 4
> > 
> > This is the problem. It allocates a 4 byte image for a 320x240 BGRx frame.
> > Your XV driver is broken

Says the client asking for the best image size for a 1x1 window.
Comment 8 Maxin B. John 2016-09-28 14:37:43 UTC
Sorry for jumping the gun here. 

We were using 2.99.917 release from  "https://www.x.org/archive/individual/driver" . Updating it to the lastest master commit (8f33f80100096f7790c7b819ce37a3ed8ce8b5fa) fixed this problem on NUC6i5SYH.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.