totem r5152 - in trunk: . browser-plugin browser-plugin/idl



Author: hadess
Date: Wed Feb 20 11:08:43 2008
New Revision: 5152
URL: http://svn.gnome.org/viewvc/totem?rev=5152&view=rev

Log:
2008-02-20  Bastien Nocera  <hadess hadess net>

	* browser-plugin/idl/totemIMullYPlayer.idl:
	Implement from documentation
	* browser-plugin/totemMullYPlugin.cpp:
	Implement stubs for the DivX Web Player Javascript
	interface (Closes: #354856)

	* browser-plugin/totemConePlugin.cpp:
	Fix warning



Modified:
   trunk/ChangeLog
   trunk/browser-plugin/idl/totemIMullYPlayer.idl
   trunk/browser-plugin/totemConePlugin.cpp
   trunk/browser-plugin/totemMullYPlugin.cpp

Modified: trunk/browser-plugin/idl/totemIMullYPlayer.idl
==============================================================================
--- trunk/browser-plugin/idl/totemIMullYPlayer.idl	(original)
+++ trunk/browser-plugin/idl/totemIMullYPlayer.idl	Wed Feb 20 11:08:43 2008
@@ -21,9 +21,69 @@
 
 #include "nsISupports.idl"
 
+/* Original documentation at:
+ * http://download.divx.com/player/DivXWebPlayer_WebmasterSDK.zip */
+
 [scriptable, uuid(9fd39e29-09ec-42ce-a075-a2f58bf40c7b)]
 interface totemIMullYPlayer : nsISupports {
+  /* Version */
+  ACString GetVersion ();
+
+  /* Setup */
+  void SetMinVersion (in ACString version);
+  void SetMode (in ACString mode);
+  void SetAllowContextMenu (in boolean allow);
+  void SetAutoPlay (in boolean play);
+  void SetLoop (in boolean loop);
+  void SetBufferingMode (in ACString mode);
+  void SetBannerEnabled (in boolean enabled);
+  void SetVolume (in unsigned long volume);
+  void SetMovieTitle (in AUTF8String movieTitle);
+  void SetPreviewImage (in AUTF8String imageURL);
+  void SetPreviewMessage (in AUTF8String message);
+  void SetPreviewMessageFontSize (in unsigned long size);
+
+  /* Media management */
+  void Open (in AUTF8String URL);
+
+  /* Playback */
   void Play ();
-  void Rewind ();
+  void Pause ();
+  void StepForward ();
+  void StepBackward ();
+  void FF ();
+  void RW ();
   void Stop ();
+  void Mute ();
+  void UnMute ();
+  void Seek (in ACString method, in unsigned long percent);
+
+  /* Windowing */
+  void About ();
+  void ShowPreferences ();
+  void ShowContextMenu ();
+  void GoEmbedded ();
+  void GoWindowed ();
+  void GoFullscreen ();
+  void Resize (in unsigned long width, in unsigned long height);
+
+  /* Media information */
+  unsigned long GetTotalTime ();
+  unsigned long GetVideoWidth ();
+  unsigned long GetVideoHeight ();
+  double GetTotalVideoFrames ();
+  double GetVideoFramerate ();
+  unsigned long GetNumberOfAudioTracks ();
+  unsigned long GetNumberOfSubtitleTracks ();
+  ACString GetAudioTrackLanguage (in unsigned long trackIndex);
+  ACString GetSubtitleTrackLanguage (in unsigned long trackIndex);
+  AUTF8String GetAudioTrackName (in unsigned long trackIndex);
+  AUTF8String GetSubtitleTrackName (in unsigned long trackIndex);
+  long GetCurrentAudioTrack ();
+  long GetCurrentSubtitleTrack ();
+
+  /* Media management */
+  void SetCurrentAudioTrack (in long index);
+  void SetCurrentSubtitleTrack (in long index);
 };
+

Modified: trunk/browser-plugin/totemConePlugin.cpp
==============================================================================
--- trunk/browser-plugin/totemConePlugin.cpp	(original)
+++ trunk/browser-plugin/totemConePlugin.cpp	Wed Feb 20 11:08:43 2008
@@ -36,6 +36,8 @@
 /* define GNOME_ENABLE_DEBUG for more debug spew */
 #include "debug.h"
 
+#include "totemICone.h"
+
 #include "totemDebug.h"
 #include "totemClassInfo.h"
 
@@ -437,7 +439,7 @@
 
   NS_ENSURE_STATE (IsValid ());
 
-  *_retval = mPlugin->mVolume * 200.0;
+  *_retval = (PRInt32) (mPlugin->mVolume * 200.0);
   return NS_OK;
 }
 

