diff options
Diffstat (limited to 'include/vdr-xineliboutput/service_pip.h')
-rw-r--r-- | include/vdr-xineliboutput/service_pip.h | 49 |
1 files changed, 49 insertions, 0 deletions
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 */ |