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.