autosrc: Port to GstDeviceMonitor
@ndufresne
Submitted by Nicolas Dufresne Link to original bug (#793405)
Description
The autoaudiosrc and audiovideosrc works a bit by chance as they assume no setup is requirement on the elements. As an example, if you have pipewire installed and activate the deamon, autovideosrc no longer works because then it picks pipewiresrc but with the default path, which is invalid.
https://github.com/PipeWire/pipewire/issues/55
Why I'm proposing to use GstDeviceMonitor internally is because that API provide a "configured" element to use, which would solve this kind of issue.. With that in place we'll be able to do fency fallback when a camera is unplugged. We could also expose the monitor, letting the application select a camera, handling the dynamic switch within the element itself.