- now vlc no longer tries to use overlay if another application already
authorEric Petit <titer@videolan.org>
Wed, 30 Oct 2002 00:59:22 +0000 (00:59 +0000)
committerEric Petit <titer@videolan.org>
Wed, 30 Oct 2002 00:59:22 +0000 (00:59 +0000)
   uses it
 - clean up

modules/gui/beos/InterfaceWindow.h
modules/gui/beos/VideoOutput.cpp
modules/gui/beos/VlcWrapper.cpp
modules/gui/beos/VlcWrapper.h

index 671f190..8a985a4 100644 (file)
@@ -2,7 +2,7 @@
  * InterfaceWindow.h: BeOS interface window class prototype
  *****************************************************************************
  * Copyright (C) 1999, 2000, 2001 VideoLAN
- * $Id: InterfaceWindow.h,v 1.3 2002/10/28 16:55:05 titer Exp $
+ * $Id: InterfaceWindow.h,v 1.4 2002/10/30 00:59:21 titer Exp $
  *
  * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
  *          Tony Castley <tcastley@mail.powerup.com.au>
@@ -124,7 +124,6 @@ class InterfaceWindow : public BWindow
                        void                    _StoreSettings();
 
        intf_thread_t*                  p_intf;
-       es_descriptor_t*                p_audio_es;
        es_descriptor_t*                p_spu_es;
        input_thread_t*                 fInputThread;
 
index a95e152..a7fbc88 100644 (file)
@@ -2,7 +2,7 @@
  * vout_beos.cpp: beos video output display method
  *****************************************************************************
  * Copyright (C) 2000, 2001 VideoLAN
- * $Id: VideoOutput.cpp,v 1.4 2002/10/29 17:33:11 titer Exp $
+ * $Id: VideoOutput.cpp,v 1.5 2002/10/30 00:59:22 titer Exp $
  *
  * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
  *          Samuel Hocevar <sam@zoy.org>
@@ -486,7 +486,8 @@ VideoWindow::_AllocateBuffers(int width, int height, int* mode)
     {
         if (noOverlay) break;
         bitmap[0] = new BBitmap ( bitmapFrame, 
-                                  B_BITMAP_WILL_OVERLAY,
+                                  B_BITMAP_WILL_OVERLAY |
+                                  B_BITMAP_RESERVE_OVERLAY_CHANNEL,
                                   colspace[i].colspace);
 
         if(bitmap[0] && bitmap[0]->InitCheck() == B_OK) 
index e2abcbc..9d18dfe 100644 (file)
@@ -2,12 +2,13 @@
  * intf_vlc_wrapper.h: BeOS plugin for vlc (derived from MacOS X port )
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
- * $Id: VlcWrapper.cpp,v 1.8 2002/10/29 17:33:11 titer Exp $
+ * $Id: VlcWrapper.cpp,v 1.9 2002/10/30 00:59:22 titer Exp $
  *
  * Authors: Florian G. Pflug <fgp@phlo.org>
  *          Jon Lech Johansen <jon-vl@nanocrew.net>
  *          Tony Casltey <tony@castley.net>
  *          Stephan Aßmus <stippi@yellowbites.com>
+ *          Eric Petit <titer@videolan.org>
  *
  * This program is free software{} you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
 
 #include "VlcWrapper.h"
 
-Intf_VLCWrapper *Intf_VLCWrapper::getVLCWrapper(intf_thread_t *p_interface)
-{
-    static Intf_VLCWrapper *one_wrapper;
-    if (one_wrapper == NULL )
-    {
-       one_wrapper = new Intf_VLCWrapper(p_interface);
-    }
-    return one_wrapper;
-}
-
 Intf_VLCWrapper::Intf_VLCWrapper(intf_thread_t *p_interface)
 {
     p_intf = p_interface;
@@ -51,47 +42,6 @@ Intf_VLCWrapper::Intf_VLCWrapper(intf_thread_t *p_interface)
 Intf_VLCWrapper::~Intf_VLCWrapper()
 {
 }
-
-#if 0
-bool Intf_VLCWrapper::manage()
-{
-   /* p_main->p_intf->pf_manage( p_intf ); */
-   
-   if ( p_intf->b_die )
-   {
-       // exit the lot
-       return( 1 );
-   }
-   
-   if ( p_intf->p_sys->p_input != NULL )
-   {
-       vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );
-        if( !p_intf->p_sys->p_input->b_die )
-        {
-            /* New input or stream map change */
-            if( p_intf->p_sys->p_input->stream.b_changed ||
-                p_intf->p_sys->i_part !=
-                    p_intf->p_sys->p_input->stream.p_selected_area->i_part )
-            {
-                setupMenus();
-                p_intf->p_sys->b_disabled_menus = 0;
-            }
-        }
-        vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
-    }
-    else if ( !p_intf->p_sys->b_disabled_menus )
-    {
-        setupMenus();
-        p_intf->p_sys->b_disabled_menus = 1;
-    }
-    return( 0 );
-}
-#endif
-
-void Intf_VLCWrapper::quit()
-{
-    p_intf->b_die = 1;
-}
     
 /* playlist control */
 bool Intf_VLCWrapper::playlistPlay()
@@ -131,7 +81,6 @@ void Intf_VLCWrapper::playlistStop()
     playlist_t *p_playlist = 
                 (playlist_t *)vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
                                                        FIND_ANYWHERE );
