* config.h: limits and configuration
* Defines all compilation-time configuration constants and size limits
*****************************************************************************
- * Copyright (C) 1999, 2000 VideoLAN
+ * Copyright (C) 1999, 2000, 2001 VideoLAN
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Samuel Hocevar <sam@via.ecp.fr>
*
*/
+#ifdef HAVE_CONFIG_H
+#else
+#define HAVE_CONFIG_H
+
/*****************************************************************************
* Program information
*****************************************************************************/
/* Program version and copyright message */
#define VERSION_MESSAGE "vlc @VLC_VERSION@ @VLC_CODENAME@ " \
/* "(" PROGRAM_BUILD ") (" PROGRAM_OPTIONS ")\n" */ \
- "Copyright 1996-2000 VideoLAN\n"
+ "Copyright 1996-2001 VideoLAN\n"
#define COPYRIGHT_MESSAGE "VideoLAN Client - version @VLC_VERSION@" \
- " @VLC_CODENAME@ - (c)1996-2000 VideoLAN\n"
-
-#define VERSION "@VLC_VERSION@"
-
-/*****************************************************************************
- * General compilation options
- *****************************************************************************/
-
-/* Define for DVB support - Note that some extensions or restrictions may be
- * incompatible with native MPEG2 streams */
-//#define DVB_EXTENSIONS
-//#define DVB_RESTRICTIONS
-
-/* Define to disable some obscure heuristics behind the video_parser and the
- * video_decoder that improve performance but are not fully MPEG2 compliant
- * and might cause problems with some very weird streams. */
-//#define MPEG2_COMPLIANT
-
-/* Define for profiling and statistics support - such informations, like FPS
- * or pictures count won't be available if it not set */
-/* #define STATS --moved in Makefile */
+ " @VLC_CODENAME@ - (C)1996-2001 VideoLAN"
-/* Define for unthreaded version of the program FIXME: not yet implemented ??*/
-//#define NO_THREAD
+#define VLC_VERSION "@VLC_VERSION@"
/*****************************************************************************
* Debugging options - define or undefine symbols
*****************************************************************************/
-#if DEBUG == 1
-/* General debugging support, which depends of the DEBUG define, is determined
+#ifdef TRACE
+/* General trace support, which depends of the TRACE define, is determined
* in the Makefile */
/* Modules specific debugging - this will produce a lot of output, but can be
- * usefull to track a bug */
-//#define DEBUG_INTF
-//#define DEBUG_INPUT
-//#define DEBUG_AUDIO
-#define DEBUG_VOUT
-#define DEBUG_VPAR
-
-/* Debugging log file - if defined, a file can be used to store all messages. If
- * DEBUG_LOG_ONLY is defined, debug messages will only be printed to the log and
+ * useful to track a bug */
+//#define TRACE_INTF
+//#define TRACE_INPUT
+//#define TRACE_AUDIO
+#define TRACE_VOUT
+#define TRACE_VPAR
+
+/* Trace log file - if defined, a file can be used to store all messages. If
+ * TRACE_LOG_ONLY is defined, debug messages will only be printed to the log and
* will not appear on the screen */
-#define DEBUG_LOG "vlc-debug.log"
-#define DEBUG_LOG_ONLY
+#define TRACE_LOG "vlc-trace.log"
+#define TRACE_LOG_ONLY
#endif
#define CLOCK_FREQ 1000000
-/* Automagically spawn input, audio and video threads ? */
-/* XXX?? used ? */
+/* Automagically spawn audio and video decoder threads */
#define AUTO_SPAWN
/* When creating or destroying threads in blocking mode, delay to poll thread
* status */
#define THREAD_SLEEP ((int)(0.010*CLOCK_FREQ))
+/* When a thread waits on a condition in debug mode, delay to wait before
+ * outputting an error message (in second) */
+#define THREAD_COND_TIMEOUT 5
+
+/* Environment variable containing the memcpy method */
+#define MEMCPY_METHOD_VAR "vlc_memcpy"
+
/*
* Decoders FIFO configuration
*/
* Interface configuration
*****************************************************************************/
+/* Environment variable containing the display method */
+#define INTF_METHOD_VAR "vlc_intf"
+#define INTF_METHOD_DEFAULT "gtk"
+
/* Environment variable used to store startup script name and default value */
#define INTF_INIT_SCRIPT_VAR "vlcrc"
#define INTF_INIT_SCRIPT_DEFAULT ".vlcrc"
/* Maximum number of channels */
#define INTF_MAX_CHANNELS 10
-/*
- * X11 settings
- */
+/* Default search path for interface file browser */
+#define INTF_PATH_VAR "vlc_search_path"
+#define INTF_PATH_DEFAULT ""
-/* Title of the X11 window */
-#define VOUT_TITLE "VideoLAN Client"
+/* Environment variable containing the standard output method */
+#define INTF_STDOUT_VAR "vlc_stdout"
+#define INTF_STDOUT_DEFAULT ""
/*****************************************************************************
* Input thread configuration
*****************************************************************************/
+/* Environment variable containing the input method */
+#define INPUT_METHOD_VAR "vlc_input"
+#define INPUT_METHOD_DEFAULT "ps"
+
/* XXX?? */
#define INPUT_IDLE_SLEEP ((int)(0.100*CLOCK_FREQ))
/* Maximum length of a hostname or source name */
#define INPUT_MAX_SOURCE_LENGTH 100
-/* Default remote server */
-#define INPUT_SERVER_VAR "vlc_server"
-#define INPUT_SERVER_DEFAULT "138.195.143.220"
+/* Default network protocol */
+#define INPUT_NETWORK_PROTOCOL_VAR "vlc_network_protocol"
+#define INPUT_NETWORK_PROTOCOL_DEFAULT "ts"
/* Default input port */
#define INPUT_PORT_VAR "vlc_server_port"
#define INPUT_PORT_DEFAULT 1234
+/* FIXME : Delete those ! */
+/* Default remote server */
+#define INPUT_SERVER_VAR "vlc_server"
+#define INPUT_SERVER_DEFAULT "138.195.143.220"
+
/* Broadcast mode */
#define INPUT_BROADCAST_VAR "vlc_broadcast"
#define INPUT_BROADCAST_DEFAULT 0
+/* Default broadcast address */
+#define INPUT_BCAST_ADDR_VAR "vlc_broadcast_addr"
+#define INPUT_BCAST_ADDR_DEFAULT "138.195.143.255"
+
+/* Channels mode */
+#define INPUT_NETWORK_CHANNEL_VAR "vlc_channel"
+#define INPUT_NETWORK_CHANNEL_DEFAULT 0
+
/*
- * Vlan method
+ * Channel method
*/
/* Default network interface and environment variable */
#define INPUT_IFACE_DEFAULT "eth0"
/* Default server and port */
-#define INPUT_VLAN_SERVER_VAR "vlc_vlan_server"
-#define INPUT_VLAN_SERVER_DEFAULT "138.195.139.95"
-#define INPUT_VLAN_PORT_VAR "vlc_vlan_port"
-#define INPUT_VLAN_PORT_DEFAULT 6010
+#define INPUT_CHANNEL_SERVER_VAR "vlc_channel_server"
+#define INPUT_CHANNEL_SERVER_DEFAULT "138.195.143.120"
+#define INPUT_CHANNEL_PORT_VAR "vlc_channel_port"
+#define INPUT_CHANNEL_PORT_DEFAULT 6010
-/* Delay between vlan changes - this is required to avoid flooding the VLAN
- * server */
-#define INPUT_VLAN_CHANGE_DELAY (5*CLOCK_FREQ)
+/* Delay between channel changes - this is required to avoid flooding the
+ * channel server */
+#define INPUT_CHANNEL_CHANGE_DELAY (mtime_t)(5*CLOCK_FREQ)
-/* Duration between the time we receive the TS packet, and the time we will
+/* Duration between the time we receive the data packet, and the time we will
* mark it to be presented */
-#define DEFAULT_PTS_DELAY (.5*CLOCK_FREQ)
+#define DEFAULT_PTS_DELAY (mtime_t)(.2*CLOCK_FREQ)
-#define INPUT_DVD_AUDIO_VAR "vlc_dvd_audio"
-#define INPUT_DVD_CHANNEL_VAR "vlc_dvd_channel"
-#define INPUT_DVD_SUBTITLE_VAR "vlc_dvd_subtitle"
+/* DVD defaults */
+#define INPUT_DVD_DEVICE_VAR "vlc_dvd_device"
+#define INPUT_DVD_DEVICE_DEFAULT "/dev/dvd"
+
+#define INPUT_TITLE_VAR "vlc_input_title"
+#define INPUT_CHAPTER_VAR "vlc_input_chapter"
+#define INPUT_ANGLE_VAR "vlc_input_angle"
+#define INPUT_AUDIO_VAR "vlc_input_audio"
+#define INPUT_CHANNEL_VAR "vlc_input_channel"
+#define INPUT_SUBTITLE_VAR "vlc_input_subtitle"
+
+/* VCD defaults */
+#define INPUT_VCD_DEVICE_VAR "vlc_vcd_device"
+#define INPUT_VCD_DEVICE_DEFAULT "/dev/cdrom"
/*****************************************************************************
* Audio configuration
*****************************************************************************/
+/* Maximum number of audio output threads */
+#define AOUT_MAX_THREADS 10
+
/* Environment variable containing the audio output method */
#define AOUT_METHOD_VAR "vlc_aout"
-
-/* The fallback method */
-#define AOUT_DEFAULT_METHOD "dsp"
+#define AOUT_METHOD_DEFAULT "dsp"
/* Environment variable used to store dsp device name, and default value */
#define AOUT_DSP_VAR "vlc_dsp"
#define AOUT_STEREO_VAR "vlc_stereo"
#define AOUT_STEREO_DEFAULT 1
+/* Environment variable for spdif mode */
+#define AOUT_SPDIF_VAR "vlc_spdif"
+#define AOUT_SPDIF_DEFAULT 0
+
+/* Environment variable containing the AC3 downmix method */
+#define DOWNMIX_METHOD_VAR "vlc_downmix"
+
+/* Environment variable containing the AC3 IMDCT method */
+#define IMDCT_METHOD_VAR "vlc_imdct"
+
/* Volume */
-#define VOLUME_DEFAULT 256
-#define VOLUME_STEP 5
-#define VOLUME_MAX 765
+#define VOLUME_DEFAULT 512
+#define VOLUME_STEP 128
+#define VOLUME_MAX 1024
+
+/* Environment variable for volume */
+#define AOUT_VOLUME_VAR "vlc_volume"
/* Environment variable for output rate, and default value */
#define AOUT_RATE_VAR "vlc_audio_rate"
* - long, in order to perform the buffer calculations as few as possible */
#define AOUT_BUFFER_DURATION 100000
+/* Environment variable for MPEG audio decoder */
+#define ADEC_MPEG_VAR "vlc_mpeg_adec"
+
/*****************************************************************************
* Video configuration
*****************************************************************************/
+/* Maximum number of video output threads */
+#define VOUT_MAX_THREADS 10
+
/*
* Default settings for video output threads
*/
/* Environment variable containing the display method */
#define VOUT_METHOD_VAR "vlc_vout"
+#define VOUT_METHOD_DEFAULT "x11"
+
+/* Environment variable containing the motion compensation method */
+#define MOTION_METHOD_VAR "vlc_motion"
+
+/* Environment variable containing the IDCT method */
+#define IDCT_METHOD_VAR "vlc_idct"
/* Environment variable containing the YUV method */
#define YUV_METHOD_VAR "vlc_yuv"
-/* The fallback method */
-#define VOUT_DEFAULT_METHOD "x11"
-
/* Environment variable used in place of DISPLAY if available */
#define VOUT_DISPLAY_VAR "vlc_display"
/* Default dimensions for display window - these dimensions are enough for the
* standard width and height broadcasted MPEG-2 streams or DVDs */
#define VOUT_WIDTH_VAR "vlc_width"
-#define VOUT_HEIGHT_VAR "vlc_height"
#define VOUT_WIDTH_DEFAULT 720
+#define VOUT_HEIGHT_VAR "vlc_height"
#define VOUT_HEIGHT_DEFAULT 576
+#define VOUT_DEPTH_VAR "vlc_depth"
+#define VOUT_DEPTH_DEFAULT 15
/* Maximum width of a scaled source picture - this should be relatively high,
* since higher stream values will result in no display at all. */
#define VOUT_MAX_WIDTH 4096
+/* Number of planes in a picture */
+#define VOUT_MAX_PLANES 5
+
/* Video heap size - remember that a decompressed picture is big
* (~1 Mbyte) before using huge values */
-#define VOUT_MAX_PICTURES 10
+#define VOUT_MAX_PICTURES 8
/* Number of simultaneous subpictures */
-#define VOUT_MAX_SUBPICTURES 10
+#define VOUT_MAX_SUBPICTURES 8
/* Maximum number of active areas in a rendering buffer. Active areas are areas
* of the picture which need to be cleared before re-using the buffer. If a
#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.
+#define VOUT_GAMMA_VAR "vlc_gamma"
+#define VOUT_GAMMA_DEFAULT 0.
/* Default fonts */
#define VOUT_DEFAULT_FONT "default8x9.psf"
/* Better be in advance when awakening than late... */
#define VOUT_MWAIT_TOLERANCE ((int)(0.020*CLOCK_FREQ))
-/*
- * Framebuffer settings
- */
+/* The default video output window title */
+#define VOUT_TITLE "VideoLAN Client @VLC_VERSION@"
/* Environment variable for framebuffer device, and default value */
#define VOUT_FB_DEV_VAR "vlc_fb_dev"
#define VOUT_FB_DEV_DEFAULT "/dev/fb0"
-/* Some frame buffers aren't able to support double buffering.
- * We don't want to lose one frame out of 2, so we may set the
- * FB_NOYPAN
- */
-// #define FB_NOYPAN
-
+/* Environment variable for XVideo adaptor, and default value */
+#define VOUT_XVADAPTOR_VAR "vlc_xv_adaptor"
/*****************************************************************************
* Video parser configuration
/* Optimization level, from 0 to 2 - 1 is generally a good compromise. Remember
* that raising this level dramatically lengthens the compilation time. */
-#define VPAR_OPTIM_LEVEL 2
-
-/* The following directives only apply if you define VDEC_SMP below. */
-
-/* Number of macroblock buffers available. It should be always greater than
- * twice the number of macroblocks in a picture. VFIFO_SIZE + 1 should also
- * be a power of two. */
-#define VFIFO_SIZE 8191
+#ifdef RELEASE
+# define VPAR_OPTIM_LEVEL 2
+#else
+# define VPAR_OPTIM_LEVEL 1
+#endif
/* Maximum number of macroblocks in a picture. */
#define MAX_MB 2048
* Video decoder configuration
*****************************************************************************/
-//#define VDEC_SMP
-
#define VDEC_IDLE_SLEEP ((int)(0.100*CLOCK_FREQ))
-/* Number of video_decoder threads to launch on startup of the video_parser.
- * It should always be less than half the number of macroblocks of a
- * picture. Only available if you defined VDEC_SMP above. */
-#define NB_VDEC 1
-
/* Maximum range of values out of the IDCT + motion compensation. */
#define VDEC_CROPRANGE 2048
-/* Nice increments for decoders -- necessary for x11 scheduling */
-#define VDEC_NICE 3
+/* Environment variable containing the SMP value. */
+#define VDEC_SMP_VAR "vlc_smp"
-/*****************************************************************************
- * Generic decoder configuration
- *****************************************************************************/
+/* No SMP by default, since it slows down things on non-smp machines. */
+#define VDEC_SMP_DEFAULT 0
-#define GDEC_IDLE_SLEEP ((int)(0.100*CLOCK_FREQ))
+/* Nice increments for decoders -- necessary for x11 scheduling */
+#define VDEC_NICE 3
/*****************************************************************************
* Messages and console interfaces configuration
#define INTF_MSG_QSIZE 64
/* Interface warnig message level */
-#define INTF_WARNING_VAR "warning_level"
-#define INTF_WARNING_DEFAULT 12
+#define INTF_WARNING_VAR "vlc_warning_level"
+#define INTF_WARNING_DEFAULT 0
-/* Define to enable messages queues - disabling messages queue can be usefull
- * when debugging, since it allows messages which would not otherwise be printed,
- * due to a crash, to be printed anyway */
+/* Define to enable messages queues - disabling messages queue can be useful
+ * when debugging, since it allows messages which would not be printed
+ * due to a crash to be printed anyway */
#ifndef DEBUG
#define INTF_MSG_QUEUE
#endif
* message function was called */
#define INTF_MSG_DBG_FORMAT "## %s:%s(),%i: "
-/* Maximal number of arguments on a command line, including the function name */
+/* Max number of arguments on a command line, including the function name */
#define INTF_MAX_ARGS 20
/* Maximal size of a command line in a script */
/* Maximal number of commands which can be saved in history list */
#define INTF_CONSOLE_MAX_HISTORY 20
+/****************************************************************************
+ * Playlist defaults
+ ****************************************************************************/
+
+/* Launch on start-up */
+#define PLAYLIST_STARTUP_VAR "vlc_playlist_on_start_up"
+#define PLAYLIST_STARTUP_DEFAULT 0
+
+/* Enqueue drag'n dropped item */
+#define PLAYLIST_ENQUEUE_VAR "vlc_playlist_enqueue"
+#define PLAYLIST_ENQUEUE_DEFAULT 0
+
+/* Loop on playlist end */
+#define PLAYLIST_LOOP_VAR "vlc_playlist_loop"
+#define PLAYLIST_LOOP_DEFAULT 0
+
+#endif