vlcplugin.h
上传用户:riyaled888
上传日期:2009-03-27
资源大小:7338k
文件大小:4k
源码类别:

多媒体

开发平台:

MultiPlatform

  1. /*****************************************************************************
  2.  * vlcplugin.h: a VLC plugin for Mozilla
  3.  *****************************************************************************
  4.  * Copyright (C) 2002 VideoLAN
  5.  * $Id: vlcplugin.h 8839 2004-09-28 13:55:00Z zorglub $
  6.  *
  7.  * Authors: Samuel Hocevar <sam@zoy.org>
  8.  *
  9.  * This program is free software; you can redistribute it and/or modify
  10.  * it under the terms of the GNU General Public License as published by
  11.  * the Free Software Foundation; either version 2 of the License, or
  12.  * (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
  22.  *****************************************************************************/
  23. /*******************************************************************************
  24.  * Instance state information about the plugin.
  25.  ******************************************************************************/
  26. class VlcPlugin
  27. {
  28. public:
  29.              VlcPlugin( NPP ); 
  30.     virtual ~VlcPlugin();
  31.     void     SetInstance( NPP );
  32.     NPP      GetInstance();
  33.     VlcIntf* GetPeer();
  34.     void     SetFileName( const char* );
  35.     /* Window settings */
  36.     NPWindow* p_npwin;
  37.     uint16    i_npmode;
  38.     uint32    i_width, i_height;
  39. #ifdef XP_WIN
  40.     /* Windows data members */
  41.     HWND     p_hwnd;
  42.     WNDPROC  pf_wndproc;
  43. #endif
  44. #ifdef XP_UNIX
  45.     /* UNIX data members */
  46.     Window   window;
  47.     Display *p_display;
  48. #endif
  49. #ifdef XP_MACOSX
  50.     /* MACOS data members */
  51.     NPWindow *window;
  52. #endif
  53.     /* vlc data members */
  54.     int      i_vlc;
  55.     int      b_stream;
  56.     int      b_autoplay;
  57.     char *   psz_target;
  58. private:
  59.     NPP      p_instance;
  60.     VlcPeer* p_peer;
  61. };
  62. /*******************************************************************************
  63.  * Plugin properties.
  64.  ******************************************************************************/
  65. #define PLUGIN_NAME         "VLC multimedia plugin"
  66. #define PLUGIN_DESCRIPTION 
  67.     "VLC multimedia plugin <br>" 
  68.     " <br>" 
  69.     "version %s <br>" 
  70.     "VideoLAN WWW: <a href="http://www.videolan.org/">http://www.videolan.org/</a>"
  71. #define PLUGIN_MIMETYPES 
  72.     /* MPEG-1 and MPEG-2 */ 
  73.     "audio/mpeg:mp2,mp3,mpga,mpega:MPEG audio;" 
  74.     "audio/x-mpeg:mp2,mp3,mpga,mpega:MPEG audio;" 
  75.     "video/mpeg:mpg,mpeg,mpe:MPEG video;" 
  76.     "video/x-mpeg:mpg,mpeg,mpe:MPEG video;" 
  77.     "video/mpeg-system:mpg,mpeg,mpe,vob:MPEG video;" 
  78.     "video/x-mpeg-system:mpg,mpeg,mpe,vob:MPEG video;" 
  79.     /* MPEG-4 */ 
  80.     "video/mpeg4:mp4,mpg4:MPEG-4 video;" 
  81.     "audio/mpeg4:mp4,mpg4:MPEG-4 audio;" 
  82.     "application/mpeg4-iod:mp4,mpg4:MPEG-4 video;" 
  83.     "application/mpeg4-muxcodetable:mp4,mpg4:MPEG-4 video;" 
  84.     /* AVI */ 
  85.     "video/x-msvideo:avi:AVI video;" 
  86.     /* QuickTime */ 
  87.     "video/quicktime:mov,qt:QuickTime video;" 
  88.     /* Ogg */ 
  89.     "application/x-ogg:ogg:Ogg stream;" 
  90.     /* explicit plugin call */ 
  91.     "application/x-vlc-plugin::VLC plugin;" 
  92.     /* windows media */ 
  93.     "video/x-ms-asf-plugin:asf,asx:Windows Media Video;" 
  94.     "video/x-ms-asf:asf,asx:Windows Media Video;" 
  95.     "application/x-mplayer2::Windows Media;" 
  96.     "video/x-ms-wmv:wmv:Windows Media"