From 0a94bc76ace2ad4d556f2435bb411bc3a19ab7f8 Mon Sep 17 00:00:00 2001 From: phintuka Date: Fri, 12 Mar 2010 21:15:05 +0000 Subject: Initial import --- include/vdr-xineliboutput/service_pip.h | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 include/vdr-xineliboutput/service_pip.h (limited to 'include') diff --git a/include/vdr-xineliboutput/service_pip.h b/include/vdr-xineliboutput/service_pip.h new file mode 100644 index 00000000..ee168fcf --- /dev/null +++ b/include/vdr-xineliboutput/service_pip.h @@ -0,0 +1,49 @@ +/* + * vdr-xineliboutput/service_pip.h: xineliboutput Picture-In-Picture service interface + * + * See the main source file 'xineliboutput.c' for copyright information and + * how to reach the author. + * + * $Id: service_pip.h,v 1.1 2010-03-12 21:15:05 phintuka Exp $ + * + */ + +#ifndef VDR_XINELIBOUTPUT_SERVICE_PIP_H +#define VDR_XINELIBOUTPUT_SERVICE_PIP_H + +/* + * Example: + * + * cXineliboutputPipService *pip_if; + * + * if (Plugin->Service(XINELIBOUTPUT_SERVICE_PIP_ID, &pip_if)) { + * while(...) + * pip_if->PlayTs(...); + * delete pip_if; + * } + * + */ + +#define XINELIBOUTPUT_SERVICE_PIP_ID "Xineliboutput_Pip_Open" + +#define XINELIBOUTPUT_SERVICE_PIP_VERSION 0x0100 + +class cXineliboutputPipService { + + public: + + /* Set location and size (in % of full screen) + * Example: + * Blend PIP picture to left-top corner, resize to 20% of full screen: + * SetPosition(5, 5, 20, 20); + */ + virtual void SetPosition(uint X, uint Y, uint W, uint H) = 0; + + /* PIP input: single MPEG-TS video packet */ + virtual int PlayTs(const uint8_t *Data) = 0; + + virtual ~cXineliboutputPipService() {}; +}; + + +#endif /* VDR_XINELIBOUTPUT_SERVICE_PIP_H */ -- cgit v1.2.3