Modified: trunk/browser-plugin/totemMullYPlugin.cpp
==============================================================================
--- trunk/browser-plugin/totemMullYPlugin.cpp	(original)
+++ trunk/browser-plugin/totemMullYPlugin.cpp	Wed Feb 20 11:08:43 2008
@@ -38,6 +38,7 @@
 
 #include "totemIMullYPlayer.h"
 
+#include "totemDebug.h"
 #include "totemClassInfo.h"
 
 #include "totemMullYPlugin.h"
@@ -49,7 +50,8 @@
 
 static const char kClassDescription[] = "totemMullYPlugin";
 static const char kPluginDescription[] = "DivX\xC2\xAE Web Player";
-static const char kPluginLongDescription[] = "DivX Web Player version 1.4.0.233";
+#define TOTEM_MULLY_VERSION "1.4.0.233"
+static const char kPluginLongDescription[] = "DivX Web Player version " TOTEM_MULLY_VERSION;
 
 static const totemPluginMimeEntry kMimeTypes[] = {
 	{ "video/divx", "divx", "video/x-msvideo" },
@@ -103,14 +105,134 @@
 
 /* totemIMullYPlayer */
 
+#define TOTEM_SCRIPTABLE_INTERFACE "totemIMullYPlayer"
+
+/* ACString GetVersion (); */
 NS_IMETHODIMP
-totemScriptablePlugin::Rewind ()
+totemScriptablePlugin::GetVersion(nsACString & aVersion)
 {
-  NS_ENSURE_STATE (IsValid ());
+  aVersion.Assign (TOTEM_MULLY_VERSION);
+  return NS_OK;
+}
 
-  return mPlugin->DoCommand (TOTEM_COMMAND_PAUSE);
+/* void SetMinVersion (in ACString version); */
+NS_IMETHODIMP
+totemScriptablePlugin::SetMinVersion(const nsACString & aVersion)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void SetMode (in ACString mode); */
+NS_IMETHODIMP
+totemScriptablePlugin::SetMode(const nsACString & aMode)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void SetAllowContextMenu (in boolean allow); */
+NS_IMETHODIMP
+totemScriptablePlugin::SetAllowContextMenu(PRBool allowed)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void SetAutoPlay (in boolean play); */
+NS_IMETHODIMP
+totemScriptablePlugin::SetAutoPlay(PRBool aPlay)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
 }
 
+/* void SetLoop (in boolean loop); */
+NS_IMETHODIMP
+totemScriptablePlugin::SetLoop(PRBool aLoop)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void SetBufferingMode (in ACString mode); */
+NS_IMETHODIMP
+totemScriptablePlugin::SetBufferingMode(const nsACString & aMode)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void SetBannerEnabled (in boolean enabled); */
+NS_IMETHODIMP
+totemScriptablePlugin::SetBannerEnabled(PRBool enabled)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void SetVolume (in unsigned long volume); */
+NS_IMETHODIMP
+totemScriptablePlugin::SetVolume(PRUint32 aVolume)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void SetMovieTitle (in AUTF8String movieTitle); */
+NS_IMETHODIMP
+totemScriptablePlugin::SetMovieTitle (const nsACString & aMovieTitle)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void SetPreviewImage (in AUTF8String imageURL); */
+NS_IMETHODIMP
+totemScriptablePlugin::SetPreviewImage (const nsACString & aImageURL)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void SetPreviewMessage (in AUTF8String message); */
+NS_IMETHODIMP
+totemScriptablePlugin::SetPreviewMessage (const nsACString & aMessage)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void SetPreviewMessageFontSize (in unsigned long size); */
+NS_IMETHODIMP
+totemScriptablePlugin::SetPreviewMessageFontSize(PRUint32 aSize)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void Open (in AUTF8String URL); */
+NS_IMETHODIMP
+totemScriptablePlugin::Open(const nsACString & aURL)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void Play (); */
 NS_IMETHODIMP
 totemScriptablePlugin::Play ()
 {
@@ -119,10 +241,282 @@
   return mPlugin->DoCommand (TOTEM_COMMAND_PLAY);
 }
 
+/* void Pause (); */
+NS_IMETHODIMP
+totemScriptablePlugin::Pause ()
+{
+  NS_ENSURE_STATE (IsValid ());
+
+  return mPlugin->DoCommand (TOTEM_COMMAND_PAUSE);
+}
+
+/* void StepForward (); */
+NS_IMETHODIMP
+totemScriptablePlugin::StepForward()
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void StepBackward (); */
+NS_IMETHODIMP
+totemScriptablePlugin::StepBackward()
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void FF (); */
+NS_IMETHODIMP
+totemScriptablePlugin::FF()
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void RW (); */
 NS_IMETHODIMP
