Bug 1265715

Summary: black/green screen when using gallium vaapi backend with ximagesink
Product: [Fedora] Fedora Reporter: Oliver Henshaw <oliver.henshaw>
Component: gstreamer1-vaapiAssignee: Simon Farnsworth <simon>
Status: CLOSED INSUFFICIENT_DATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 21CC: fraph24, kwizart, moez.roy, simon
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-12 21:05:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Oliver Henshaw 2015-09-23 14:10:05 UTC
Description of problem:

I tried invoking gst-launch-1.0 with similar options to those used by firefox - at least according to https://bugzilla.mozilla.org/show_bug.cgi?id=894372#c8 which is hopefully still current. Playback has no problems without vaapi or with LIBVA_DRIVER_NAME=vdpau or without ximagesink, but:

$ LIBVA_DRIVER_NAME=gallium gst-launch-1.0 --gst-debug=*:2 --gst-debug-no-color playbin uri=file:///home/watcher/Videos/test.mp4 video-sink=ximagesink

Shows no video, just a green square with colored glitches on the very top. Running without software color balance (flags=0x217) still shows no video but now the playback window is pure black.

Both times, the output shows:

Setting pipeline to PAUSED ...
0:00:00.106054872  4010      0x24e6a60 WARN                 basesrc gstbasesrc.c:3470:gst_base_src_start_complete:<source> pad not activated yet
0:00:00.107819905  4010      0x24e6a60 WARN                 basesrc gstbasesrc.c:3470:gst_base_src_start_complete:<source> pad not activated yet
Pipeline is PREROLLING ...
libva info: VA-API version 0.36.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'gallium'
libva info: Trying to open /usr/lib64/dri/gallium_drv_video.so
libva info: Found init function __vaDriverInit_0_36
libva info: va_openDriver() returns 0
Got context from element 'vaapidecode0': gst.vaapi.Display=context, display=(GstVaapiDisplay)NULL;
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstPulseSinkClock
0:00:00.743722385  4010 0x7f9508002e80 ERROR       vaapivideomemory gstvaapivideomemory.c:258:gst_video_meta_map_vaapi_memory: failed to make image current
0:00:00.743809135  4010 0x7f9508002e80 ERROR                default video-frame.c:138:gst_video_frame_map_id: failed to map video frame plane 0
0:00:00.744107614  4010 0x7f9508002e80 WARN             videofilter gstvideofilter.c:300:gst_video_filter_transform:<scale> warning: invalid video buffer received
WARNING: from element /GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv/GstVideoScale:scale: Internal GStreamer error: code not implemented.  Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
Additional debug info:
gstvideofilter.c(300): gst_video_filter_transform (): /GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv/GstVideoScale:scale:
invalid video buffer received

(and these error lines repeat many times)


Version-Release number of selected component (if applicable):

gstreamer1-vaapi-0.5.10-2.fc21.x86_64
gstreamer1-1.4.5-1.fc21.x86_64
libva-1.4.1-1.fc21.x86_64
mesa-dri-drivers-10.4.7-1.20150323.fc21.x86_64

$ lspci | grep VGA
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Wrestler [Radeon HD 6310]

Comment 1 Nicolas Chauvet (kwizart) 2015-09-30 21:34:41 UTC
Please verify if you can reproduce with gstreamer1-vaapi for f23.