Commit 8628860b authored by Sam Hocevar's avatar Sam Hocevar

 . version 0.2.50 for the Linux Expo
 . --overlay and --fulscreen options (only work with --vout sdl)
 . the vlc exits after the end of the stream, which prevents from having
   to kill it and relaunch it during a presentation, just script it like :

      for i in ~/mpeg/* ; do vlc --fullscreen --overlay --vout sdl $i ; done


 Yes, I know the --overlay stuff is fucking ugly. But *I* am not the one
  who redefines vout_sys_t in an interface-related source file. I won't
  change it until the vout/intf is finished being rewritten.

 Additional information: if "--overlay --fulscreen" doesn't center your
  picture, try with your screen geometry, eg:
  "--overlay --fullscreen --width 1024 --height 768"
parent 37888f79
...@@ -602,7 +602,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ...@@ -602,7 +602,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6 echo "$ac_t""$host" 1>&6
VLC_VERSION=0.2.5 VLC_VERSION=0.2.50
VLC_CODENAME=Urumov VLC_CODENAME=Urumov
......
...@@ -4,7 +4,7 @@ AC_CONFIG_HEADER(include/defs.h) ...@@ -4,7 +4,7 @@ AC_CONFIG_HEADER(include/defs.h)
AC_CANONICAL_HOST AC_CANONICAL_HOST
VLC_VERSION=0.2.5 VLC_VERSION=0.2.50
AC_SUBST(VLC_VERSION) AC_SUBST(VLC_VERSION)
VLC_CODENAME=Urumov VLC_CODENAME=Urumov
AC_SUBST(VLC_CODENAME) AC_SUBST(VLC_CODENAME)
......
vlc (0.2.5-1) unstable; urgency=low vlc (0.2.50-1) unstable; urgency=low
* Unstable release. * Unstable release.
-- Samuel Hocevar <sam@zoy.org> Fri, 19 Jan 2001 05:16:58 +0100 -- Samuel Hocevar <sam@zoy.org> Wed, 31 Jan 2001 04:30:37 +0100
vlc (0.1.99i) unstable; urgency=low vlc (0.1.99i) unstable; urgency=low
......
...@@ -65,6 +65,12 @@ Choose the display coordinates. ...@@ -65,6 +65,12 @@ Choose the display coordinates.
.B \-g, \-\-grayscale .B \-g, \-\-grayscale
Grayscale output. Grayscale output.
.TP .TP
.B \-\-fullscreen
Full screen output.
.TP
.B \-\-overlay
Overlay (hardware accelerated output), if available.
.TP
.B \-\-color .B \-\-color
Color output. Color output.
.TP .TP
...@@ -135,6 +141,8 @@ also accepts a lot of parameters to customize its behaviour. ...@@ -135,6 +141,8 @@ also accepts a lot of parameters to customize its behaviour.
vlc_height=<height> dislay height vlc_height=<height> dislay height
vlc_fb_dev=<filename> framebuffer device vlc_fb_dev=<filename> framebuffer device
vlc_grayscale={1|0} grayscale or color vlc_grayscale={1|0} grayscale or color
vlc_fullscreen={1|0} full screen
vlc_overlay={1|0} overlay
vlc_idct=<method name> IDCT method vlc_idct=<method name> IDCT method
vlc_yuv=<method name> YUV method vlc_yuv=<method name> YUV method
vlc_synchro={I|I+|IP|IP+|IPB} synchro algorithm vlc_synchro={I|I+|IP|IP+|IPB} synchro algorithm
......
...@@ -319,6 +319,14 @@ ...@@ -319,6 +319,14 @@
#define VOUT_GRAYSCALE_VAR "vlc_grayscale" #define VOUT_GRAYSCALE_VAR "vlc_grayscale"
#define VOUT_GRAYSCALE_DEFAULT 0 #define VOUT_GRAYSCALE_DEFAULT 0
/* Environment variable for fullscreen mode, and default value */
#define VOUT_FULLSCREEN_VAR "vlc_fullscreen"
#define VOUT_FULLSCREEN_DEFAULT 0
/* Environment variable for overlay mode, and default value */
#define VOUT_OVERLAY_VAR "vlc_overlay"
#define VOUT_OVERLAY_DEFAULT 0
/* Default gamma */ /* Default gamma */
#define VOUT_GAMMA 0. #define VOUT_GAMMA 0.
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* intf_sdl.c: SDL interface plugin * intf_sdl.c: SDL interface plugin
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: intf_sdl.c,v 1.23 2001/01/15 12:42:57 reno Exp $ * $Id: intf_sdl.c,v 1.24 2001/01/31 03:42:39 sam Exp $
* *
* Authors: * Authors:
* *
...@@ -50,6 +50,7 @@ ...@@ -50,6 +50,7 @@
#include "main.h" #include "main.h"
/* FIXME: SOME CLUELESS MORON DEFINED THIS STRUCTURE IN VOUT_SDL.C AS WELL */
typedef struct vout_sys_s typedef struct vout_sys_s
{ {
int i_width; int i_width;
...@@ -57,6 +58,7 @@ typedef struct vout_sys_s ...@@ -57,6 +58,7 @@ typedef struct vout_sys_s
SDL_Surface * p_display; /* display device */ SDL_Surface * p_display; /* display device */
SDL_Overlay * p_overlay; SDL_Overlay * p_overlay;
boolean_t b_fullscreen; boolean_t b_fullscreen;
boolean_t b_overlay;
boolean_t b_reopen_display; boolean_t b_reopen_display;
boolean_t b_toggle_fullscreen; boolean_t b_toggle_fullscreen;
Uint8 * p_buffer[2]; Uint8 * p_buffer[2];
...@@ -128,7 +130,13 @@ void intf_SDLManage( intf_thread_t *p_intf ) ...@@ -128,7 +130,13 @@ void intf_SDLManage( intf_thread_t *p_intf )
{ {
SDL_Event event; /* SDL event */ SDL_Event event; /* SDL event */
Uint8 i_key; Uint8 i_key;
if( p_intf->p_vout->p_sys->b_overlay )
{
intf_SDL_YUVSwitch(p_intf);
p_intf->p_vout->p_sys->b_overlay = 0;
}
while ( SDL_PollEvent(&event) ) while ( SDL_PollEvent(&event) )
{ {
i_key = event.key.keysym.sym; /* forward it */ i_key = event.key.keysym.sym; /* forward it */
...@@ -178,7 +186,6 @@ void intf_SDL_YUVSwitch(intf_thread_t * p_intf) ...@@ -178,7 +186,6 @@ void intf_SDL_YUVSwitch(intf_thread_t * p_intf)
{ {
vlc_mutex_lock( &p_intf->p_vout->change_lock ); vlc_mutex_lock( &p_intf->p_vout->change_lock );
p_intf->p_vout->b_need_render = 1 - p_intf->p_vout->b_need_render; p_intf->p_vout->b_need_render = 1 - p_intf->p_vout->b_need_render;
intf_DbgMsg( "need render now : '%d'",p_intf->p_vout->b_need_render);
p_intf->p_vout->p_sys->b_reopen_display = 1; p_intf->p_vout->p_sys->b_reopen_display = 1;
vlc_mutex_unlock( &p_intf->p_vout->change_lock ); vlc_mutex_unlock( &p_intf->p_vout->change_lock );
} }
......
...@@ -49,6 +49,7 @@ ...@@ -49,6 +49,7 @@
* This structure is part of the video output thread descriptor. * This structure is part of the video output thread descriptor.
* It describes the SDL specific properties of an output thread. * It describes the SDL specific properties of an output thread.
*****************************************************************************/ *****************************************************************************/
/* FIXME: SOME CLUELESS MORON DEFINED THIS STRUCTURE IN INTF_SDL.C AS WELL */
typedef struct vout_sys_s typedef struct vout_sys_s
{ {
int i_width; int i_width;
...@@ -56,6 +57,7 @@ typedef struct vout_sys_s ...@@ -56,6 +57,7 @@ typedef struct vout_sys_s
SDL_Surface * p_display; /* display device */ SDL_Surface * p_display; /* display device */
SDL_Overlay * p_overlay; /* overlay device */ SDL_Overlay * p_overlay; /* overlay device */
boolean_t b_fullscreen; boolean_t b_fullscreen;
boolean_t b_overlay;
boolean_t b_reopen_display; boolean_t b_reopen_display;
boolean_t b_toggle_fullscreen; boolean_t b_toggle_fullscreen;
Uint8 * p_buffer[2]; Uint8 * p_buffer[2];
...@@ -104,15 +106,10 @@ int vout_SDLCreate( vout_thread_t *p_vout, char *psz_display, ...@@ -104,15 +106,10 @@ int vout_SDLCreate( vout_thread_t *p_vout, char *psz_display,
and it's impossible to switch between soft/hard yuv */ and it's impossible to switch between soft/hard yuv */
p_vout->b_need_render = 1; p_vout->b_need_render = 1;
if(psz_display != NULL && strcmp(psz_display,"fullscreen")==0) p_vout->p_sys->b_fullscreen = main_GetIntVariable( VOUT_FULLSCREEN_VAR,
{ VOUT_FULLSCREEN_DEFAULT );
p_vout->p_sys->b_fullscreen = 1; p_vout->p_sys->b_overlay = main_GetIntVariable( VOUT_OVERLAY_VAR,
} VOUT_OVERLAY_DEFAULT );
else
{
p_vout->p_sys->b_fullscreen = 0;
}
p_vout->p_sys->i_width = main_GetIntVariable( VOUT_WIDTH_VAR, p_vout->p_sys->i_width = main_GetIntVariable( VOUT_WIDTH_VAR,
VOUT_WIDTH_DEFAULT ); VOUT_WIDTH_DEFAULT );
p_vout->p_sys->i_height = main_GetIntVariable( VOUT_HEIGHT_VAR, p_vout->p_sys->i_height = main_GetIntVariable( VOUT_HEIGHT_VAR,
...@@ -252,8 +249,9 @@ void vout_SDLDisplay( vout_thread_t *p_vout ) ...@@ -252,8 +249,9 @@ void vout_SDLDisplay( vout_thread_t *p_vout )
SDL_YV12_OVERLAY, SDL_YV12_OVERLAY,
p_vout->p_sys->p_display p_vout->p_sys->p_display
); );
intf_Msg("vout: YUV acceleration set to %d,", intf_Msg("vout: YUV acceleration %s",
p_vout->p_sys->p_overlay->hw_overlay); p_vout->p_sys->p_overlay->hw_overlay
? "activated" : "unavailable !" );
} }
SDL_LockYUVOverlay(p_vout->p_sys->p_overlay); SDL_LockYUVOverlay(p_vout->p_sys->p_overlay);
......
...@@ -245,7 +245,7 @@ void intf_Run( intf_thread_t *p_intf ) ...@@ -245,7 +245,7 @@ void intf_Run( intf_thread_t *p_intf )
} }
/* Main loop */ /* Main loop */
while(!p_intf->b_die) while(!p_intf->b_die && (p_intf->p_input != NULL) )
{ {
/* Flush waiting messages */ /* Flush waiting messages */
intf_FlushMsg(); intf_FlushMsg();
......
...@@ -69,19 +69,16 @@ ...@@ -69,19 +69,16 @@
/* Long options return values - note that values corresponding to short options /* Long options return values - note that values corresponding to short options
* chars, and in general any regular char, should be avoided */ * chars, and in general any regular char, should be avoided */
#define OPT_NOAUDIO 150 #define OPT_NOAUDIO 150
#define OPT_AOUT 151 #define OPT_STEREO 151
#define OPT_STEREO 152 #define OPT_MONO 152
#define OPT_MONO 153
#define OPT_NOVIDEO 160 #define OPT_NOVIDEO 160
#define OPT_VOUT 161 #define OPT_DISPLAY 161
#define OPT_DISPLAY 162 #define OPT_WIDTH 162
#define OPT_WIDTH 163 #define OPT_HEIGHT 163
#define OPT_HEIGHT 164 #define OPT_COLOR 164
#define OPT_COLOR 165 #define OPT_FULLSCREEN 165
#define OPT_MOTION 167 #define OPT_OVERLAY 166
#define OPT_IDCT 168
#define OPT_YUV 169
#define OPT_VLANS 170 #define OPT_VLANS 170
#define OPT_SERVER 171 #define OPT_SERVER 171
...@@ -89,9 +86,14 @@ ...@@ -89,9 +86,14 @@
#define OPT_BROADCAST 173 #define OPT_BROADCAST 173
#define OPT_DVD 174 #define OPT_DVD 174
#define OPT_SYNCHRO 180 #define OPT_AOUT 180
#define OPT_VOUT 181
#define OPT_MOTION 182
#define OPT_IDCT 183
#define OPT_YUV 184
#define OPT_WARNING 190 #define OPT_SYNCHRO 190
#define OPT_WARNING 191
/* Usage fashion */ /* Usage fashion */
#define USAGE 0 #define USAGE 0
...@@ -126,6 +128,8 @@ static const struct option longopts[] = ...@@ -126,6 +128,8 @@ static const struct option longopts[] =
{ "motion", 1, 0, OPT_MOTION }, { "motion", 1, 0, OPT_MOTION },
{ "idct", 1, 0, OPT_IDCT }, { "idct", 1, 0, OPT_IDCT },
{ "yuv", 1, 0, OPT_YUV }, { "yuv", 1, 0, OPT_YUV },
{ "fullscreen", 0, 0, OPT_FULLSCREEN },
{ "overlay", 0, 0, OPT_OVERLAY },
/* DVD options */ /* DVD options */
{ "dvdaudio", 1, 0, 'a' }, { "dvdaudio", 1, 0, 'a' },
...@@ -564,13 +568,18 @@ static int GetConfiguration( int i_argc, char *ppsz_argv[], char *ppsz_env[] ) ...@@ -564,13 +568,18 @@ static int GetConfiguration( int i_argc, char *ppsz_argv[], char *ppsz_env[] )
case OPT_HEIGHT: /* --height */ case OPT_HEIGHT: /* --height */
main_PutPszVariable( VOUT_HEIGHT_VAR, optarg ); main_PutPszVariable( VOUT_HEIGHT_VAR, optarg );
break; break;
case 'g': /* -g, --grayscale */ case 'g': /* -g, --grayscale */
main_PutIntVariable( VOUT_GRAYSCALE_VAR, 1 ); main_PutIntVariable( VOUT_GRAYSCALE_VAR, 1 );
break; break;
case OPT_COLOR: /* --color */ case OPT_COLOR: /* --color */
main_PutIntVariable( VOUT_GRAYSCALE_VAR, 0 ); main_PutIntVariable( VOUT_GRAYSCALE_VAR, 0 );
break; break;
case OPT_FULLSCREEN: /* --fullscreen */
main_PutIntVariable( VOUT_FULLSCREEN_VAR, 1 );
break;
case OPT_OVERLAY: /* --overlay */
main_PutIntVariable( VOUT_OVERLAY_VAR, 1 );
break;
case OPT_MOTION: /* --motion */ case OPT_MOTION: /* --motion */
main_PutPszVariable( MOTION_METHOD_VAR, optarg ); main_PutPszVariable( MOTION_METHOD_VAR, optarg );
break; break;
...@@ -720,10 +729,13 @@ static void Usage( int i_fashion ) ...@@ -720,10 +729,13 @@ static void Usage( int i_fashion )
"\n " VOUT_HEIGHT_VAR "=<height> \tdislay height" "\n " VOUT_HEIGHT_VAR "=<height> \tdislay height"
"\n " VOUT_FB_DEV_VAR "=<filename> \tframebuffer device path" "\n " VOUT_FB_DEV_VAR "=<filename> \tframebuffer device path"
"\n " VOUT_GRAYSCALE_VAR "={1|0} \tgrayscale or color output" "\n " VOUT_GRAYSCALE_VAR "={1|0} \tgrayscale or color output"
"\n " VOUT_FULLSCREEN_VAR "={1|0} \tfullscreen"
"\n " VOUT_OVERLAY_VAR "={1|0} \toverlay"
"\n " MOTION_METHOD_VAR "=<method name> \tmotion compensation method" "\n " MOTION_METHOD_VAR "=<method name> \tmotion compensation method"
"\n " IDCT_METHOD_VAR "=<method name> \tIDCT method" "\n " IDCT_METHOD_VAR "=<method name> \tIDCT method"
"\n " YUV_METHOD_VAR "=<method name> \tYUV method" "\n " YUV_METHOD_VAR "=<method name> \tYUV method"
"\n " VPAR_SYNCHRO_VAR "={I|I+|IP|IP+|IPB} \tsynchro algorithm" ); "\n " VPAR_SYNCHRO_VAR "={I|I+|IP|IP+|IPB} \tsynchro algorithm"
);
/* DVD parameters */ /* DVD parameters */
intf_Msg( "\nDVD parameters:" intf_Msg( "\nDVD parameters:"
......
Name: vlc Name: vlc
Version: 0.2.5 Version: 0.2.50
Release: 1 Release: 1
Copyright: GPL Copyright: GPL
Url: http://www.videolan.org/ Url: http://www.videolan.org/
Group: X11/Applications/Graphics Group: X11/Applications/Graphics
Source0: http://www.videolan.org/packages/0.1.99i/vlc-0.1.99i.tar.gz Source0: http://www.videolan.org/packages/0.2.50/vlc_0.2.50-1.tar.gz
Packager: Samuel Hocevar <sam@zoy.org> Packager: Samuel Hocevar <sam@zoy.org>
Buildroot: /tmp/vlc-build Buildroot: /tmp/vlc-build
......
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