Fix null descriptor crash + add copy operator for VideoSourceDescriptor. Fix returning a video definition on preview on all case. Add a silent mode to finding supported video definition. Send camera in thumbnail. Fix crash when setting empty video source descriptor.
Force Black bars on display mode when screen sharing. Reword variable and doc for better understanding on screen sharing.
Fix window ID retention. When the videostream restart after being deactivated (audio-only), we kept using an old window ID that was discard by the API client. When there is no video for a videostream, the videostream's window ID couldn't be set by the API client because no label was assigned. So on reset, we cannot use mNativeWindowId. Also, a window id can be NULL. So it must be use as-is even if it is null from participant device.
Use structure for screen sharing descriptor instead of pointers. Make VideoStream from Mediastreamer2 aware of local screen sharing to let MS2VideoController doing its window ID distribution without storing any states. Install Screen sharing service on streams to be able to update changes without duplicating processes.