Libflashplayer.so


fraseyboy said:
God Ginrai said:
fraseyboy said:
Hitnrun said:
fraseyboy said:
Hitnrun said:
I think than when YouTube works for everyone without flash player, no one will miss that much flash content (except FarmVille addicts).

Scuse the noobish question but...

YouTube has an HTML5 mode. Shouldn't that work on the Pandora?

AFAIK, this is only in testing, and it does not works in Firefox, which doesn't have the h.264 codec that YouTube uses.
But I am sure that this will be solved in little time.

The HTML Beta works fine for me in Google Chrome on Ubuntu and Windows. Someone ported Chrome to the Pandora, right?

No, Chromium, and that writes to the NAND. Also, not everyone likes Chromium. (IMHO, It's always lacking key features)

-God Ginrai

Not everyone likes Firefox either. But if YouTube worked in Chromium I'm sure people would learn to like it a hell of a lot more...

If we can get the plugin working with one browser, we should be able to get it working with the others. Second, if we get Flash working, we would not only have a working youtube, but a bunch of other websites, like vimeo, etc. would work. And Finally, I would take Newgrounds content over youtube any day.

-God Ginrai
 
Last edited by a moderator:
hdonk said:
Getting back on topic:

If anyone else who's had experience doing this kind of black box porting before wants to muck in, I can pm them a link to a tarball of what I've done so far - I've tidied it up a bit & put a getting started script together. It's 516MB though so I don't want to put it out on general access ATM.

I've not yet managed to get any meaningful debugging out of the blasted plugin.

The plugin is recognised by Firefox, and doesn't cause any kind of crash when looking at a flash containing page, so I'm assuming the ABI is ok as is.

I'm currently missing a static initialiser for my shadow __sF, which is unfortunately hidden in the Pandora's C library.

I believe that the plugin is managing to read the swf file, as the pages with flash in them seem to have a correctly sized misbehaving frame - info which I believe comes from the swf.

With the new Firefox plugin wrapper, it's reporting that the child threads terminated, which makes me think that there's something the flash plugin is going to that it's getting an unexpected return result and is therefore dropping out. Which is why I suspect it's an API issue somewhere. I think it's going to be time to hexedi- rename the function calls in the libflashplayer.so file to something random, and put a shim between them and their external equivalents to trace what exactly it thinks it is doing.

Just don't ask me when I'm going to get a round 2it.
Just quoting to have this important post at the end of the thread.
@All
Please stop posting off topic now, so that the important stuff doesn't get burried, thanks :)
 
Last edited by a moderator:
mali said:
hdonk said:
Getting back on topic:

If anyone else who's had experience doing this kind of black box porting before wants to muck in, I can pm them a link to a tarball of what I've done so far - I've tidied it up a bit & put a getting started script together. It's 516MB though so I don't want to put it out on general access ATM.

I've not yet managed to get any meaningful debugging out of the blasted plugin.

The plugin is recognised by Firefox, and doesn't cause any kind of crash when looking at a flash containing page, so I'm assuming the ABI is ok as is.

I'm currently missing a static initialiser for my shadow __sF, which is unfortunately hidden in the Pandora's C library.

I believe that the plugin is managing to read the swf file, as the pages with flash in them seem to have a correctly sized misbehaving frame - info which I believe comes from the swf.

With the new Firefox plugin wrapper, it's reporting that the child threads terminated, which makes me think that there's something the flash plugin is going to that it's getting an unexpected return result and is therefore dropping out. Which is why I suspect it's an API issue somewhere. I think it's going to be time to hexedi- rename the function calls in the libflashplayer.so file to something random, and put a shim between them and their external equivalents to trace what exactly it thinks it is doing.

Just don't ask me when I'm going to get a round 2it.
Just quoting to have this important post at the end of the thread.
@All
Please stop posting off topic now, so that the important stuff doesn't get burried, thanks :)

Hmm I think I saw some time ago a "Firefox plugin tester" application, that runs the plugin outside firefox, and have full source code, maybe should be easier debugging using this, but I can't remeber what it was called... if someone knows please post here, I am trying to remeber.
 
Last edited by a moderator:
Hitnrun said:
Hmm I think I saw some time ago a "Firefox plugin tester" application, that runs the plugin outside firefox, and have full source code, maybe should be easier debugging using this, but I can't remeber what it was called... if someone knows please post here, I am trying to remeber.

I remembered I did a port of some C code that ran a firefox plugin directly, to the language I used, Delphi, and compiled on free pascal in linux. It is here:

http://www.rangelreale.com/dgtkflasher.pas

I am trying to figure out where I ported this code from.
 
Last edited by a moderator:
Hitnrun said:
Hitnrun said:
Hmm I think I saw some time ago a "Firefox plugin tester" application, that runs the plugin outside firefox, and have full source code, maybe should be easier debugging using this, but I can't remeber what it was called... if someone knows please post here, I am trying to remeber.

I remembered I did a port of some C code that ran a firefox plugin directly, to the language I used, Delphi, and compiled on free pascal in linux. It is here:

http://www.rangelreale.com/dgtkflasher.pas

I am trying to figure out where I ported this code from.
That would be very useful - would allow a useful strace output!
 
Last edited by a moderator:
Some advances on this, it calls the flash player and starts a flash window (I can be sure right clicking it and seeing the default flash menu), but the flash content doesn't play yet. Still, I can debug through all the functions that can into flash and get a backtrace. Here are the instructions to compiling it nativelly in Ubuntu (compiling for pandora works the same, I even ran it on the Pandora, but there I don't have the flash player plugin).

