GStreamer and RAOP
Last month I started work on a sink for streaming to Apple Airports. I never really got around to finishing it. I got stuck in the authentication at some point.
I plan on looking at this again soon, but for now I’ve decided to upload a code dump, because a friendly fellow contacted me by email and insisted on helping out.
You can grab the tarball here.
I used libtomcrypt (with libtommath) for all the cryptography. I built the plugin in Eclipse, so some project files are included (but they’re most likely not reusable). Importing libtom* into my Eclipse workspace wasn’t too much trouble from what I can recall.
It builds for me, but is not very functional. The airport disconnects me on the first message I send to it, and I’m not sure why. Right now, the code is supposed to go up to that, retrieve and print the transport header from the airport response and bail out. I’m doing this, because the transport header tells us where to connect next, and I need to see what it looks like. But I’m not even getting that far.
The thing in general is probably a big hack now. I’m wondering if it’s not possible to turn this into a general RTSP sink, and reuse that in a RAOP sink as some sort of parent class. Right now I copied the tiny RTSP library the rtspsrc gstreamer plugin uses, and made some small modifications.
But I don’t care too much about that for now. It’s great if this can finally be made to work!