Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

vlcplugin.h

00001 /*****************************************************************************
00002  * vlcplugin.h: a VLC plugin for Mozilla
00003  *****************************************************************************
00004  * Copyright (C) 2002-2005 the VideoLAN team
00005  * $Id: vlcplugin.h 11664 2005-07-09 06:17:09Z courmisch $
00006  *
00007  * Authors: Samuel Hocevar <[email protected]>
00008  *
00009  * This program is free software; you can redistribute it and/or modify
00010  * it under the terms of the GNU General Public License as published by
00011  * the Free Software Foundation; either version 2 of the License, or
00012  * (at your option) any later version.
00013  *
00014  * This program is distributed in the hope that it will be useful,
00015  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017  * GNU General Public License for more details.
00018  *
00019  * You should have received a copy of the GNU General Public License
00020  * along with this program; if not, write to the Free Software
00021  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
00022  *****************************************************************************/
00023 
00024 /*******************************************************************************
00025  * Instance state information about the plugin.
00026  ******************************************************************************/
00027 
00028 class VlcPlugin
00029 {
00030 public:
00031              VlcPlugin( NPP ); 
00032     virtual ~VlcPlugin();
00033 
00034     void     SetInstance( NPP );
00035     NPP      GetInstance();
00036     VlcIntf* GetPeer();
00037 
00038     void     SetFileName( const char* );
00039 
00040     /* Window settings */
00041     NPWindow* p_npwin;
00042     uint16    i_npmode;
00043     uint32    i_width, i_height;
00044 
00045 #ifdef XP_WIN
00046     /* Windows data members */
00047     HWND     p_hwnd;
00048     WNDPROC  pf_wndproc;
00049 #endif
00050 
00051 #ifdef XP_UNIX
00052     /* UNIX data members */
00053     Window   window;
00054     Display *p_display;
00055 #endif
00056 
00057 #ifdef XP_MACOSX
00058     /* MACOS data members */
00059     NPWindow *window;
00060 #endif
00061 
00062 
00063     /* vlc data members */
00064     int      i_vlc;
00065     int      b_stream;
00066     int      b_autoplay;
00067     char *   psz_target;
00068 
00069 private:
00070     NPP      p_instance;
00071     VlcPeer* p_peer;
00072 };
00073 
00074 /*******************************************************************************
00075  * Plugin properties.
00076  ******************************************************************************/
00077 #define PLUGIN_NAME         "VLC multimedia plugin"
00078 #define PLUGIN_DESCRIPTION \
00079     "VLC multimedia plugin <br>" \
00080     " <br>" \
00081     "version %s <br>" \
00082     "VideoLAN WWW: <a href=\"http://www.videolan.org/\">http://www.videolan.org/</a>"
00083 
00084 #define PLUGIN_MIMETYPES \
00085     /* MPEG-1 and MPEG-2 */ \
00086     "audio/mpeg:mp2,mp3,mpga,mpega:MPEG audio;" \
00087     "audio/x-mpeg:mp2,mp3,mpga,mpega:MPEG audio;" \
00088     "video/mpeg:mpg,mpeg,mpe:MPEG video;" \
00089     "video/x-mpeg:mpg,mpeg,mpe:MPEG video;" \
00090     "video/mpeg-system:mpg,mpeg,mpe,vob:MPEG video;" \
00091     "video/x-mpeg-system:mpg,mpeg,mpe,vob:MPEG video;" \
00092     /* MPEG-4 */ \
00093     "video/mpeg4:mp4,mpg4:MPEG-4 video;" \
00094     "audio/mpeg4:mp4,mpg4:MPEG-4 audio;" \
00095     "application/mpeg4-iod:mp4,mpg4:MPEG-4 video;" \
00096     "application/mpeg4-muxcodetable:mp4,mpg4:MPEG-4 video;" \
00097     /* AVI */ \
00098     "video/x-msvideo:avi:AVI video;" \
00099     /* QuickTime */ \
00100     "video/quicktime:mov,qt:QuickTime video;" \
00101     /* Ogg */ \
00102     "application/x-ogg:ogg:Ogg stream;" \
00103     /* explicit plugin call */ \
00104     "application/x-vlc-plugin::VLC plugin;" \
00105     /* windows media */ \
00106     "video/x-ms-asf-plugin:asf,asx:Windows Media Video;" \
00107     "video/x-ms-asf:asf,asx:Windows Media Video;" \
00108     "application/x-mplayer2::Windows Media;" \
00109     "video/x-ms-wmv:wmv:Windows Media;" \
00110     /* Google VLC mime */ \
00111     "application/x-google-vlc-plugin::Google VLC plugin" \
00112 

Generated on Tue Dec 20 10:14:59 2005 for vlc-0.8.4a by  doxygen 1.4.2