-totemScriptablePlugin::Stop ()
+totemScriptablePlugin::RW()
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void Stop (); */
+NS_IMETHODIMP
+totemScriptablePlugin::Stop()
 {
   NS_ENSURE_STATE (IsValid ());
 
   return mPlugin->DoCommand (TOTEM_COMMAND_STOP);
 }
+
+/* void Mute (); */
+NS_IMETHODIMP
+totemScriptablePlugin::Mute()
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void UnMute (); */
+NS_IMETHODIMP
+totemScriptablePlugin::UnMute()
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void Seek (in ACString method, in unsigned long percent); */
+NS_IMETHODIMP
+totemScriptablePlugin::Seek(const nsACString & aMethod, PRUint32 aPercent)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void About (); */
+NS_IMETHODIMP
+totemScriptablePlugin::About()
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void ShowPreferences (); */
+NS_IMETHODIMP
+totemScriptablePlugin::ShowPreferences()
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void ShowContextMenu (); */
+NS_IMETHODIMP
+totemScriptablePlugin::ShowContextMenu()
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void GoEmbedded (); */
+NS_IMETHODIMP
+totemScriptablePlugin::GoEmbedded()
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void GoWindowed (); */
+NS_IMETHODIMP
+totemScriptablePlugin::GoWindowed()
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void GoFullscreen (); */
+NS_IMETHODIMP
+totemScriptablePlugin::GoFullscreen()
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void Resize (in unsigned long width, in unsigned long height); */
+NS_IMETHODIMP
+totemScriptablePlugin::Resize(PRUint32 aWidth, PRUint32 aHeight)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* unsigned long GetTotalTime (); */
+NS_IMETHODIMP 
+totemScriptablePlugin::GetTotalTime(PRUint32 *aTime)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* unsigned long GetVideoWidth (); */
+NS_IMETHODIMP
+totemScriptablePlugin::GetVideoWidth(PRUint32 *aWidth)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* unsigned long GetVideoHeight (); */
+NS_IMETHODIMP
+totemScriptablePlugin::GetVideoHeight(PRUint32 *aHeight)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* double GetTotalVideoFrames (); */
+NS_IMETHODIMP 
+totemScriptablePlugin::GetTotalVideoFrames(double *aPosition)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* double GetVideoFramerate (); */
+NS_IMETHODIMP 
+totemScriptablePlugin::GetVideoFramerate(double *aPosition)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* unsigned long GetNumberOfAudioTracks (); */
+NS_IMETHODIMP
+totemScriptablePlugin::GetNumberOfAudioTracks(PRUint32 *aNumAudioTracks)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* unsigned long GetNumberOfSubtitleTracks (); */
+NS_IMETHODIMP
+totemScriptablePlugin::GetNumberOfSubtitleTracks(PRUint32 *aNumSubtitleTracks)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* ACString GetAudioTrackLanguage (in unsigned long trackIndex); */
+NS_IMETHODIMP
+totemScriptablePlugin::GetAudioTrackLanguage(PRUint32 trackIndex, nsACString & _retval)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* ACString GetSubtitleTrackLanguage (in unsigned long trackIndex); */
+NS_IMETHODIMP
+totemScriptablePlugin::GetSubtitleTrackLanguage(PRUint32 trackIndex, nsACString & _retval)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* AUTF8String GetAudioTrackName (in unsigned long trackIndex); */
+NS_IMETHODIMP
+totemScriptablePlugin::GetAudioTrackName(PRUint32 trackIndex, nsACString & _retval)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* AUTF8String GetSubtitleTrackName (in unsigned long trackIndex); */
+NS_IMETHODIMP
+totemScriptablePlugin::GetSubtitleTrackName(PRUint32 trackIndex, nsACString & _retval)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* long GetCurrentAudioTrack (); */
+NS_IMETHODIMP
+totemScriptablePlugin::GetCurrentAudioTrack(PRInt32 *_retval)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* long GetCurrentSubtitleTrack (); */
+NS_IMETHODIMP
+totemScriptablePlugin::GetCurrentSubtitleTrack(PRInt32 *_retval)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void SetCurrentAudioTrack (in long index); */
+NS_IMETHODIMP
+totemScriptablePlugin::SetCurrentAudioTrack(PRInt32 index)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+/* void SetCurrentSubtitleTrack (in long index); */
+NS_IMETHODIMP
+totemScriptablePlugin::SetCurrentSubtitleTrack(PRInt32 index)
+{
+  TOTEM_SCRIPTABLE_WARN_UNIMPLEMENTED ();
+
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]