GP32 Open Source SWF player porting issues


prehensile

Still Fresh
Joined
Nov 21, 2003
Messages
6
Been discussing this on another thread here, but thought it was worth bringing to the attention of proper coder types :)

Looking into the possibility of porting one of the Open Source Flash/SWF players (theres a few listed in the thread, Swfdec seems the best bet) to GP32, but it looks like a port of the *nix libart library would be necessary- how possible would such a port be? Anyone feel like giving it a go?
 
Last edited by a moderator:
Looking into the possibility of porting one of the Open Source Flash/SWF players (theres a few listed in the thread, Swfdec seems the best bet) to GP32, but it looks like a port of the *nix libart library would be necessary- how possible would such a port be? Anyone feel like giving it a go?
I've got major work to do for class until the 1st (which is why I've been MIA from the dev scene!), but if no one else has made a start by then I'll take a look at the libart port. It'll probably be one of those things where it's either really easy or really hard, so either way I'll let you guys know what I come up with. :)

Also, if someone else starts working on it first, please post here so we don't overlap the work we're doing. :p
 
Last edited by a moderator:
hi unit3, long time no see. any news from the ffdshow/ffplay port?
Yeah, it's not really going to happen until we have some way of doing multiple threads, as ffplay relies extensively on them. And, the code is pretty poorly documented, which means converting it to a single threaded app is fairly unfeasible in the amount of free time I have. :(

So, either I wait until someone gets a preliminary Linux port (who knows how long that'll be!), or I find another single-threaded movie playing app to try and port. ;)

In any case, I'll take a quick stab at this flash thing, as that's another project that would be nice to have. If I don't make any headway on it, I'll go back to the movie player app. :)
 
Last edited by a moderator:
Just took a preliminary look at the libart docs, specifically the known problems section. It looks like libart (right now) uses a ton of memory internally, and uses floating point numbers internally.

So, while we may be able to port it, I think that even if we do it'll be very slow, and may not be able to even have basic animations in RAM. :(

Is there any alternative libraries that don't have a ton of dependancies?
 
Hi everyone,

ffmpeg (http://ffmpeg.sf.net) might be worth considering. It's a general media player but it includes swf support I think. If I remember correctly it only uses a couple of threads (one for getting the data off the disc, another for decoding and playing) so it might be possible to get it down to a single thread.

It also uses SDL for output which would make porting easier.

And as a bonus, if we get it working then we get mpeg1 and 2, and a ton of other codecs for free.


Best of luck anyway, regards,

Baggy


[edit]

Whoops.

Did a bit more searching and noticed someone beat me too it with ffmpeg. In fact, it's unit3, from the post just above this one, seems to be porting it at the moment.

Guess I should check before hand next time. :)
 
no SWF in ffmpeg, afaik. it's not even a video COMPRESSION format! so anyway, mplayer is single-threaded, and pure C :] quite much bigger project than ffplay though.
 
Did a bit more searching and noticed someone beat me too it with ffmpeg. In fact, it's unit3, from the post just above this one, seems to be porting it at the moment.

Guess I should check before hand next time. :)
Heh. :D

Yeah, see, the problem is the whole "only uses a couple of threads" issue. There is no OS on the GP32, which means there's no thread support which means... :(

I've pretty much put my port on hold until the Linux/GP32 guys produce a bootable kernel, as then I'll actually have a multithreaded environment to work with.
 
Last edited by a moderator:
Take a look in gpos_def.h, it has some functions for threads. As far as I can see, you can have 4 threads running on the GP32 at any one time.
 
Take a look in gpos_def.h, it has some functions for threads. As far as I can see, you can have 4 threads running on the GP32 at any one time.
Finally had time to check that out (thanks for the heads up, btw). Ok, so you're right, thread support is there (somewhat). However, I'd have to write my own set of wrappers to the glibc thread stuff if I wanted it to actually work, and that seems like a pain.

I've decided that at this point my best efforts should be devoted to helping out the Linux-on-GP32 project... When I first heard about it, I thought it'd use up too much RAM and be too slow, but now that I've thought about it some more, I realized that there's only like 4 devices to support, so... :)
 
Last edited by a moderator:
Back
Top