summaryrefslogtreecommitdiff
path: root/frontend_local.h
diff options
context:
space:
mode:
Diffstat (limited to 'frontend_local.h')
-rw-r--r--frontend_local.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/frontend_local.h b/frontend_local.h
new file mode 100644
index 00000000..a7975e3c
--- /dev/null
+++ b/frontend_local.h
@@ -0,0 +1,72 @@
+/*
+ * frontend_local.h:
+ *
+ * See the main source file 'xineliboutput.c' for copyright information and
+ * how to reach the author.
+ *
+ * $Id: frontend_local.h,v 1.1 2006-06-03 09:50:54 phintuka Exp $
+ *
+ */
+
+#ifndef __XINELIB_FRONTEND_LOCAL_H
+#define __XINELIB_FRONTEND_LOCAL_H
+
+#include "frontend.h"
+
+//----------------------------- cXinelibLocal --------------------------------
+
+extern "C" {
+ typedef struct frontend_s frontend_t;
+}
+
+class cXinelibLocal : public cXinelibThread
+{
+
+ public:
+ cXinelibLocal(const char *frontend_name);
+ virtual ~cXinelibLocal();
+
+ // Thread control
+ virtual void Stop(void);
+
+ protected:
+ virtual void Action(void);
+
+
+ public:
+
+ // Data transfer
+ //virtual bool Poll(cPoller &Poller, int TimeoutMs);
+ virtual int Play_PES(const uchar *buf, int len);
+ virtual void OsdCmd(void *cmd);
+ virtual int64_t GetSTC();
+
+ // Image grabbing
+ virtual uchar *GrabImage(int &Size, bool Jpeg, int Quality,
+ int SizeX, int SizeY);
+
+ // Configuration
+ virtual void ConfigureWindow(int fullscreen, int width, int height,
+ int modeswitch, char *modeline,
+ int aspect, int scale_video, int field_order);
+ virtual void ConfigureDecoder(int pes_buffers, int priority);
+
+ protected:
+
+ // Playback control
+ virtual int Xine_Control(const char *cmd);
+
+ protected:
+
+ // Frontend access
+ frontend_t *load_frontend(const char *fe_name);
+
+ // Data
+ void *h_fe_lib;
+ frontend_t *fe;
+ cRwLock m_feLock;
+ bool m_bReconfigRequest;
+};
+
+
+#endif // __XINELIB_FRONTEND_LOCAL_H