Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix rtcp_feedback for audio not written into flat buffers. #1401

Merged
merged 1 commit into from
May 17, 2024

Conversation

mstyura
Copy link
Contributor

@mstyura mstyura commented May 17, 2024

Fixes #1400

@ibc
Copy link
Member

ibc commented May 17, 2024

Is this just a bug in Rust?

@ibc
Copy link
Member

ibc commented May 17, 2024

Also please add "Fixes #XXXX" to link the issue.

@mstyura mstyura changed the title #1400: Fix rtcp_feedback for audio not written into flat buffers. Fixes #1400: Fix rtcp_feedback for audio not written into flat buffers. May 17, 2024
@mstyura mstyura changed the title Fixes #1400: Fix rtcp_feedback for audio not written into flat buffers. Fixes #1400: rtcp_feedback for audio not written into flat buffers. May 17, 2024
@mstyura
Copy link
Contributor Author

mstyura commented May 17, 2024

Is this just a bug in Rust?

I assume yes. And it was really hard to find out, because the transport CC was lost just before writing into flat buffers. In ortc objects it was reported that transport CC is active and enabled, while it was not. Thanks to example apps they dramatically helped to debug the problem. This is only reproduced with Rust, I've also checked JS demo app with disabled video - it does not have the problem.

@ibc
Copy link
Member

ibc commented May 17, 2024

We only enable TCC server is a producer announces transport-cc support in its codec.rtcpFeedback (and if the clients support the corresponding wide-se-number RTP extension). libwebrtc includes it in OPUS codec, that's why it works.

@ibc ibc requested a review from nazar-pc May 17, 2024 13:52
@ibc
Copy link
Member

ibc commented May 17, 2024

Also please add "Fixes #XXXX" to link the issue.

Please add this in the PR description rather than in the title. That's what GH expects to link PR and issue.

Copy link
Collaborator

@nazar-pc nazar-pc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change makes sense to me, but curious why @jmillan decided to explicitly skip audio when he introduced this code. This doesn't look like an accident.

@mstyura mstyura changed the title Fixes #1400: rtcp_feedback for audio not written into flat buffers. Fix rtcp_feedback for audio not written into flat buffers. May 17, 2024
@mstyura
Copy link
Contributor Author

mstyura commented May 17, 2024

We only enable TCC server is a producer announces transport-cc support in its codec.rtcpFeedback (and if the clients support the corresponding wide-se-number RTP extension). libwebrtc includes it in OPUS codec, that's why it works.

Yes, exactly what I've managed to find out myself when debugging. But this information that opus producer supports transport CC were lost when rtp parameters were serialized into flat buffers.

@ibc
Copy link
Member

ibc commented May 17, 2024

The change makes sense to me, but curious why @jmillan decided to explicitly skip audio when he introduced this code. This doesn't look like an accident.

Probably because he assumed that only video codecs can include transport-cc feedback.

@jmillan
Copy link
Member

jmillan commented May 17, 2024

Probably because he assumed that only video codecs can include transport-cc feedback.

At that time I was doing quite a mechanic work porting types to FBS, so it could have been like that since the beginning, or I may have introduced it at that moment, I don't know.

@ibc ibc merged commit 84a39ff into versatica:v3 May 17, 2024
35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

[Rust] Transport with only audio producer results in server-side transport cc is not created.
4 participants