Skip to content

gstvalue: Implement union for GstFractionRange

Nirbheek Chauhan requested to merge nirbheek/gstreamer:union-fractionrange into main

This fixes simplification of caps with GstFractionRange structures, for example, this caps:

video/x-raw, framerate=(fraction)5/1; video/x-raw, framerate=(fraction)[ 5/1, 30/1 ]

can now be simplified to:

video/x-raw, framerate=(fraction)[ 5/1, 30/1 ]

Instead of:

video/x-raw, framerate=(fraction){ 5/1, [ 5/1, 30/1 ] }

And this:

video/x-raw, framerate=(fraction)[ 2/1, 5/1 ]; video/x-raw, framerate=(fraction)[ 5/1, 30/1 ]

Can be simplified to:

video/x-raw, framerate=(fraction)[ 2/1, 30/1 ]

Instead of:

video/x-raw, framerate=(fraction){ [ 2/1, 5/1 ], [ 5/1, 30/1 ] }

This fixes overly-complicated GL caps set by avfvideosrc on macOS and iOS when capturing from a webcam.

Edited by Nirbheek Chauhan

Merge request reports