00001
00002
00003 #ifndef _UTIL_XV_H_
00004 #define _UTIL_XV_H_
00005
00006 #include <QString>
00007 #include <QMap>
00008
00009 #include "videobuffers.h"
00010 #include "exitcodes.h"
00011
00012 class port_info
00013 {
00014 public:
00015 MythXDisplay *disp;
00016 int port;
00017 QMap<QString,int> attribs;
00018 };
00019
00020 extern QMap<int,port_info> open_xv_ports;
00021
00022 extern void close_all_xv_ports_signal_handler(int sig);
00023 extern bool add_open_xv_port(MythXDisplay *disp, int port);
00024 extern void del_open_xv_port(int port);
00025 extern bool has_open_xv_port(int port);
00026 extern uint cnt_open_xv_port(void);
00027 extern QString xvflags2str(int flags);
00028 extern bool xv_is_attrib_supported(
00029 MythXDisplay *disp, int port, const char *name,
00030 int *current_value = NULL, int *min_val = NULL, int *max_val = NULL);
00031 extern bool xv_set_attrib(MythXDisplay *disp, int port,
00032 const char *name, int val);
00033 extern bool xv_get_attrib(MythXDisplay *disp, int port,
00034 const char *name, int &val);
00035 extern void save_port_attributes(int port);
00036 extern void restore_port_attributes(int port, bool clear = true);
00037
00038 #endif // _UTIL_XV_H_