]> git.sesse.net Git - vlc/blobdiff - mozilla/vlcplugin.h
forward port 11582
[vlc] / mozilla / vlcplugin.h
index 6cf9574dd9e7e830e72468130dc6ef8ffcb43afe..e910b8de5a6c7c7e510ad6c0afa4529470ef7a58 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************
- * vlcplugin.h: a VideoLAN plugin for Mozilla
+ * vlcplugin.h: a VLC plugin for Mozilla
  *****************************************************************************
- * Copyright (C) 2002 VideoLAN
- * $Id: vlcplugin.h,v 1.3 2002/09/17 08:18:24 sam Exp $
+ * Copyright (C) 2002-2005 VideoLAN
+ * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -24,6 +24,7 @@
 /*******************************************************************************
  * Instance state information about the plugin.
  ******************************************************************************/
+
 class VlcPlugin
 {
 public:
@@ -32,27 +33,37 @@ public:
 
     void     SetInstance( NPP );
     NPP      GetInstance();
+    VlcIntf* GetPeer();
 
     void     SetFileName( const char* );
-    void     Play();
-    void     Pause();
-    void     Stop();
-
-    VlcIntf* getScriptable();
 
     /* Window settings */
-    NPWindow* fWindow;
-    uint16 fMode;
+    NPWindow* p_npwin;
+    uint16    i_npmode;
+    uint32    i_width, i_height;
+
+#ifdef XP_WIN
+    /* Windows data members */
+    HWND     p_hwnd;
+    WNDPROC  pf_wndproc;
+#endif
 
+#ifdef XP_UNIX
     /* UNIX data members */
-    Window window;
-    Display *display;
-    uint32 x, y;
-    uint32 width, height;
+    Window   window;
+    Display *p_display;
+#endif
+
+#ifdef XP_MACOSX
+    /* MACOS data members */
+    NPWindow *window;
+#endif
+
 
     /* vlc data members */
-    vlc_t *  p_vlc;
+    int      i_vlc;
     int      b_stream;
+    int      b_autoplay;
     char *   psz_target;
 
 private:
@@ -63,11 +74,11 @@ private:
 /*******************************************************************************
  * Plugin properties.
  ******************************************************************************/
-#define PLUGIN_NAME         "VideoLAN Client Plug-in"
+#define PLUGIN_NAME         "VLC multimedia plugin"
 #define PLUGIN_DESCRIPTION \
-    "VideoLAN Client Multimedia Player Plugin <br>" \
+    "VLC multimedia plugin <br>" \
     " <br>" \
-    /*COPYRIGHT_MESSAGE*/ " <br>" \
+    "version %s <br>" \
     "VideoLAN WWW: <a href=\"http://www.videolan.org/\">http://www.videolan.org/</a>"
 
 #define PLUGIN_MIMETYPES \
@@ -87,6 +98,15 @@ private:
     "video/x-msvideo:avi:AVI video;" \
     /* QuickTime */ \
     "video/quicktime:mov,qt:QuickTime video;" \
+    /* Ogg */ \
+    "application/x-ogg:ogg:Ogg stream;" \
     /* explicit plugin call */ \
-    "application/x-vlc-plugin::VLC plugin"
+    "application/x-vlc-plugin::VLC plugin;" \
+    /* windows media */ \
+    "video/x-ms-asf-plugin:asf,asx:Windows Media Video;" \
+    "video/x-ms-asf:asf,asx:Windows Media Video;" \
+    "application/x-mplayer2::Windows Media;" \
+    "video/x-ms-wmv:wmv:Windows Media" \
+    /* Google VLC mime */
+    "application/x-google-vlc-plugin::Google VLC plugin;" \