C++ Mac Flash Player

Closed Posted Jun 19, 2008 Paid on delivery
Closed Paid on delivery

We need a way to integrate Shockwave Flash with the rest of our C++ framework on the Mac.

We need some code to open a SWF file and start "playing" it. We need the output (that is, what needs to be drawn on the screen) in an off-screen RGB(A) buffer, and the audio output either directly to the sound system or as another uncompressed audio buffer.

## Deliverables

We need a way to integrate Shockwave Flash with the rest of our C++ framework on the Mac.

We need some code to open a SWF file and start "playing" it. We need the output (that is, what needs to be drawn on the screen) in an off-screen RGB(A) buffer, and the audio output either directly to the sound system or as another uncompressed audio buffer.

We need this to be realtime, although we don't need or want to decode every frame (the client will request a frame from the player whenever it wants)

I'm thinking of an API similar to this one (simplified, of course - please discuss your API design with us before implementing it) :

class FlashPlayer

{

// Start "playback"

void open (const char* sPath)

// Make time advance - this controls the passage of movie time

void onUpdate (float fTime)

// Get the image that should be displayed now as a raw RGB(A) buffer

byte* getCurrentFrame (void)

// Controls

bool isPlaying (void)

void stop (void)

void play (void)

void rewind (void)

// Labels

int getFrame (void)

void gotoFrame (int nFrame)

int getFrameCount (void)

bool gotoLabel (const char* sLabel)

String getLabel (void)

Point getSize (void)

};

All code must be C or C++. Your code may use system libraries (ie installed by default) and/or open source libraries with at least a LGPL license (no GPL), but no commercial libraries.

As part of the deliverable, we want a simple SDL application demonstrating the player class' funcionality. That is, it should accept the path of a SWF from the command line and play it on the screen, using the class to do it.

We will provide a sample SWF that should play perfectly with this component to make sure everything works as expected.

C Programming Engineering Linux Mac OS MySQL PHP Software Architecture Software Testing UNIX

Project ID: #3001695

About the project

Remote project Active Jul 4, 2008