EricssonResearch / EricssonResearch/openwebrtc

Adding audio payload with unsupported clock-rate breaks pipeline

Open
#141 7 comments 0 reactions 0 assignees View on GitHub
All Platforms bug Non-Build Issue
Dominant language
C
Stars
1.8k
Forks
531
PR merge metrics
No merged PRs in 30d

Description

Adding an audio payload with unsupported clock-rate breaks the pipeline. For instance, GstOpusEnc supports rates { 48000, 24000, 16000, 12000, 8000 }.

``` c
owr_audio_payload_new(
OWR_CODEC_TYPE_OPUS,
100, // dynamic RTP payload type
44100, // clock rate
1 // channels
);
```

This code will create a broken pipeline, whose source-bin cannot link with the transport-agent. This becomes known late, and with a nondescript error message.

While I think implementing our own parameter checking for payloads, in addition to the Gst caps negotiation, would be wrong since it's duplication, but I think the errors could be friendlier.

Contributor guide

Open the contributing guide

Research direction

Begin at owr_audio_payload_new and trace how an unsupported clock rate reaches the source-bin and transport-agent link. Reproduce the OPUS payload example with a 44100 Hz clock rate, then verify that the failure reports the unsupported rate clearly instead of producing a late, nondescript pipeline error.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
audio-video-rtc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.