i-rinat / freshplayerplugin

ppapi2npapi compatibility layer
MIT License
727 stars 52 forks source link

How to embed it inside c++ app ! #301

Closed nocos closed 8 years ago

nocos commented 8 years ago

A big hi, I have seen this flashpepper in action in a pc without a flash player indeed working and loading swf files as it has to. Since i am total newbie in c++ but very good actionscript developer can anyone tell first of all if this plugin can be used as an embed plugin inside a c++ application so no flash needed to be installed in order to load .swf files and can it get and send variables to actionscript of .swf files correctly ? The last question i have if anyone like to give a tip or a way to get me started on this app i want, how do i embed this hole plugin "thing" inside my simple window c++ app ?

Thank you all in advance any kind of answer and help is welcomed

i-rinat commented 8 years ago

so no flash needed to be installed

The software is not an implementation of Flash player, it's a translation layer.

Firefox and Chrome have have different requirements for their pluings. Like people speaking different languages, they have different plugin APIs. That's why Firefox can't use PepperFlash directly. One doesn't understand another. Here comes freshplayerplugin. It talks to the Firefox the same way as NPAPI plugins do. Simultaneously it talks to the PepperFlash the same way as Chrome do, while translating communications in both directions.

There is no implementation of Flash technology itself in freshplayerplugin. It requires PepperFlash from Chrome to make something useful.

If you need to run Flash movies without Adobe Flash player installed, you can try to look into alternative Flash implementations. I've heard of Gnash, Lightspark, Shumway, and swfdec. Don't know whenever they will handle for your workload though.

nocos commented 8 years ago

Thank you first of all for your response and your tip, explained very well. So since the flashpepper is not a flash player it must use adobes flash player inside or via web at runtime cause i installed it in a fresh pc without any flash player or flash at all and it is the only browser that opens flash pages content without asking to install the plugin of flash player.

i-rinat commented 8 years ago

Maybe you have Chrome on that machine too?

Also, are you sure it's a Flash content? Many websites now work well without Flash plugin installed.

nocos commented 8 years ago

Yeap, i installed google chrome browser and among other browsers its the only browser that opens flash without need of the flash plugin to installed. That`s why i thought that pepperFlash is somehow an individual flash player like wrapper and search around for it

i-rinat commented 8 years ago

Google Chrome comes with bundled Flash plugin, usually in /opt/google/chrome/PepperFlash/libpepflashplayer.so. Freshplayerplugin checks at that location at startup. Actually, it checks some other locations too, to make it easier for user to setup.

Oh, I now remember there is also https://en.wikipedia.org/wiki/Chromium_Embedded_Framework which matches your needs. AFAIK, Evoland game uses it. Game itself is implemented in Flash, but have a "native" version, which binaries looks very like Chromium, but used for a single page app only. It has no Flash player though, so you need installed Chrome, otherwise it won't work.

nocos commented 8 years ago

Yeah as far as it seems it has a player implemented inside it and thats what i am trying to do on a personal c++ app of mine. Since flash has licening and it doesn't allow to be embed inside apps i'll have to check the alternative flash players as you mention above and thanks for your guidance. Really appreciated.