* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
-#include <string.h> /* strdup() */
-#include <stdlib.h> /* free() */
#include <vlc/vlc.h>
-#include <vlc/input.h>
-#include "vlc_playlist.h"
+#include "../libvlc.h"
+#include <vlc_playlist.h>
+#include <vlc_charset.h>
#ifdef WIN32 /* optind, getopt(), included in unistd.h */
# include "../extras/getopt.h"
/*****************************************************************************
* 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;
if( (psz_vlc = strrchr( psz_path, '\\' )) ) *psz_vlc = '\0';
- p_this->p_libvlc->psz_vlcpath = strdup( psz_path );
+#ifndef HAVE_RELEASE
+ {
+ /* remove trailing \.libs from executable dir path if seen,
+ we assume we are running vlc through libtool wrapper in build dir */
+ int offset = strlen(psz_path)-sizeof("\\.libs")+1;
+ if( offset > 0 )
+ {
+ psz_vlc = psz_path+offset;
+ if( ! strcmp(psz_vlc, "\\.libs") ) *psz_vlc = '\0';
+ }
+ }
+#endif
+
+ vlc_global()->psz_vlcpath = strdup( psz_path );
/* Set the default file-translation mode */
#if !defined( UNDER_CE )
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" );
-
/* Raise default priority of the current process */
#ifndef ABOVE_NORMAL_PRIORITY_CLASS
# define ABOVE_NORMAL_PRIORITY_CLASS 0x00008000
}
if( i_opt || config_GetInt( p_this, "playlist-enqueue" ) )
{
- playlist_PlaylistAddExt( p_playlist, ppsz_argv[i_opt],
- ppsz_argv[i_opt], PLAYLIST_APPEND ,
+ playlist_AddExt( p_playlist, ppsz_argv[i_opt],
+ 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_PlaylistAddExt( p_playlist, ppsz_argv[i_opt],
- ppsz_argv[i_opt], PLAYLIST_APPEND | PLAYLIST_GO,
+ playlist_AddExt( p_playlist, ppsz_argv[i_opt],
+ 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;
/*****************************************************************************
* 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 && vlc_global() )
{
- free( p_this->p_libvlc->psz_vlcpath );
- p_this->p_libvlc->psz_vlcpath = NULL;
+ free( vlc_global()->psz_vlcpath );
+ vlc_global()->psz_vlcpath = NULL;
}
WSACleanup();