After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 350305 - Add support for Real javascript
Add support for Real javascript
Status: RESOLVED OBSOLETE
Product: totem
Classification: Core
Component: Browser plugin (obsolete)
unspecified
Other Linux
: Normal normal
: ---
Assigned To: totem-browser-maint
totem-browser-maint
Depends on:
Blocks: 171019
 
 
Reported: 2006-08-07 16:38 UTC by Bastien Nocera
Modified: 2010-04-07 12:36 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
totem-real-scripting.patch (7.00 KB, patch)
2007-01-21 12:10 UTC, Bastien Nocera
none Details | Review
totem-real-scripting-2.patch (7.85 KB, patch)
2007-01-22 00:11 UTC, Bastien Nocera
none Details | Review
stubs (41.48 KB, patch)
2007-01-26 20:44 UTC, Christian Persch
none Details | Review
complete stubs (42.41 KB, patch)
2007-01-26 21:22 UTC, Christian Persch
none Details | Review

Description Bastien Nocera 2006-08-07 16:38:01 UTC
From bug 171019:

<snip>

I still cannot get the site above to play, though; it spews a constant stream of
 
JavaScript error:
http://www.bbc.co.uk/radio/aod/networks/fivelive/live.shtml?listen, line 393:
document.RP.GetPlayState is not a function

messages on console. It looks like the totem plugin would need to implement the
realplayer plugin's JS interface (from nsIHXPlayer.idl in the helix player source)?
Comment 1 Christian Persch 2006-08-08 10:18:52 UTC
Writing the JS interface is rather easy, we just need to write an IDL file for it.
What's more work is making the plugin/viewer communication bidirectional so the JS interface can report accurate information (e.g. play state) back to the web site's JS.
Comment 2 Ronald Bultje 2006-08-08 12:22:21 UTC
The idea of using dbus was to make that easy. It shouldn't be hard... (Actually, I thought dbus made this as easy as possible...).
Comment 3 Bastien Nocera 2007-01-21 12:10:58 UTC
Created attachment 80804 [details] [review]
totem-real-scripting.patch

Full idl for RealOne scripting.
Comment 5 Bastien Nocera 2007-01-22 00:11:07 UTC
With some clever sed-fu, I came up with 78 functions that the Helix IDL has that we don't. But a number of those were removed:
http://service.real.com/help/library/guides/extend/htmfiles/appe_com.htm

Those are missing:
EnableMessageBox
GetEnableContextMenu
GetEnableDoubleSize
GetEnableFullScreen
GetEnableMessageBox
GetEnableOriginalSize
GetIsPlus
GetLastErrorRMACodeString
GetNoLogo
GetPreferedLanguageID
GetPreferedLanguageString
GetUserCountryID
SetEnableContextMenu
SetEnableDoubleSize
SetEnableFullScreen
SetEnableMessageBox
SetEnableOriginalSize
SetNoLogo

They seem to be "Real Player" API, not specific "embedded API", and some are documented at:
http://service.real.com/help/library/guides/extend/htmfiles/appa_met.htm

Those aren't documented at all:
EnableMessageBox
GetEnableMessageBox
GetLastErrorRMACodeString
SetEnableMessageBox

A couple of methods are typo'd in the docs/the IDL:
GetPreferedLanguageID
GetPreferedLanguageString

I added both variants for those.
Comment 6 Bastien Nocera 2007-01-22 00:11:35 UTC
Created attachment 80839 [details] [review]
totem-real-scripting-2.patch
Comment 7 Christian Persch 2007-01-23 20:43:53 UTC
I'd say it'd be safe to just add all of them, unimplemented, so scripts don't get unexpected exceptions...
Comment 8 Christian Persch 2007-01-26 20:44:20 UTC
Created attachment 81291 [details] [review]
stubs
Comment 9 Christian Persch 2007-01-26 21:22:10 UTC
Created attachment 81296 [details] [review]
complete stubs
Comment 10 Bastien Nocera 2007-01-27 12:16:40 UTC
Which functions are missing from the IDL then? Just the ones that are undocumented?
Comment 11 Christian Persch 2007-01-27 12:35:19 UTC
The undocumented and deprecated ones. My stubs have stubs for everything that the helix player defines; I've #if 0'd out the ones that are currently missing from your idl.
Comment 12 Bastien Nocera 2007-01-29 00:29:18 UTC
2007-01-29  Bastien Nocera  <hadess@hadess.net>

        * browser-plugin/idl/totemIComplexPlayer.idl: update IDL file to
        include all the documented and non-deprecated functions from Real Player
        and Helix Player
        * browser-plugin/totemComplexPlugin.cpp:
        * browser-plugin/totemComplexPlugin.h: Patch from Christian Persch
        <chpe@svn.gnome.org> to add stubs for those functions

We still need to add a few functions to the IDL, and then uncomment them from the  stubs. Non-stub work would also be needed...
Comment 13 Bastien Nocera 2010-04-07 12:36:37 UTC
We removed the crappy RealAudio support in 2.29.2.