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/'`
echo "$ac_t""$host" 1>&6
VLC_VERSION=0.2.5
VLC_VERSION=0.2.50
VLC_CODENAME=Urumov
......
......@@ -4,7 +4,7 @@ AC_CONFIG_HEADER(include/defs.h)
AC_CANONICAL_HOST
VLC_VERSION=0.2.5
VLC_VERSION=0.2.50
AC_SUBST(VLC_VERSION)
VLC_CODENAME=Urumov
AC_SUBST(VLC_CODENAME)
......
vlc (0.2.5-1) unstable; urgency=low
vlc (0.2.50-1) unstable; urgency=low
* 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
......
......@@ -65,6 +65,12 @@ Choose the display coordinates.
.B \-g, \-\-grayscale
Grayscale output.
.TP
.B \-\-fullscreen
Full screen output.
.TP
.B \-\-overlay
Overlay (hardware accelerated output), if available.
.TP
.B \-\-color
Color output.
.TP
......@@ -135,6 +141,8 @@ also accepts a lot of parameters to customize its behaviour.
vlc_height=<height> dislay height
vlc_fb_dev=<filename> framebuffer device
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_yuv=<method name> YUV method
vlc_synchro={I|I+|IP|IP+|IPB} synchro algorithm
......
......@@ -319,6 +319,14 @@
#define VOUT_GRAYSCALE_VAR "vlc_grayscale"
#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 */
#define VOUT_GAMMA 0.
......
......@@ -2,7 +2,7 @@
* intf_sdl.c: SDL interface plugin
*****************************************************************************
* 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:
*
......@@ -50,6 +50,7 @@
#include "main.h"
/* FIXME: SOME CLUELESS MORON DEFINED THIS STRUCTURE IN VOUT_SDL.C AS WELL */
typedef struct vout_sys_s
{
int i_width;
......@@ -57,6 +58,7 @@ typedef struct vout_sys_s
SDL_Surface * p_display; /* display device */
SDL_Overlay * p_overlay;
boolean_t b_fullscreen;
boolean_t b_overlay;
boolean_t b_reopen_display;
boolean_t b_toggle_fullscreen;
Uint8 * p_buffer[2];
......@@ -129,6 +131,12 @@ void intf_SDLManage( intf_thread_t *p_intf )
SDL_Event event; /* SDL event */
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) )
{
i_key = event.key.keysym.sym; /* forward it */
......@@ -178,7 +186,6 @@ void intf_SDL_YUVSwitch(intf_thread_t * p_intf)
{
vlc_mutex_lock( &p_intf->p_vout->change_lock );
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;
vlc_mutex_unlock( &p_intf->p_vout->change_lock );
}
......
......@@ -49,6 +49,7 @@
* This structure is part of the video output thread descriptor.
* 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
{
int i_width;
......@@ -56,6 +57,7 @@ typedef struct vout_sys_s
SDL_Surface * p_display; /* display device */
SDL_Overlay * p_overlay; /* overlay device */
boolean_t b_fullscreen;
boolean_t b_overlay;
boolean_t b_reopen_display;
boolean_t b_toggle_fullscreen;
Uint8 * p_buffer[2];
......@@ -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 */
p_vout->b_need_render = 1;
if(psz_display != NULL && strcmp(psz_display,"fullscreen")==0)
{
p_vout->p_sys->b_fullscreen = 1;
}
else
{
p_vout->p_sys->b_fullscreen = 0;
}
p_vout->p_sys->b_fullscreen = main_GetIntVariable( VOUT_FULLSCREEN_VAR,
VOUT_FULLSCREEN_DEFAULT );
p_vout->p_sys->b_overlay = main_GetIntVariable( VOUT_OVERLAY_VAR,
VOUT_OVERLAY_DEFAULT );
p_vout->p_sys->i_width = main_GetIntVariable( VOUT_WIDTH_VAR,
VOUT_WIDTH_DEFAULT );
p_vout->p_sys->i_height = main_GetIntVariable( VOUT_HEIGHT_VAR,
......@@ -252,8 +249,9 @@ void vout_SDLDisplay( vout_thread_t *p_vout )
SDL_YV12_OVERLAY,
p_vout->p_sys->p_display
);
intf_Msg("vout: YUV acceleration set to %d,",
p_vout->p_sys->p_overlay->hw_overlay);
intf_Msg("vout: YUV acceleration %s",
p_vout->p_sys->p_overlay->hw_overlay
? "activated" : "unavailable !" );
}
SDL_LockYUVOverlay(p_vout->p_sys->p_overlay);
......
......@@ -245,7 +245,7 @@ void intf_Run( intf_thread_t *p_intf )
}
/* Main loop */
while(!p_intf->b_die)
while(!p_intf->b_die && (p_intf->p_input != NULL) )
{
/* Flush waiting messages */
intf_FlushMsg();
......
......@@ -69,19 +69,16 @@
/* Long options return values - note that values corresponding to short options
* chars, and in general any regular char, should be avoided */
#define OPT_NOAUDIO 150
#define OPT_AOUT 151
#define OPT_STEREO 152
#define OPT_MONO 153
#define OPT_STEREO 151
#define OPT_MONO 152
#define OPT_NOVIDEO 160
#define OPT_VOUT 161
#define OPT_DISPLAY 162
#define OPT_WIDTH 163
#define OPT_HEIGHT 164
#define OPT_COLOR 165
#define OPT_MOTION 167
#define OPT_IDCT 168
#define OPT_YUV 169
#define OPT_DISPLAY 161
#define OPT_WIDTH 162
#define OPT_HEIGHT 163
#define OPT_COLOR 164
#define OPT_FULLSCREEN 165
#define OPT_OVERLAY 166
#define OPT_VLANS 170
#define OPT_SERVER 171
......@@ -89,9 +86,14 @@
#define OPT_BROADCAST 173
#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 */
#define USAGE 0
......@@ -126,6 +128,8 @@ static const struct option longopts[] =
{ "motion", 1, 0, OPT_MOTION },
{ "idct", 1, 0, OPT_IDCT },
{ "yuv", 1, 0, OPT_YUV },
{ "fullscreen", 0, 0, OPT_FULLSCREEN },
{ "overlay", 0, 0, OPT_OVERLAY },
/* DVD options */
{ "dvdaudio", 1, 0, 'a' },
......@@ -564,13 +568,18 @@ static int GetConfiguration( int i_argc, char *ppsz_argv[], char *ppsz_env[] )
case OPT_HEIGHT: /* --height */
main_PutPszVariable( VOUT_HEIGHT_VAR, optarg );
break;
case 'g': /* -g, --grayscale */
main_PutIntVariable( VOUT_GRAYSCALE_VAR, 1 );
break;
case OPT_COLOR: /* --color */
main_PutIntVariable( VOUT_GRAYSCALE_VAR, 0 );
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 */
main_PutPszVariable( MOTION_METHOD_VAR, optarg );
break;
......@@ -720,10 +729,13 @@ static void Usage( int i_fashion )
"\n " VOUT_HEIGHT_VAR "=<height> \tdislay height"
"\n " VOUT_FB_DEV_VAR "=<filename> \tframebuffer device path"
"\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 " IDCT_METHOD_VAR "=<method name> \tIDCT 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 */
intf_Msg( "\nDVD parameters:"
......
Name: vlc
Version: 0.2.5
Version: 0.2.50
Release: 1
Copyright: GPL
Url: http://www.videolan.org/
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>
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