Factor/GSoC/2009/Audio and video libraries


Doug Coleman

Skills required

  • Knowledge of C
  • Knowledge of Factor's FFI
  • Factor API design skills



Existing work

Factor already has various multimedia libraries, in various states of disrepair:

  • ogg.vorbis - binding
  • ogg.theora - binding
  • ogg.player - Ogg video and audio player
  • mod - a libmod binding
  • id3 - ID3 parser in pure Factor
  • openal - 3D audio binding

These need to be cleaned up. Additional libraries and bindings, for example to libraries such as GStreamer, should be written too. The end goal would be a high-level idiomatic Factor API for embedding audio and video in GUI applications.

Technical details

Factor's C FFI (foreign function interface) is capable of calling out to the entirety of C libraries, including callbacks and various calling conventions, like cdecl and stdcall. Therefore, all of the libraries can be bound to and called from inside Factor.

Benefit to the student

The student learns how to bind C libraries to Factor using Factor's FFI, and also learns how C multimedia libraries work.

Benefit to the community

Factor will be suitable for multimedia applications if this project is completed.


  • Learning the APIs of various libraries

This revision created on Fri, 13 Mar 2009 22:51:38 by erg