]> git.sesse.net Git - vlc/blobdiff - include/config.h
Big round of fixes in the aout3.
[vlc] / include / config.h
index c8dc180310541ca7bdb1b844a8b4c17e64b5386e..6fcf8d27139a159f1bddfd35313db4321f9758c7 100644 (file)
 
 /* When creating or destroying threads in blocking mode, delay to poll thread
  * status */
-#define THREAD_SLEEP                    ((int)(0.010*CLOCK_FREQ))
+#define THREAD_SLEEP                    ((mtime_t)(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
 
+/* The configuration file and directory */
+#ifdef SYS_BEOS
+#  define CONFIG_DIR                    "config/settings"
+#elif defined( WIN32 )
+#  define CONFIG_DIR                   "vlc"
+#else
+#  define CONFIG_DIR                    ".vlc"
+#endif
+#define CONFIG_FILE                     "vlcrc"
+
 /*****************************************************************************
  * Interface configuration
  *****************************************************************************/
 
 /* Base delay in micro second for interface sleeps */
-#define INTF_IDLE_SLEEP                 ((int)(0.050*CLOCK_FREQ))
+#define INTF_IDLE_SLEEP                 ((mtime_t)(0.050*CLOCK_FREQ))
 
 /* Step for changing gamma, and minimum and maximum values */
 #define INTF_GAMMA_STEP                 .1
@@ -63,7 +73,7 @@
  *****************************************************************************/
 
 /* XXX?? */
-#define INPUT_IDLE_SLEEP                ((int)(0.100*CLOCK_FREQ))
+#define INPUT_IDLE_SLEEP                ((mtime_t)(0.100*CLOCK_FREQ))
 
 /*
  * General limitations
  * mark it to be presented */
 #define DEFAULT_PTS_DELAY               (mtime_t)(.2*CLOCK_FREQ)
 
+/* DVD and VCD devices */
+#ifndef WIN32
+#   define DVD_DEVICE "/dev/dvd"
+#   define VCD_DEVICE "/dev/cdrom"
+#else
+#   define DVD_DEVICE "D"
+#   define VCD_DEVICE "D"
+#endif
+
 /*****************************************************************************
  * Audio configuration
  *****************************************************************************/
 
 /* Volume */
 #define VOLUME_DEFAULT                  256
-#define VOLUME_STEP                     128
+#define VOLUME_STEP                     32
 #define VOLUME_MAX                      1024
+#define VOLUME_MIN                      0
+
+/* Max number of pre-filters per input, and max number of post-filters */
+#define AOUT_MAX_FILTERS                10
+
+/* Max number of inputs */
+#define AOUT_MAX_INPUTS                 5
 
-/* Number of audio output frames contained in an audio output fifo.
- * (AOUT_FIFO_SIZE + 1) must be a power of 2, in order to optimise the
- * %(AOUT_FIFO_SIZE + 1) operation with an &AOUT_FIFO_SIZE.
- * With 255 we have at least 255*384/2/48000=1 second of sound */
-#define AOUT_FIFO_SIZE                  255
+/* Buffers which arrive in advance of more than AOUT_MAX_PREPARE_TIME
+ * will cause the calling thread to sleep */
+#define AOUT_MAX_PREPARE_TIME           (mtime_t)(.5*CLOCK_FREQ)
 
-/* Maximum number of audio fifos. The value of AOUT_MAX_FIFOS should be a power
- * of two, in order to optimize the '/AOUT_MAX_FIFOS' and '*AOUT_MAX_FIFOS'
- * operations with '>>' and '<<' (gcc changes this at compilation-time) */
-#define AOUT_MAX_FIFOS                  2
+/* Buffers which arrive after pts - AOUT_MIN_PREPARE_TIME will be trashed
+ * to avoid too heavy resampling */
+#define AOUT_MIN_PREPARE_TIME           (mtime_t)(.04*CLOCK_FREQ)
 
-/* Duration (in microseconds) of an audio output buffer should be :
- * - short, in order to be able to play a new song very quickly (especially a
- *   song from the interface)
- * - long, in order to perform the buffer calculations as few as possible */
-#define AOUT_BUFFER_DURATION            50000
+/* Max acceptable delay between the coded PTS and the actual presentation
+ * time, without resampling */
+#define AOUT_PTS_TOLERANCE              (mtime_t)(.02*CLOCK_FREQ)
 
 /*****************************************************************************
  * Video configuration
  * late, the thread will perform an idle loop. This time should be
  * at least VOUT_IDLE_SLEEP plus the time required to render a few
  * images, to avoid trashing of decoded images */
-#define VOUT_DISPLAY_DELAY              ((int)(0.500*CLOCK_FREQ))
+#define VOUT_DISPLAY_DELAY              ((int)(0.200*CLOCK_FREQ))
+
+/* Pictures which are VOUT_BOGUS_DELAY or more in advance probably have
+ * a bogus PTS and won't be displayed */
+#define VOUT_BOGUS_DELAY                ((int)(0.800*CLOCK_FREQ))
 
 /* Delay (in microseconds) before an idle screen is displayed */
 #define VOUT_IDLE_DELAY                 (5*CLOCK_FREQ)
 #define VOUT_FPS_SAMPLES                20
 
 /* Better be in advance when awakening than late... */
-#define VOUT_MWAIT_TOLERANCE            ((int)(0.020*CLOCK_FREQ))
+#define VOUT_MWAIT_TOLERANCE            ((mtime_t)(0.020*CLOCK_FREQ))
 
 /* Time to sleep when waiting for a buffer (from vout or the video fifo).
  * It should be approximately the time needed to perform a complete picture
  * loop. Since it only happens when the video heap is full, it does not need
  * to be too low, even if it blocks the decoder. */
-#define VOUT_OUTMEM_SLEEP               ((int)(0.020*CLOCK_FREQ))
+#define VOUT_OUTMEM_SLEEP               ((mtime_t)(0.020*CLOCK_FREQ))
 
 /* The default video output window title */
 #define VOUT_TITLE                      "VideoLAN Client " VERSION
  * Video parser configuration
  *****************************************************************************/
 
-#define VPAR_IDLE_SLEEP                 ((int)(0.010*CLOCK_FREQ))
+#define VPAR_IDLE_SLEEP                 ((mtime_t)(0.010*CLOCK_FREQ))
 
 /* Optimization level, from 0 to 2 - 1 is generally a good compromise. Remember
  * that raising this level dramatically lengthens the compilation time. */
  * Video decoder configuration
  *****************************************************************************/
 
-#define VDEC_IDLE_SLEEP                 ((int)(0.100*CLOCK_FREQ))
+#define VDEC_IDLE_SLEEP                 ((mtime_t)(0.100*CLOCK_FREQ))
 
 /* Maximum range of values out of the IDCT + motion compensation. */
 #define VDEC_CROPRANGE                  2048
 
 /* Maximal size of the message queue - in case of overflow, all messages in the
  * queue are printed, but not sent to the threads */
-#define INTF_MSG_QSIZE                  256
+#define VLC_MSG_QSIZE                   256
+
+/* Maximal depth of the object tree output by vlc_dumpstructure */
+#define MAX_DUMPSTRUCTURE_DEPTH         100