API Review

What follows is a list of the APIs that the current Linux Flash Player 9 development version is using. I debated whether it was appropriate to publish this information. Then I remembered that anyone who knows what they’re doing should be able to figure this stuff out by themselves anyway once the final Player is released.

  • General graphics: X11
  • GUI elements (dialog boxes): GTK
  • Audio I/O: ALSA
  • Camera input: Video4Linux, API version 1
  • Threads: POSIX threads
  • non-HTTP Networking: BSD sockets
  • SSL: OpenSSL
  • IME: you know what? I don’t think we’ve settled on this one yet…

There are undoubtedly others that I’m missing… dlsym() and friends for dynamically loading shared library functions to avoid static linking of LGPL libraries.

Now that I think about it, how come there are so many layered methods for doing basic A/V operations but one for doing network communication (BSD sockets)? I have searched for higher level general libraries on top of the sockets. I know that some criticize raw ALSA programming as being comparable to ASM for audio operations. BSD sockets strike me as the ASM of network programming.

I would now like to open this thread for readers to voice their concerns over API choices.

Welcome, again, Digg readers. Flash Player 9 for Linux Details Posted by Adobe Insider– sounds so scandalous. I just wanted to point out that the really interesting part of this post are the comments in the thread written by another Adobe insider, Tinic Uro, explaining why rendering graphics in Flash is not as easy as it sounds. Search for them.