X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmisc%2Fbeos_specific.cpp;h=321db791f4ce923b955b882094f03a70f21fef23;hb=8c75d5edd5a0fcf8d3556aad868fdb569cea6e47;hp=7e0e74c29d598aeb4f3f78dd29cc6f04b94cd2e2;hpb=2cb472dba008f7d877ffe6bae9c5575253365282;p=vlc diff --git a/src/misc/beos_specific.cpp b/src/misc/beos_specific.cpp index 7e0e74c29d..321db791f4 100644 --- a/src/misc/beos_specific.cpp +++ b/src/misc/beos_specific.cpp @@ -33,7 +33,12 @@ extern "C" { -#include +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include "../libvlc.h" } /***************************************************************************** @@ -66,6 +71,8 @@ private: #include "../../modules/gui/beos/MsgVals.h" #define REALLY_QUIT 'requ' +static vlc_object_t *p_appthread; + extern "C" { @@ -77,35 +84,35 @@ static void AppThread( vlc_object_t *p_appthread ); /***************************************************************************** * system_Init: create a BApplication object and fill in program path. *****************************************************************************/ -void system_Init( vlc_t *p_this, int *pi_argc, char *ppsz_argv[] ) +void system_Init( libvlc_int_t *p_this, int *pi_argc, const char *ppsz_argv[] ) { - p_this->p_libvlc->p_appthread = + p_appthread = (vlc_object_t *)vlc_object_create( p_this, sizeof(vlc_object_t) ); /* Create the BApplication thread and wait for initialization */ - vlc_thread_create( p_this->p_libvlc->p_appthread, "app thread", AppThread, - VLC_THREAD_PRIORITY_LOW, VLC_TRUE ); + vlc_thread_create( p_appthread, "app thread", AppThread, + VLC_THREAD_PRIORITY_LOW, true ); } /***************************************************************************** * system_Configure: check for system specific configuration options. *****************************************************************************/ -void system_Configure( vlc_t *, int *pi_argc, char *ppsz_argv[] ) +void system_Configure( libvlc_int_t *, int *pi_argc, const char *ppsz_argv[] ) { } /***************************************************************************** * system_End: destroy the BApplication object. *****************************************************************************/ -void system_End( vlc_t *p_this ) +void system_End( libvlc_int_t *p_this ) { /* Tell the BApplication to die */ be_app->PostMessage( REALLY_QUIT ); - vlc_thread_join( p_this->p_libvlc->p_appthread ); - vlc_object_destroy( p_this->p_libvlc->p_appthread ); + vlc_thread_join( p_appthread ); + vlc_object_release( p_appthread ); - free( p_this->p_libvlc->psz_vlcpath ); + free( vlc_global()->psz_vlcpath ); } /* following functions are local */ @@ -117,7 +124,7 @@ static void AppThread( vlc_object_t * p_this ) { VlcApplication * BeApp = new VlcApplication("application/x-vnd.videolan-vlc"); - vlc_object_attach( p_this, p_this->p_vlc ); + vlc_object_attach( p_this, p_this->p_libvlc ); BeApp->p_this = p_this; BeApp->Run(); vlc_object_detach( p_this ); @@ -172,7 +179,7 @@ void VlcApplication::ReadyToRun( ) BEntry entry( &info.ref ); entry.GetPath( &path ); path.GetParent( &path ); - p_this->p_libvlc->psz_vlcpath = strdup( path.Path() ); + vlc_global()->psz_vlcpath = strdup( path.Path() ); /* Tell the main thread we are finished initializing the BApplication */ vlc_thread_ready( p_this ); @@ -233,7 +240,7 @@ bool VlcApplication::QuitRequested() { if( !fReadyToQuit ) { - p_this->p_vlc->b_die = 1; + vlc_object_kill( p_this->p_libvlc ); return false; }