Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gst-plugins-bad gst-plugins-bad
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 973
    • Issues 973
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 105
    • Merge requests 105
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamerGStreamer
  • gst-plugins-badgst-plugins-bad
  • Issues
  • #1516
Closed
Open
Issue created Jan 27, 2021 by Austin-Hu@Austin-Hu

msdk: Got NULL mfx surface in "intervideosink + intervideosrc" pipeline with msdkvpp element

When running the GStreamer command line:

gst-launch-1.0 -v videotestsrc ! msdkvpp ! video/x-raw, width=1280, height=800, format=BGRA ! \
intervideosink channel=frontvideosink sync=true async=false render-delay=5000000 max-lateness=5000000 \
intervideosrc channel=frontvideosink ! msdkvpp ! video/x-raw, width=640, height=480, format=NV12 ! \
msdkh264enc name=main_enc bitrate=1500 rate-control=2 ! video/x-h264, stream-format=byte-stream ! \
queue ! h264parse ! msdkh264dec ! vaapisink sync=false

I got the error:

0:00:00.092319589  5840 0x559b3f5369e0 ERROR                msdkvpp gstmsdkvpp.c:861:gst_msdkvpp_transform:<msdkvpp1> mfx surface is NULL for the current input buffer

But I can see video playback without any error, by replacing msdkvpp with mfxvpp:

gst-launch-1.0 -v videotestsrc ! mfxvpp ! video/x-raw, width=1280, height=800, format=BGRA ! \
intervideosink channel=frontvideosink sync=true async=false render-delay=5000000 max-lateness=5000000 \
intervideosrc channel=frontvideosink ! mfxvpp ! video/x-raw, width=640, height=480, format=NV12 ! \
msdkh264enc name=main_enc bitrate=1500 rate-control=2 ! video/x-h264, stream-format=byte-stream ! \
queue ! h264parse ! msdkh264dec ! vaapisink sync=false

or by replacing the 1st msdkvpp before intervideosink, with vaapipostproc:

gst-launch-1.0 -v videotestsrc ! vaapipostproc ! video/x-raw, width=1280, height=800, format=BGRA ! \
intervideosink channel=frontvideosink sync=true async=false render-delay=5000000 max-lateness=5000000 \
intervideosrc channel=frontvideosink ! msdkvpp ! video/x-raw, width=640, height=480, format=NV12 ! \
msdkh264enc name=main_enc bitrate=1500 rate-control=2 ! video/x-h264, stream-format=byte-stream ! \
queue ! h264parse ! msdkh264dec ! vaapisink sync=false

Issue reproducing configuration:

  • Platform: Intel Tiger Lake (11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz)
  • Software Configuration:
    • Ubuntu 18.04
    • Linux kernel 5.8.1-050801-generic
    • Latest master branch of "libva, gmmlib, media-driver (iHD), gstreamer, gst-plugins-base, gst-plugins-good, gst-plugins-ugly, MediaSDK, gst-plugins-bad, gstreamer-media-SDK, gstreamer-vaapi"
Edited Jan 27, 2021 by Tim-Philipp Müller
Assignee
Assign to
Time tracking