Commit 2ea2975b authored by Eric Petit's avatar Eric Petit
Browse files

- now vlc no longer tries to use overlay if another application already

   uses it
 - clean up
parent 07ace065
......@@ -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;
......
......@@ -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)
......
......@@ -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
......@@ -33,16 +34,6 @@
#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;
......
......@@ -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;
};
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment