X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=mozilla%2Fvlcplugin.h;h=e383974c3829978fd4ee678952f600df95988566;hb=b65b861ae33498f0d411bb9989af87cde51861df;hp=a2280f33822b3760758540a71f03be655fa74262;hpb=255db0098c533f362831a0bf3744539284c59617;p=vlc diff --git a/mozilla/vlcplugin.h b/mozilla/vlcplugin.h index a2280f3382..e383974c38 100644 --- a/mozilla/vlcplugin.h +++ b/mozilla/vlcplugin.h @@ -1,8 +1,8 @@ /***************************************************************************** - * videolan.c: a VideoLAN plugin for Mozilla + * vlcplugin.h: a VLC plugin for Mozilla ***************************************************************************** - * Copyright (C) 2002 VideoLAN - * $Id: vlcplugin.h,v 1.2 2002/07/23 20:12:55 sam Exp $ + * Copyright (C) 2002-2005 the VideoLAN team + * $Id$ * * Authors: Samuel Hocevar * @@ -24,32 +24,61 @@ /******************************************************************************* * Instance state information about the plugin. ******************************************************************************/ -typedef struct _PluginInstance + +class VlcPlugin { - NPWindow* fWindow; - uint16 fMode; +public: + VlcPlugin( NPP ); + virtual ~VlcPlugin(); + + void SetInstance( NPP ); + NPP GetInstance(); + VlcIntf* GetPeer(); + + void SetFileName( const char* ); + + /* Window settings */ + 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 b_stream; - char *psz_target; + int i_vlc; + int b_stream; + int b_autoplay; + char * psz_target; -} PluginInstance; +private: + NPP p_instance; + VlcPeer* p_peer; +}; /******************************************************************************* * Plugin properties. ******************************************************************************/ -#define PLUGIN_NAME "VideoLAN Client Plug-in" +#define PLUGIN_NAME "VLC multimedia plugin" #define PLUGIN_DESCRIPTION \ - "VideoLAN Client Multimedia Player Plugin
" \ + "VLC multimedia plugin
" \ "
" \ - COPYRIGHT_MESSAGE "
" \ + "version %s
" \ "VideoLAN WWW: http://www.videolan.org/" #define PLUGIN_MIMETYPES \ @@ -69,6 +98,15 @@ typedef struct _PluginInstance "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" \