-
     playlist_Stop( p_playlist );
     vlc_object_release( p_playlist );
 }
@@ -609,16 +558,6 @@ bool Intf_VLCWrapper::has_audio()
     return( p_intf->p_sys->p_aout != NULL );
 }
 
-//void Intf_VLCWrapper::fullscreen()
-//{
-//    if( p_vout_bank->pp_vout[0] != NULL )
-//    {
-//        p_vout_bank->pp_vout[0]->i_changes |= VOUT_FULLSCREEN_CHANGE;
-//    }
-//}
-
-void Intf_VLCWrapper::eject(){}
-
     /* playback info */
 
 const char*  Intf_VLCWrapper::getTimeAsString()
@@ -800,7 +739,6 @@ void Intf_VLCWrapper::toggleTitle(int i_title)
                           p_intf->p_sys->p_input->stream.pp_areas[i_title] );
 
         vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );
-        //setupMenus();
 
         vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
     }
@@ -815,7 +753,6 @@ void Intf_VLCWrapper::toggleChapter(int i_chapter)
                           p_intf->p_sys->p_input->stream.p_selected_area );
 
         vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );
-//        setupMenus();
         vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
     }
 }
@@ -885,8 +822,6 @@ void Intf_VLCWrapper::toggleSubtitle(int i_subtitle)
     }
 }
 
