From 4e4dd50bb8789be2331446b572ccf988f458db52 Mon Sep 17 00:00:00 2001 From: martii Date: Fri, 31 May 2013 13:27:04 +0200 Subject: [PATCH] copy api changes from spark to generic --- generic-pc/playback.cpp | 49 +++++++++++++++++++++++++++++++++++++++++ generic-pc/playback.h | 33 +++++++++++++++++++++++++++ generic-pc/video.cpp | 8 +++++++ generic-pc/video_lib.h | 8 +++++++ 4 files changed, 98 insertions(+) diff --git a/generic-pc/playback.cpp b/generic-pc/playback.cpp index 0aa2a75..4ca49e5 100644 --- a/generic-pc/playback.cpp +++ b/generic-pc/playback.cpp @@ -13,7 +13,11 @@ void cPlayback::Close(void) { } +#ifdef MARTII +bool cPlayback::Start(char * filename, unsigned short vpid, int vtype, unsigned short apid, bool ac3, int duration, bool /*noprobe*/) +#else bool cPlayback::Start(char * filename, unsigned short vpid, int vtype, unsigned short apid, bool ac3, int duration) +#endif { printf("%s:%s - filename=%s vpid=%u vtype=%d apid=%u ac3=%d duration=%i\n", FILENAME, __func__, filename, vpid, vtype, apid, ac3, duration); @@ -26,11 +30,13 @@ bool cPlayback::SetAPid(unsigned short pid, bool /*ac3*/) return true; } +#ifndef MARTII bool cPlayback::SetSPid(int pid) { printf("%s:%s pid %i\n", FILENAME, __func__, pid); return true; } +#endif bool cPlayback::SetSpeed(int speed) { @@ -62,6 +68,49 @@ void cPlayback::FindAllPids(uint16_t *, unsigned short *, uint16_t *numpida, std printf("%s:%s\n", FILENAME, __func__); *numpida = 0; } +#ifdef MARTII +void cPlayback::FindAllSubtitlePids(uint16_t * /*pids*/, uint16_t *numpids, std::string * /*language*/) +{ + *numpids = 0; +} + +bool cPlayback::SetSubtitlePid(unsigned short /*pid*/) +{ + return true; +} + +bool cPlayback::SetDvbsubtitlePid(unsigned short /*pid*/) +{ + return true; +} + +bool cPlayback::SetTeletextPid(unsigned short /*pid*/) +{ + return true; +} + +void cPlayback::FindAllDvbsubtitlePids(uint16_t * /*pids*/, uint16_t *numpids, std::string * /*language*/) +{ + *numpids = 0; +} + +void cPlayback::FindAllTeletextsubtitlePids(uint16_t * /*pids*/, uint16_t *numpids, std::string * /*language*/) +{ + *numpids = 0; +} + +void cPlayback::SuspendSubtitle(bool /*b*/) +{ +} + +void cPlayback::RequestAbort() +{ +} + +unsigned short cPlayback::GetTeletextPid(void) +{ +} +#endif cPlayback::cPlayback(int /*num*/) { diff --git a/generic-pc/playback.h b/generic-pc/playback.h index 862f444..46c84a1 100644 --- a/generic-pc/playback.h +++ b/generic-pc/playback.h @@ -13,19 +13,52 @@ class cPlayback { private: bool playing; +#ifdef MARTII + int mAudioStream; + int mSubtitleStream; + int mDvbsubtitleStream; + int mTeletextStream; + void (*framebuffer_callback)(unsigned char **, unsigned int *, unsigned int *, unsigned int *, int *); +#endif public: +#ifdef MARTII + cPlayback(int num __attribute__((unused))= 0, void (* /*fbcb*/)(unsigned char **, unsigned int *, unsigned int *, unsigned int *, int *) = NULL) { }; +#endif bool Open(playmode_t PlayMode); void Close(void); +#ifdef MARTII + bool Start(char * filename, unsigned short vpid, int vtype, unsigned short apid, bool ac3, int duration, bool no_probe = true); +#else bool Start(char * filename, unsigned short vpid, int vtype, unsigned short apid, bool ac3, int duration); +#endif bool Stop(void); bool SetAPid(unsigned short pid, bool ac3); +#ifdef MARTII + bool SetSubtitlePid(unsigned short pid); + bool SetDvbsubtitlePid(unsigned short pid); + bool SetTeletextPid(unsigned short pid); + unsigned short GetAPid(void) { return mAudioStream; } + unsigned short GetSubtitlePid(void) { return mSubtitleStream; } + unsigned short GetDvbsubtitlePid(void) { return mDvbsubtitleStream; } + unsigned short GetTeletextPid(void); + void SuspendSubtitle(bool); +#else bool SetSPid(int pid); +#endif bool SetSpeed(int speed); bool GetSpeed(int &speed) const; bool GetPosition(int &position, int &duration); bool SetPosition(int position, bool absolute = false); void FindAllPids(uint16_t *apids, unsigned short *ac3flags, uint16_t *numpida, std::string *language); +#ifdef MARTII + void FindAllSubtitlePids(uint16_t *pids, uint16_t *numpids, std::string *language); + void FindAllDvbsubtitlePids(uint16_t *pids, uint16_t *numpids, std::string *language); + void FindAllTeletextsubtitlePids(uint16_t *pids, uint16_t *numpidt, std::string *tlanguage); + + void RequestAbort(void); +#else void FindAllSPids(int *spids, uint16_t *numpids, std::string *language); +#endif // cPlayback(int num = 0); ~cPlayback(); diff --git a/generic-pc/video.cpp b/generic-pc/video.cpp index 5c4616f..05f5eb2 100644 --- a/generic-pc/video.cpp +++ b/generic-pc/video.cpp @@ -211,7 +211,11 @@ void cVideo::SetVideoMode(analog_mode_t) { } +#ifdef MARTII +void cVideo::ShowPicture(const char *fname, bool) +#else void cVideo::ShowPicture(const char *fname) +#endif { lt_info("%s(%s)\n", __func__, fname); if (access(fname, R_OK)) @@ -326,7 +330,11 @@ int cVideo::getBlank(void) return 0; } +#ifdef MARTII +void cVideo::Pig(int x, int y, int w, int h, int /*osd_w*/, int /*osd_h*/, int /*startx*/, int /*starty*/, int /*endx*/, int /*endy*/) +#else void cVideo::Pig(int x, int y, int w, int h, int, int) +#endif { pig_x = x; pig_y = y; diff --git a/generic-pc/video_lib.h b/generic-pc/video_lib.h index 36f9892..861b965 100644 --- a/generic-pc/video_lib.h +++ b/generic-pc/video_lib.h @@ -178,10 +178,18 @@ class cVideo : public OpenThreads::Thread bool SetCECMode(VIDEO_HDMI_CEC_MODE) { return true; }; void SetCECAutoView(bool) { return; }; void SetCECAutoStandby(bool) { return; }; +#ifdef MARTII + void ShowPicture(const char * fname, bool isM2V = false); +#else void ShowPicture(const char * fname); +#endif void StopPicture(); void Standby(unsigned int bOn); +#ifdef MARTII + void Pig(int x, int y, int w, int h, int osd_w = 1064, int osd_h = 600, int startx = 0, int starty = 0, int endx = 1279, int endy = 719); +#else void Pig(int x, int y, int w, int h, int osd_w = 1064, int osd_h = 600); +#endif void SetControl(int, int) { return; }; void setContrast(int val); void SetVideoMode(analog_mode_t mode);