Code:
# apt-get install libdbus-glib-1-dev
# svn co svn://anonsvn.kde.org/home/kde/trunk/extragear/multimedia/kmplayer
# cd kmplayer/src

apply the patch at the end of the post.

# g++ -g -o knpplayer `pkg-config --libs --cflags gtk+-x11-2.0` `pkg-config --libs --cflags dbus-glib-1` `pkg-config --libs --cflags gthread-2.0` npplayer.cpp

# ./knpplayer -m application/x-shockwave-flash -p /usr/lib/flashplugin-installer/libflashplayer.so "somelocalswffilepath.swf"

Code:
Index: npplayer.cpp
===================================================================
--- npplayer.cpp	(revision 1157334)
+++ npplayer.cpp	(working copy)
@@ -181,8 +181,11 @@
 
 static void dbusCreatePath (int stream, char *buf, int buf_len)
 {
-    strncpy (buf, callback_path, buf_len -1);
-    buf [buf_len -1] = 0;
+    if (callback_path) { 
+    	strncpy (buf, callback_path, buf_len -1);
+    	buf [buf_len -1] = 0;
+    } else
+	buf[0] = 0;
     if (stream > -1) {
         int len = strlen (buf);
         snprintf (buf + len, buf_len - len, "/stream_%d", stream);
 
Hitnrun said:
Some advances on this, it calls the flash player and starts a flash window (I can be sure right clicking it and seeing the default flash menu), but the flash content doesn't play yet. Still, I can debug through all the functions that can into flash and get a backtrace. Here are the instructions to compiling it nativelly in Ubuntu (compiling for pandora works the same, I even ran it on the Pandora, but there I don't have the flash player plugin).

Code:
# apt-get install libdbus-glib-1-dev
# svn co svn://anonsvn.kde.org/home/kde/trunk/extragear/multimedia/kmplayer
# cd kmplayer/src

apply the patch at the end of the post.

# g++ -g -o knpplayer `pkg-config --libs --cflags gtk+-x11-2.0` `pkg-config --libs --cflags dbus-glib-1` `pkg-config --libs --cflags gthread-2.0` npplayer.cpp

# ./knpplayer -m application/x-shockwave-flash -p /usr/lib/flashplugin-installer/libflashplayer.so "somelocalswffilepath.swf"

Code:
Index: npplayer.cpp
===================================================================
--- npplayer.cpp	(revision 1157334)
+++ npplayer.cpp	(working copy)
@@ -181,8 +181,11 @@
 
 static void dbusCreatePath (int stream, char *buf, int buf_len)
 {
-    strncpy (buf, callback_path, buf_len -1);
-    buf [buf_len -1] = 0;
+    if (callback_path) { 
+    	strncpy (buf, callback_path, buf_len -1);
+    	buf [buf_len -1] = 0;
+    } else
+	buf[0] = 0;
     if (stream > -1) {
         int len = strlen (buf);
         snprintf (buf + len, buf_len - len, "/stream_%d", stream);
Excellent! Rubs hands together, Burnslike I'll try to have a look at it this weekend, social obligations permitting.
 
Last edited by a moderator:
youtube and several others will soon allow for webm. To be abled to watch webm-html5-videos, we will probably need a browser that uses the vp8-codec with neon-optimizations the ffmpeg-team is working on, I highly doubt google's codec would allow for decent playback on the pandora.
 
Just a curious thought. (and a little off topic) Does anyone know if the mplayer plugin works with FF on the Pandora?

-God Ginrai
 
Update:
Thanks to Hitnrun's information, I've been able to run the flash plugin against some controllable code, which has thrown up some very useful debugging. It turns out that the Angstrom folks have been using not only the latest version of the Netscape Plugin API, but also some of their own custom callback values. Wonderful. So the next stage is to import that code in to the test harness framework. Which will eventually have to go in to our version of Firefox. Which probably means ditching Mozilla's livery. What do we call our custom web browser?!? :D
More as and when.
 
hdonk said:
Update:
Thanks to Hitnrun's information, I've been able to run the flash plugin against some controllable code, which has thrown up some very useful debugging. It turns out that the Angstrom folks have been using not only the latest version of the Netscape Plugin API, but also some of their own custom callback values. Wonderful. So the next stage is to import that code in to the test harness framework. Which will eventually have to go in to our version of Firefox. Which probably means ditching Mozilla's livery. What do we call our custom web browser?!? :D
More as and when.

Nice, glad that helped.

Maybe we could make a "plugin wrapper" that filter these values to firefox? Hmm, naa better just compile our own Pandafox!
 
Last edited by a moderator:
hdonk said:
What do we call our custom web browser?!? :D

WindPanda? (To keep with the Element + Animal theme)

EDIT: Or we could call it Evils, making a good joke about the internet it browses. ;)

Ooh... Or Argonaut might be nice.

My Vote is for Argonaut. Keeps with the theme of explorer, navigator, conqueror, etc. And keeps the Greek Theme.

-God Ginrai
 
Last edited by a moderator:
Or "Red Panda" if you want something that's a synonym for the Firefox name, which also kind of sneaks in one of the nicknames some folks give to the Pandora. :p

Great work, by the way - I'm finding this thread to be interesting reading.
 
After this works with firefox, how difficult would it to be port to other browsers (Chrome)? FF is slow on the pandora even without flash.
 
Prometheus said:
Or "Red Panda" if you want something that's a synonym for the Firefox name, which also kind of sneaks in one of the nicknames some folks give to the Pandora. :p

Great work, by the way - I'm finding this thread to be interesting reading.

I thought about Red Panda, but refrained from suggesting it because I didn't think just a name of an animal was good enough. :\

greendots said:
After this works with firefox, how difficult would it to be port to other browsers (Chrome)? FF is slow on the pandora even without flash.

Actually, hdonk's version seemed to run fairly fast for me.

-God Ginrai
 
Last edited by a moderator:
Prometheus said:
Or "Red Panda" if you want something that's a synonym for the Firefox name, which also kind of sneaks in one of the nicknames some folks give to the Pandora. :p

Great work, by the way - I'm finding this thread to be interesting reading.

Not french, but PandaRouge does not sound wrong :)
 
Last edited by a moderator:
My vote for the web browser name would go with "Non Functional"... at least till flash is actually working! Please keep up the good work, I await further news with much anticipation.
 
Back
Top