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 796465 - msdk: Vertical mirroring not supported, avoid segfault and fail gracefully.
msdk: Vertical mirroring not supported, avoid segfault and fail gracefully.
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 789886
 
 
Reported: 2018-05-31 05:17 UTC by zj,wang
Modified: 2018-06-07 22:58 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description zj,wang 2018-05-31 05:17:19 UTC
Test Env:
============================================
Platform:               APL/KBL/SKL
Arch:          		x86_64
Linux release           16.04
Kernel:			4.12.0-rc2 
libva                   https://github.com/01org/libva.gitb
                        commit 3be72a5a110880f70626d7c3bed953cdde124b2
media_driver		https://github.com/intel/media-driver
                        commit 1c2b0615d749c45c07f9aee6586774816989c5b3
MediaSDK:               https://github.com/Intel-Media-SDK/MediaSDK
                        commit 7c2b069dce7bed268806f680412a2f3b09a52ce9
gst-bad 		master branch 0bdcf51baf77926b4f29c01a2fdf133c13aad62e

Reproduce Steps:
============================================
take one case for example
1. build enc as above lists
2. gst-launch-1.0 filesrc location=/media/gst_msdk_vpp_ref/768x480.I420 '!' videoparse format=i420 width=768 height=480 framerate=1 '!' videoconvert '!' video/x-raw,format=NV12 '!' msdkvpp mirroring=2 '!' videoconvert '!' video/x-raw,format=I420 '!' checksumsink2 frame-checksum=false dump-output=true dump-location=mirroring2.I420
3. error message occurs as below
ERROR                msdkvpp gstmsdkvpp.c:904:gst_msdkvpp_initialize:<msdkvpp0> VPP Query IO surfaces failed (undeveloped feature)

** (gst-launch-1.0:19228): CRITICAL **: gst_msdk_video_allocator_new: assertion 'context != NULL' failed

(gst-launch-1.0:19228): GStreamer-CRITICAL **: gst_buffer_pool_get_config: assertion 'GST_IS_BUFFER_POOL (pool)' failed

(gst-launch-1.0:19228): GStreamer-CRITICAL **: gst_buffer_pool_config_get_params: assertion 'config != NULL' failed

(gst-launch-1.0:19228): GStreamer-CRITICAL **: gst_buffer_pool_config_get_allocator: assertion 'config != NULL' failed

(gst-launch-1.0:19228): GStreamer-CRITICAL **: gst_structure_free: assertion 'structure != NULL' failed

** (gst-launch-1.0:19228): CRITICAL **: gst_msdk_video_allocator_new: assertion 'context != NULL' failed
Comment 1 zj,wang 2018-05-31 05:18:01 UTC
it has no mirroring element in mfxvpp.
Comment 2 Ishmael Visayana Sameen 2018-05-31 07:48:37 UTC
Latest gst-mfx has the mirroring option and others not included in gstreamer-media-SDK master at 01.org - https://github.com/ishmael1985/gstreamer-media-SDK or https://github.com/intel/gstreamer-media-SDK/tree/topic_linux_and_window
Comment 3 sreerenj 2018-06-05 20:59:29 UTC
Vertical mirroring is not supported by msdk.

Ishmael already filed a bug against msdk: 
https://github.com/Intel-Media-SDK/MediaSDK/issues/90

But irrespective of that, gst-msdk shouldn't be segfaulting. It should just fail.
I will fix that.
Comment 4 sreerenj 2018-06-07 22:58:05 UTC
Pushed a few patches to handle the failure cases.
commit 665f4a140ff8224c6f3952b779f8585892a20e04
commit 6cd12cb6a1a9d7ebe481d7f56e036fc5552db59c