Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
gstreamer-vaapi
gstreamer-vaapi
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 140
    • Issues 140
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 11
    • Merge Requests 11
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gstreamer-vaapigstreamer-vaapi
  • Issues
  • #292

Closed
Open
Opened Nov 27, 2020 by Ollie Reynolds@OllieReynolds

Stuttery playback if wayland compositor doesn't send frame events to vaapisink surface -- intentional?

Does vaapisink rely on wayland compositor constantly sending frame_events https://github.com/wayland-project/wayland/blob/master/protocol/wayland.xml#L1500, even if compositor decides to hide the surface by not sending frame events? I would like my compositor to temporarily obscure/hide the vaapisink surface, but I want vaapisink to continue video playback in the background.

If I try to do this (not send frame events to vaapisink wayland surface from my compositor) and then start sending them again, the sink screams about dropped frames due to QOS and playback becomes very stuttery.

I can't paste my compositor code here, but I think https://github.com/swaywm/wlroots/tree/master/tinywl might be able to reproduce the issue, if a toggle is set to stop sending frame events to the vaapisink surface.

Pipeline is: filesrc location=%s ! qtdemux ! queue ! parsebin ! vaapidecodebin ! vaapisink display=wayland -e where %s is any H264 video.

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: gstreamer/gstreamer-vaapi#292