Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gst-plugins-base gst-plugins-base
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 642
    • Issues 642
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 80
    • Merge requests 80
  • 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-basegst-plugins-base
  • Issues
  • #707
Closed
Open
Issue created Dec 17, 2019 by Nazar Mokrynskyi@nazar-pc

compositor: doesn't seem to rescale dynamically when pad properties are updated

I have a piece of code that is inside of callback that reacts to capabilities change on decodebin's src_%u pad and adjusts width/height on a compositor pad accordingly, in reduced form it is as follows:

compositor_sink_pad.set_property("height", &720).unwrap();
compositor_sink_pad.set_property("width", &1280).unwrap();

The issue is that Chromium sends video (via WebRTC) with resolution increased in steps before it reaches target resolution like this:

  • 640x360
  • 960x540
  • 1280x720

With above code initial render is correct, while on subsequent steps image scales past video frame borders (1280x720).

Expectation is that the video will always be scaled to 1280x720 for all 3 incoming resolutions.

I worked around this by adding capsfilter + videoscale in between and tweaking capsfilter dynamically instead, but it feels like this should be possible with just compositor alone too.

Assignee
Assign to
Time tracking