Skip to content

Instantly share code, notes, and snippets.

Last active Aug 21, 2021
What would you like to do?

This summer I had an wonderful opportunity to work on foundations' Icecast Streaming Server as part of Google Summer of Code 2021 program. I worked on adding a return channel from listeners to source.

📙 Abstract

Icecast Server is used as a streaming server to broadcast to various listeners. A return channel allows for possibility of receiving feedback from listeners to source. This return channels makes the streams interactive for conducting polls etc.
A uniform return channel should allow for any data to be transmitted from listener to source, by uniform we mean that the channel itself should be general enough and not specific to any specific type of data.

📝 Deliverables

The main objectives of my projects were:
  • Implementing a return channel for listeners.

    This was done by adding an endpoint to receive messages from listeners and then implementing the infrastructure to store these messages for the intended source they are meant for.

  • Implementing a return channel for sources.

    Since our server sits between our client and source, we need to add a return channel for data to flow from server to our source. This was done by requesting messages from a particular endpoint for a specific mountpoint. These are returned as reportXML document.

I am happy to share that these objectives were met during the GSoC period. However adding the documentation and tests still needs to done.

Code Contributions

Instead of traditional PR workflow , we at Xiph followed a rebase approach, so no PRs only commits.

👨 Acknowledgements

I would like to thank my mentors for helping me reach this milestone. 😄😄 This was a wondeful experience for me, I got to work upon an excellent and widely used open source software, I had constant support and motivation from my mentors, the whole community was extremely helpful to a newbie like me, I have plans to continue to expand my work on Icecast and I will keep working alonside the community to add more features , documentation , tests. Thank you so much for this opportunity. I would like to thank Xiph community and especially my mentors:

  • Phillip Schafft
  • Chris Montgomery
  • Thomas Daede
  • Nathan Egge
  • and all the Foundation members for being so open and welcoming. 😄😄

I would also like to thank my fellow GSoC Student and good friend Rohit Verma for being part of this journey alongside.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment