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

adding rtcp processing example #76

Merged
merged 2 commits into from
Feb 21, 2024

Conversation

themusicman
Copy link
Contributor

@themusicman themusicman commented Feb 21, 2024

Wanted to contribute an example like the one in the Pion project here: https://github.com/pion/webrtc/tree/master/examples/rtcp-processing

@themusicman themusicman marked this pull request as ready for review February 21, 2024 11:12
@mickel8
Copy link
Member

mickel8 commented Feb 21, 2024

Hi @themusicman, thanks for the contribution!

A couple of notes:

  • current example is almost the same as the echo example so we add a lot of code that we need to maintain and update as API changes
  • handling RTCP in ex_webrtc is a little easier as we get those packets automatically. I can see why Pion has a separate example for this as they need to call ReadRTCP in a loop (link)

I would favor adding a clause for RTCP in our echo example that just ignores those packets. We can add a short comment too. Something like this:

  defp handle_webrtc_msg({:rtcp, _packets}, state) do
    # do something with RTCP packets
    {:ok, state}
  end

This way:

  • we show how to receive RTCP packets
  • we don't add too much extra code that needs to be maintained
  • we don't send messages to the FE or log them in the console so the output is clean

@themusicman
Copy link
Contributor Author

themusicman commented Feb 21, 2024

@mickel8 Fair points.

I updated the PR.

Is there anything that you want help with in regards to the project? Maybe RTCP Sender and Receiver Reports?

@mickel8 mickel8 merged commit 682c434 into elixir-webrtc:master Feb 21, 2024
@mickel8
Copy link
Member

mickel8 commented Feb 21, 2024

Thanks for the PR @themusicman! i have deleted the comment as we are going to talk about RTCP in our guides section (in hex docs) at some point.

Is there anything that you want help with in regards to the project? Maybe RTCP Sender and Receiver Reports?

That's something @LVala is already working on!
When it comes to the roadmap itself, I am working on ICE features (mDNS and TURN servers support) .

Other things I have in my mind but are not planned for 0.2 (i.e. neither @LVala nor me are going to work on them)

  • support for AV1 codec, see AV1 payloader #35
  • datachannels
  • ex_webrtc_dashboard - more metrics, performance optimizations
  • jitter buffer

and many more, I will update the list later this evening 😉

@themusicman
Copy link
Contributor Author

@mickel8 I was thinking about suggesting datachannels too. I will look into that some and come up with a plan for implementation and present it to you. What do you think about that?

@mickel8
Copy link
Member

mickel8 commented Feb 21, 2024

@themusicman Sounds great!

@mickel8
Copy link
Member

mickel8 commented Feb 22, 2024

@themusicman I've created a new section in our Roadmap where I put things that can be addressed: #28

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants