X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmisc%2Fwin32_specific.c;h=c318c7d46e7a6b5dc912cd9c74559b21eafbb10c;hb=22c5fe4ae5640b1f2e7358dccbc720faa84616a2;hp=6c2ff0b5cfa0888aaf35d9091c7276e1e312e663;hpb=89dbad52ff134ba2ed0f02891b2b2082108d4a9d;p=vlc diff --git a/src/misc/win32_specific.c b/src/misc/win32_specific.c index 6c2ff0b5cf..c318c7d46e 100644 --- a/src/misc/win32_specific.c +++ b/src/misc/win32_specific.c @@ -19,14 +19,14 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ #include /* strdup() */ #include /* free() */ #include -#include -#include "vlc_playlist.h" +#include +#include #ifdef WIN32 /* optind, getopt(), included in unistd.h */ # include "../extras/getopt.h" @@ -42,7 +42,7 @@ /***************************************************************************** * system_Init: initialize winsock and misc other things. *****************************************************************************/ -void system_Init( vlc_t *p_this, int *pi_argc, char *ppsz_argv[] ) +void system_Init( libvlc_int_t *p_this, int *pi_argc, char *ppsz_argv[] ) { WSADATA Data; @@ -72,7 +72,7 @@ void system_Init( vlc_t *p_this, int *pi_argc, char *ppsz_argv[] ) if( (psz_vlc = strrchr( psz_path, '\\' )) ) *psz_vlc = '\0'; - p_this->p_libvlc->psz_vlcpath = strdup( psz_path ); + p_this->p_libvlc_global->psz_vlcpath = strdup( psz_path ); /* Set the default file-translation mode */ #if !defined( UNDER_CE ) @@ -84,19 +84,16 @@ void system_Init( vlc_t *p_this, int *pi_argc, char *ppsz_argv[] ) mdate(); /* WinSock Library Init. */ - if( !WSAStartup( MAKEWORD( 2, 0 ), &Data ) ) + if( !WSAStartup( MAKEWORD( 2, 2 ), &Data ) ) { - /* Confirm that the WinSock DLL supports 2.0.*/ - if( LOBYTE( Data.wVersion ) != 2 || HIBYTE( Data.wVersion ) != 0 ) - { + /* Aah, pretty useless check, we should always have Winsock 2.2 + * since it appeared in Win98. */ + if( LOBYTE( Data.wVersion ) != 2 || HIBYTE( Data.wVersion ) != 2 ) /* We could not find a suitable WinSock DLL. */ WSACleanup( ); - } else - { /* Everything went ok. */ return; - } } /* Let's try with WinSock 1.1 */ @@ -104,20 +101,14 @@ void system_Init( vlc_t *p_this, int *pi_argc, char *ppsz_argv[] ) { /* Confirm that the WinSock DLL supports 1.1.*/ if( LOBYTE( Data.wVersion ) != 1 || HIBYTE( Data.wVersion ) != 1 ) - { /* We could not find a suitable WinSock DLL. */ WSACleanup( ); - } else - { /* Everything went ok. */ return; - } } fprintf( stderr, "error: can't initialize WinSocks\n" ); - - return; } /***************************************************************************** @@ -126,11 +117,11 @@ void system_Init( vlc_t *p_this, int *pi_argc, char *ppsz_argv[] ) static void IPCHelperThread( vlc_object_t * ); LRESULT CALLBACK WMCOPYWNDPROC( HWND, UINT, WPARAM, LPARAM ); -void system_Configure( vlc_t *p_this, int *pi_argc, char *ppsz_argv[] ) +void system_Configure( libvlc_int_t *p_this, int *pi_argc, char *ppsz_argv[] ) { #if !defined( UNDER_CE ) - p_this->p_libvlc->b_fast_mutex = config_GetInt( p_this, "fast-mutex" ); - p_this->p_libvlc->i_win9x_cv = config_GetInt( p_this, "win9x-cv-method" ); + p_this->p_libvlc_global->b_fast_mutex = config_GetInt( p_this, "fast-mutex" ); + p_this->p_libvlc_global->i_win9x_cv = config_GetInt( p_this, "win9x-cv-method" ); /* Raise default priority of the current process */ #ifndef ABOVE_NORMAL_PRIORITY_CLASS @@ -149,7 +140,9 @@ void system_Configure( vlc_t *p_this, int *pi_argc, char *ppsz_argv[] ) } } - if( config_GetInt( p_this, "one-instance" ) ) + if( config_GetInt( p_this, "one-instance" ) + || ( config_GetInt( p_this, "one-instance-when-started-from-file" ) + && config_GetInt( p_this, "started-from-file" ) ) ) { HANDLE hmutex; @@ -329,16 +322,16 @@ LRESULT CALLBACK WMCOPYWNDPROC( HWND hwnd, UINT uMsg, WPARAM wParam, if( i_opt || config_GetInt( p_this, "playlist-enqueue" ) ) { playlist_AddExt( p_playlist, ppsz_argv[i_opt], - ppsz_argv[i_opt], PLAYLIST_APPEND , + NULL, PLAYLIST_APPEND , PLAYLIST_END, -1, (char const **)( i_options ? &ppsz_argv[i_opt+1] : NULL ), - i_options ); + i_options, VLC_TRUE, VLC_FALSE ); } else { playlist_AddExt( p_playlist, ppsz_argv[i_opt], - ppsz_argv[i_opt], PLAYLIST_APPEND | PLAYLIST_GO, + NULL, PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END, -1, (char const **)( i_options ? &ppsz_argv[i_opt+1] : NULL ), - i_options ); + i_options, VLC_TRUE, VLC_FALSE ); } i_opt += i_options; @@ -356,12 +349,12 @@ LRESULT CALLBACK WMCOPYWNDPROC( HWND hwnd, UINT uMsg, WPARAM wParam, /***************************************************************************** * system_End: terminate winsock. *****************************************************************************/ -void system_End( vlc_t *p_this ) +void system_End( libvlc_int_t *p_this ) { - if( p_this && p_this->p_libvlc && p_this->p_libvlc->psz_vlcpath ) + if( p_this && p_this->p_libvlc_global && p_this->p_libvlc_global->psz_vlcpath ) { - free( p_this->p_libvlc->psz_vlcpath ); - p_this->p_libvlc->psz_vlcpath = NULL; + free( p_this->p_libvlc_global->psz_vlcpath ); + p_this->p_libvlc_global->psz_vlcpath = NULL; } WSACleanup();