-
-void Intf_VLCWrapper::setupMenus(){}
 int  Intf_VLCWrapper::inputGetStatus()
 {
     return 0;
index 002cc2f..b7b1875 100644 (file)
@@ -2,12 +2,13 @@
  * intf_vlc_wrapper.h: BeOS plugin for vlc (derived from MacOS X port )
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
- * $Id: VlcWrapper.h,v 1.5 2002/10/28 19:42:24 titer Exp $
+ * $Id: VlcWrapper.h,v 1.6 2002/10/30 00:59:22 titer Exp $
  *
  * Authors: Florian G. Pflug <fgp@phlo.org>
  *          Jon Lech Johansen <jon-vl@nanocrew.net>
- *          Tony Casltey <tony@castley.net>
+ *          Tony Castley <tony@castley.net>
  *          Stephan Aßmus <stippi@yellowbites.com>
+ *          Eric Petit <titer@videolan.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -30,12 +31,11 @@ class InterfaceWindow;
 class Intf_VLCWrapper;
 
 /*****************************************************************************
- * intf_sys_t: description and status of FB interface
+ * intf_sys_t: internal variables of the BeOS interface
  *****************************************************************************/
 struct intf_sys_t
 {
     InterfaceWindow * p_window;
-    char              i_key;
     
     input_thread_t *  p_input;
     playlist_t *      p_playlist;
@@ -52,17 +52,21 @@ struct intf_sys_t
     Intf_VLCWrapper * p_vlc_wrapper;
 };
 
-/* Intf_VLCWrapper is a singleton class
-    (only one instance at any time) */
+/*****************************************************************************
+ * Intf_VLCWrapper
+ *****************************************************************************
+ * This class makes the link between the BeOS interface and the vlc core.
+ * There is only one Intf_VLCWrapper instance at any time, which is stored
+ * in p_intf->p_sys->p_vlc_wrapper
+ *****************************************************************************/
 class Intf_VLCWrapper
 {
 public:
-    static Intf_VLCWrapper *getVLCWrapper(intf_thread_t *p_if);
+    Intf_VLCWrapper( intf_thread_t *p_intf );
     ~Intf_VLCWrapper();
     
-    /* static bool manage(); */
-    void quit();
     int inputGetStatus();
+    void inputSeek();
     
     /* playlist control */
     bool playlistPlay();
@@ -70,32 +74,27 @@ public:
     void playlistStop();
     void playlistNext();
     void playlistPrev();
-    /* void playlistJumpTo( int pos );
-    int playlistCurrentPos();
-    int playlistSize();
-       playlistLock();
-       playlistUnlock();*/
-       void playlistSkip(int i);
+    void playlistJumpTo( int );
+    int  playlistSize();
+    int  playlistCurrentPos();
+    void playlistLock();
+    void playlistUnlock();
+    void playlistSkip(int i);
     void playlistGoto(int i);
+    void loop(); 
 
-/*  Playback Modes
-               PLAYLIST_REPEAT_CURRENT
-               PLAYLIST_FORWARD       
-               PLAYLIST_BACKWARD      
-               PLAYLIST_FORWARD_LOOP  
-               PLAYLIST_BACKWARD_LOOP 
-               PLAYLIST_RANDOM        
-               PLAYLIST_REVERSE_RANDOM
-*/
-
+    bool playlistPlaying();
+    BList* playlistAsArray();
+    void   getPlaylistInfo( int32& currentIndex,
+                            int32& maxIndex );
+    void   getTitleInfo( int32& currentIndex,
+                         int32& maxIndex );
+    void   getChapterInfo( int32& currentIndex,
+                           int32& maxIndex );
     void getNavCapabilities( bool* canSkipPrev,
-                                                               bool* canSkipNext );
-       void    navigatePrev();
-       void    navigateNext();
-
-//    void channelNext();
-//    void channelPrev();
-//    void loop();
+                             bool* canSkipNext );
+       void navigatePrev();
+       void navigateNext();
 
     /*  Stream Control */
     void playSlower();
@@ -110,31 +109,16 @@ public:
     bool is_playing();
     void maxvolume();
     bool has_audio();
-//    void fullscreen();
-    void eject();
     
-    int getStatus();    
-    void setStatus(int status);
-    void inputSeek();
-
     /* playback info */
     const char* getTimeAsString();
     float  getTimeAsFloat();
     void   setTimeAsFloat( float i_offset );
-    bool   playlistPlaying();
-    BList* playlistAsArray();
-    
-    void   getPlaylistInfo( int32& currentIndex,
-                            int32& maxIndex );
-    void   getTitleInfo( int32& currentIndex,
-                                int32& maxIndex );
-    void   getChapterInfo( int32& currentIndex,
-                                  int32& maxIndex );
 
     /* open file/disc/network */
     void openFiles( BList *o_files, bool replace = true );
     void openDisc( BString o_type, BString o_device,
-                                         int i_title, int i_chapter );
+                   int i_title, int i_chapter );
     void openNet( BString o_addr, int i_port );
     void openNetChannel( BString o_addr, int i_port );
     void openNetHTTP( BString o_addr );
@@ -147,18 +131,8 @@ public:
     void toggleSubtitle( int i_subtitle );
     void channelNext();
     void channelPrev();
-    void setupMenus();
-    
-    void playlistJumpTo( int );
-    int  playlistSize();
-    int  playlistCurrentPos();
-    void playlistLock();
-    void playlistUnlock();
-    void loop(); 
-    
-//private:
-    Intf_VLCWrapper( intf_thread_t *p_intf );
-    es_descriptor_t *  p_audio_es;
+
+private:
     intf_thread_t *p_intf;
 };