webrtcsink: improve error when no discovery pipeline runs

If for instance no encoder was found or the RTP plugin was missing,
it is possible that no discovery pipeline will run for a given stream.

Provide a more helpful error message for that case.

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/534
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1582>
This commit is contained in:
Mathieu Duponchelle 2024-05-06 13:36:47 +02:00 committed by Sebastian Dröge
parent 1bee96ccb4
commit e72e361b63

View file

@ -3436,6 +3436,15 @@ impl BaseWebRTCSink {
} else {
let sink_caps = discovery_info.caps.clone();
if codecs.is_empty() {
return Err(anyhow!(
"No codec available for encoding stream {}, \
check the webrtcsink logs and verify that \
the rtp plugin is available",
name
));
}
let is_video = match sink_caps.structure(0).unwrap().name().as_str() {
"video/x-raw" => true,
"audio/x-raw" => false,