understanding icecast decoding from a listener client perspective
Andy Martin <[email protected]>
| Newsgroups | gmane.comp.audio.icecast.devel |
|---|---|
| Message-ID | <[email protected]> |
I want to write an icecast listener client using C# and C++. I can asynchronously connect read the continuous bytes from the stream using some basic C# code. When I look at the bytes (interpreted as ASCII) I don't understand what it is that I need to be using before passing the Ogg to libogg. I see some artist information, and I know that there is an ICY200OK type of message. I also see the word Oggs at the beginning. But, what do I really need to do to decode the stream and the header? What parts of the header are actually necessary for libogg to start pulling the packets? Ideally, my client would connect to the stream and read the header as well as detect track information that is included in the icecast periodically. The documentation that I've been reading for Icecast only explains the server and source client side. I've been working with icecast for a little over a year now, and I have had to resort to commercial products for decoding and playing a stream. I want to include this capability in my project without having to ask people to use Winamp or some other player. I want to find the documentation on how to read the stream; how to interpret the periodic meta-data; how to pack these bytes into something usable for libogg. I'm very new to this concept of pages and packets. Thank you in advance for reading this request. -- Best, Andy S. Martin www.guitarrpg.com <http://www.guitarrpg.com> M.S. Computer Science Game Development University of Southern California '2013 Alumni _______________________________________________ Icecast-dev mailing list [email protected] http://lists.xiph.org/mailman/listinfo/icecast-dev