Status update, Visualizations GSoC project (and a cry for help)
Martin T. Sandsmark
sandsmark at samfundet.no
Mon Jun 8 20:01:50 CEST 2009
This is my second status update from my GSoC project. Since my blogpost, I
have finished a lot of RL-stuff (exams, travels, etc.), and started on
implementing support for the Phonon AudioDataOutput API in the Xine Phonon
backend (the vlc backend isn't released yet, which was the one I hoped to
implement it in first).
I've hit a snag though; the callback has to be a static function. The
VideoDataOutput plugin solved this by storing a pointer to the instance of
VideoDataOutputXT in the “user_data” field of “raw_visual_t”. This pointer is
in turn passed to the callback together with the video data, and the callback
then uses to forward the video frame data to the appropriate VideoDataOutput
For audio data, I have to make a separate post (-processing, I guess, the only
proper documentation I've found is the commented header files, but I digress)
plugin, and the audio post plugin stuff in Xine has no nice “user_data” void
pointer for me to play with. One possible solution I see is to store pointers
to all instances of the AudioDataOutput in a static list, that the static
callback method uses to forward the data (but with some obvious drawbacks;
being extremely hackish, problems with multiple AudioDataOutput-objects or
multiple output streams, etc.).
Now, I might've some grave mistakes, as I'm not really familiar with the Xine
API, so any hints or pointers would be very welcome.
Please ask if anything was unclear.
martin t. sandsmark
More information about the Phonon-backends