try to support uv_device_t as stream