summaryrefslogtreecommitdiff
path: root/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'config.h')
-rw-r--r--config.h226
1 files changed, 226 insertions, 0 deletions
diff --git a/config.h b/config.h
new file mode 100644
index 00000000..535c6237
--- /dev/null
+++ b/config.h
@@ -0,0 +1,226 @@
+/*
+ * config.h: Global configuration and user settings
+ *
+ * See the main source file 'xineliboutput.c' for copyright information and
+ * how to reach the author.
+ *
+ * $Id: config.h,v 1.1 2006-06-03 09:50:54 phintuka Exp $
+ *
+ */
+
+#ifndef _XINELIB_CONFIG_H_
+#define _XINELIB_CONFIG_H_
+
+#include <string.h>
+
+// Decoder buffer size
+#define PES_BUFFERS_CUSTOM 0
+#define PES_BUFFERS_TINY_50 1
+#define PES_BUFFERS_SMALL_250 2
+#define PES_BUFFERS_MEDIUM_500 3
+#define PES_BUFFERS_LARGE_1000 4
+#define PES_BUFFERS_HUGE_2000 5
+#define PES_BUFFERS_count 6
+
+// Output window aspect ratio
+#define ASPECT_AUTO 0
+#define ASPECT_DEFAULT 1
+#define ASPECT_4_3 2
+#define ASPECT_16_9 3
+#define ASPECT_PAN_SCAN 4
+#define ASPECT_CENTER_CUT_OUT 5
+#define ASPECT_count 6
+
+// De-interlace method
+#define DEINTERLACE_NONE 0
+#define DEINTERLACE_BOB 1
+#define DEINTERLACE_WEAVE 2
+#define DEINTERLACE_GREEDY 3
+#define DEINTERLACE_ONEFIELD 4
+#define DEINTERLACE_ONEFIELD_XV 5
+#define DEINTERLACE_LINEARLEND 6
+#define DEINTERLACE_TVTIME 7
+#define DEINTERLACE_count 8
+
+// Decoder priority
+#define DECODER_PRIORITY_LOW 0
+#define DECODER_PRIORITY_NORMAL 1
+#define DECODER_PRIORITY_HIGH 2
+#define DECODER_PRIORITY_count 3
+
+#define FIELD_ORDER_NORMAL 0
+#define FIELD_ORDER_INVERTED 1
+#define FIELD_ORDER_count 2
+
+// Audio driver
+#define AUDIO_DRIVER_AUTO 0
+#define AUDIO_DRIVER_ALSA 1
+#define AUDIO_DRIVER_OSS 2
+#define AUDIO_DRIVER_NONE 3
+#define AUDIO_DRIVER_ARTS 4
+#define AUDIO_DRIVER_ESOUND 5
+#define AUDIO_DRIVER_count 6
+
+// Video driver
+#define X11_DRIVER_AUTO 0
+#define X11_DRIVER_XSHM 1
+#define X11_DRIVER_XV 2
+#define X11_DRIVER_XVMC 3
+#define X11_DRIVER_XXMC 4
+#define X11_DRIVER_NONE 5
+#define X11_DRIVER_count 6
+
+#define FB_DRIVER_AUTO 0
+#define FB_DRIVER_FB 1
+#define FB_DRIVER_DIRECTFB 2
+#define FB_DRIVER_NONE 3
+#define FB_DRIVER_count 4
+
+// Local frontend
+#define FRONTEND_X11 0
+#define FRONTEND_FB 1
+#define FRONTEND_NONE 2
+#define FRONTEND_count 3
+#define DEFAULT_FRONTEND "sxfe"
+
+#define LISTEN_PORT 37890
+#define LISTEN_PORT_S "37890"
+#define DISCOVERY_PORT 37890
+
+#define AUDIO_EQ_30HZ 0
+#define AUDIO_EQ_60HZ 1
+#define AUDIO_EQ_125HZ 2
+#define AUDIO_EQ_250HZ 3
+#define AUDIO_EQ_500HZ 4
+#define AUDIO_EQ_1000HZ 5
+#define AUDIO_EQ_2000HZ 6
+#define AUDIO_EQ_4000HZ 7
+#define AUDIO_EQ_8000HZ 8
+#define AUDIO_EQ_16000HZ 9
+#define AUDIO_EQ_count 10
+
+#define AUDIO_VIS_NONE 0
+#define AUDIO_VIS_GOOM 1
+#define AUDIO_VIS_count 5
+
+typedef enum {
+ ShowMenu = 0,
+ ShowEq = 1,
+ ShowFiles = 2,
+ ShowImages = 3,
+ CloseOsd = 4
+} eMainMenuMode;
+
+class config_t {
+ public:
+ static const char *s_bufferSize[];
+ static const int i_pesBufferSize[];
+ static const char *s_aspects[];
+ static const char *s_deinterlaceMethods[];
+ static const char *s_deinterlaceMethodNames[];
+ static const char *s_decoderPriority[];
+ static const char *s_fieldOrder[];
+ static const char *s_audioDriverNames[];
+ static const char *s_audioDrivers[];
+ static const char *s_videoDriverNamesX11[];
+ static const char *s_videoDriversX11[];
+ static const char *s_videoDriverNamesFB[];
+ static const char *s_videoDriversFB[];
+ static const char *s_frontendNames[];
+ static const char *s_frontends[];
+ static const char *s_frontend_files[];
+ static const char *s_audioEqNames[];
+ static const char *s_audioVisualizations[];
+ static const char *s_audioVisualizationNames[];
+
+ public:
+ char video_driver[32];
+ char video_port[64]; // X11: DISPLAY=...
+ char audio_driver[32];
+ char audio_port[32];
+ char *post_plugins; // from command line options
+
+ int audio_delay; // in ms
+ int audio_compression; // 100%(=off)...500%
+ int audio_equalizer[AUDIO_EQ_count];
+ char audio_visualization[256];
+ //char audio_vis_goom_opts[256];
+ int audio_surround;
+ int headphone;
+ int audio_upmix;
+
+ int inactivity_timer;
+ int decoder_priority;
+ int pes_buffers;
+ char deinterlace_method[32];
+ char deinterlace_opts[256];
+ int display_aspect;
+
+ int hide_main_menu;
+ int prescale_osd;
+ int prescale_osd_downscale;
+ int unscaled_osd;
+ int unscaled_osd_opaque;
+ int unscaled_osd_lowresvideo;
+ int alpha_correction;
+ int alpha_correction_abs;
+
+ char local_frontend[256];
+ char modeline[128];
+
+ int fullscreen;
+ int modeswitch;
+ int width;
+ int height;
+ int scale_video;
+ int field_order;
+ int autocrop;
+
+ int remote_mode;
+ int listen_port;
+ int use_remote_keyboard;
+ int remote_usetcp, remote_useudp, remote_usertp, remote_usepipe;
+ int remote_usebcast;
+
+ char remote_rtp_addr[64];
+ int remote_rtp_port;
+ int remote_rtp_ttl;
+ int remote_rtp_always_on;
+
+ int use_x_keyboard;
+
+ int hue; // 0...0xffff, -1 == off
+ int saturation; // 0...0xffff, -1 == off
+ int contrast; // 0...0xffff, -1 == off
+ int brightness; // 0...0xffff, -1 == off
+
+ char browse_files_dir[4096];
+ char browse_images_dir[4096];
+
+ eMainMenuMode main_menu_mode;
+ int force_primary_device;
+
+ config_t();
+ bool SetupParse(const char *Name, const char *Value);
+ bool ProcessArgs(int argc, char *argv[]);
+
+ protected:
+ bool ProcessArg(const char *Name, const char *Value);
+ char *m_ProcessedArgs;
+};
+
+// Global instance
+extern config_t xc;
+
+// Find index of string in array of strings
+static inline int strstra(const char *str, const char *stra[], int def_index)
+{
+ int i;
+ for(i=0; stra[i]; i++)
+ if(!strcmp(str,stra[i]))
+ return i;
+ return def_index;
+}
+
+#endif //_XINELIB_CONFIG_H_
+