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 783172 - [Wayland] Traceback when using vaapih264dec and vaapisink on Intel hardware
[Wayland] Traceback when using vaapih264dec and vaapisink on Intel hardware
Status: RESOLVED DUPLICATE of bug 775698
Product: GStreamer
Classification: Platform
Component: gstreamer-vaapi
1.12.0
Other Linux
: Normal major
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: WaylandRelated
 
 
Reported: 2017-05-28 14:18 UTC by Christian Stadelmann
Modified: 2017-05-29 08:40 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
A full backtrace from gdb attached to gst-launch-1.0 (14.08 KB, text/plain)
2017-05-28 14:18 UTC, Christian Stadelmann
Details

Description Christian Stadelmann 2017-05-28 14:18:43 UTC
Created attachment 352718 [details]
A full backtrace from gdb attached to gst-launch-1.0

Using vaapih264dec/vaapisink fails:

$ LC_ALL=C gst-launch-1.0 -v filesrc location='Videofile.mp4'  ! qtdemux ! h264parse ! vaapih264dec ! vaapisink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'vaapisink0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayWayland\)\ vaapidisplaywayland1";
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe1001c6764001facd940b427b016a0c020c800000300080015f90078c18cb001000568ebecb22c, width=(int)720, height=(int)304, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, parsed=(boolean)true
/GstPipeline:pipeline0/GstVaapiDecode_h264:vaapidecode_h264-0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe1001c6764001facd940b427b016a0c020c800000300080015f90078c18cb001000568ebecb22c, width=(int)720, height=(int)304, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, parsed=(boolean)true
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe1001c6764001facd940b427b016a0c020c800000300080015f90078c18cb001000568ebecb22c, width=(int)720, height=(int)304, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1
Redistribute latency...
/GstPipeline:pipeline0/GstVaapiDecode_h264:vaapidecode_h264-0.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)720, height=(int)304, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstVaapiSink:vaapisink0.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)720, height=(int)304, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24/1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
wl_surface@7: error 2: Failed to create a texture for surface 7: Unsupported buffer format 12760
ERROR: from element /GstPipeline:pipeline0/GstVaapiSink:vaapisink0: Internal error: could not render surface
Additional debug info:
gstvaapisink.c(1482): gst_vaapisink_show_frame_unlocked (): /GstPipeline:pipeline0/GstVaapiSink:vaapisink0
Execution ended after 0:00:00.002143907
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Caught SIGSEGV
  • #0 __waitpid
    at ../sysdeps/unix/sysv/linux/waitpid.c line 29
  • #1 g_on_error_stack_trace
    at gbacktrace.c line 252
  • #2 fault_spin
    at gst-launch.c line 103
  • #3 fault_handler_sighandler
  • #4 <signal handler called>
  • #5 decrease_closure_args_refcount
    at src/wayland-client.c line 233
  • #6 wl_event_queue_release
    at src/wayland-client.c line 268
  • #7 wl_display_disconnect
  • #8 gst_vaapi_display_wayland_close_display
    at gstvaapidisplay_wayland.c line 268
  • #9 gst_vaapi_display_destroy
    at gstvaapidisplay.c line 867
  • #10 gst_vaapi_display_finalize
    at gstvaapidisplay.c line 1014
  • #11 g_object_unref
  • #12 gst_object_unref
  • #13 gst_object_replace
    at gstobject.c line 340
  • #14 gst_vaapi_display_replace
  • #15 gst_vaapi_video_pool_finalize
  • #16 gst_vaapi_mini_object_free
  • #17 gst_vaapi_mini_object_unref_internal
    at gstvaapiminiobject.h line 203
  • #18 gst_vaapi_mini_object_replace
  • #19 gst_vaapi_video_pool_replace
    at gstvaapivideopool.c line 122
  • #20 gst_vaapi_video_allocator_finalize
    at gstvaapivideomemory.c line 646
  • #21 g_object_unref
  • #22 gst_object_unref
  • #23 gst_buffer_pool_finalize
    at gstbufferpool.c line 205
  • #24 g_object_unref
  • #25 gst_vaapi_plugin_base_close
    at gstvaapipluginbase.c line 305
  • #26 gst_vaapidecode_close
    at gstvaapidecode.c line 1011
  • #27 gst_video_decoder_change_state
  • #28 gst_element_change_state
    at gstelement.c line 2743
  • #29 gst_element_set_state_func
    at gstelement.c line 2697
  • #30 gst_bin_element_set_state
    at gstbin.c line 2589
  • #31 gst_bin_change_state_func
    at gstbin.c line 2931
  • #32 gst_pipeline_change_state
    at gstpipeline.c line 500
  • #33 gst_element_change_state
    at gstelement.c line 2743
  • #34 gst_element_set_state_func
    at gstelement.c line 2697
  • #35 main
  • #0 nanosleep
    at ../sysdeps/unix/syscall-template.S line 84
  • #1 g_usleep
    at gtimer.c line 259
  • #2 fault_spin
    at gst-launch.c line 113
  • #3 fault_handler_sighandler
    at gst-launch.c line 94
  • #4 <signal handler called>
  • #5 decrease_closure_args_refcount
    at src/wayland-client.c line 233
  • #6 wl_event_queue_release
    at src/wayland-client.c line 268
  • #7 wl_display_disconnect
    at src/wayland-client.c line 1041
  • #8 gst_vaapi_display_wayland_close_display
    at gstvaapidisplay_wayland.c line 268
  • #9 gst_vaapi_display_destroy
    at gstvaapidisplay.c line 867
  • #10 gst_vaapi_display_finalize
    at gstvaapidisplay.c line 1014
  • #11 g_object_unref
    at gobject.c line 3185
  • #12 gst_object_unref
    at gstobject.c line 266

Installed software versions:
gstreamer1-plugins-good-1.12.0-1.fc26.x86_64
gstreamer1-vaapi-1.12.0-1.fc26.x86_64
libva-1.8.2-1.fc26.x86_64
libva-intel-driver-1.8.2-1.fc26.x86_64
glib2-2.52.2-2.fc26.x86_64

$ vainfo
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.40 (libva )
vainfo: Driver version: Intel i965 driver for Intel(R) Ironlake Desktop - 1.8.2
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc

Additional info:
Same pipeline works fine if replacing "vaapisink" by "fakesink".
Comment 1 Christian Stadelmann 2017-05-28 14:22:58 UTC
(bugzilla broke the Traceback, but if you click on the link you'll see the original text)

$ lspci -nn | grep VGA
00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor Integrated Graphics Controller [8086:0042] (rev 12)
Comment 2 Christian Stadelmann 2017-05-28 14:31:20 UTC
Running the same pipeline under X11 works fine.
Comment 3 Víctor Manuel Jáquez Leal 2017-05-29 08:40:34 UTC

*** This bug has been marked as a duplicate of bug 775698 ***