I have started learning webRtc. There I found getUserMedia(constraints) to display media(audio/video). So I decided to dig deep the constraints. So there is a function getCapabilities() which return all supported constraints for a track. So I decided to create dynamic control(audio/video) separately like below. And on change of each controls I am calling applyConstraints(updatedConstraint) to apply the constraints.

Things are working fine. But There is one issue. If I change the brightness first then I am not able to change aspectRatio/height/width or If I change height/width first then I am not able to change brightness/contrast. I am getting an error.
Uncaught (in promise) OverconstrainedError: Mixing ImageCapture and non-ImageCapture constraints is not currently supported
Later I found that for video track we have 2 types constraints. One is for the Image and second is for the Video track. So My question is
- for video track how can we separate constraints for Image and Video dynamically. Because
getCapabilities()does not return any flag. - Even If we separate those constraints then how can we avoid this error
Mixing ImageCapture and non-ImageCapture constraints is not currently supported
track.getCapabilities() return data like below for video track

If required then I can paste my code as well.