From 1ca74c99b4d3f2d5dd38cba807f0b5f2ce1b47d0 Mon Sep 17 00:00:00 2001 From: Stefan Seyfried Date: Sat, 25 Dec 2010 17:43:28 +0000 Subject: [PATCH] add generic dispatcher headers for frontend etc add generic audio, video and demux headers in zapit/include (TODO: put them into a better place, or put wrappers into lib directories) that automatically dispatch to the hardware specific functions and use them in the code git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@962 e54a6e83-5905-42d5-8d5c-058d10e6a962 Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/2590adfe15fb0a085f9cf5d9a58feb2bdff96d4b Author: Stefan Seyfried Date: 2010-12-25 (Sat, 25 Dec 2010) ------------------ This commit was generated by Migit --- lib/libcoolstream/playback.h | 1 + lib/libdvbsub/Makefile.am | 10 ++- lib/libdvbsub/dvbsub.cpp | 3 +- lib/libtriple/cs_api.h | 66 +++++++++++++++++++ lib/libtriple/init_td.h | 12 ---- lib/libtuxtxt/Makefile.am | 8 ++- lib/libtuxtxt/tuxtxt.cpp | 4 +- lib/libtuxtxt/tuxtxt_common.h | 2 +- src/driver/audiodec/mp3dec.cpp | 2 +- src/driver/audiodec/oggdec.cpp | 2 +- src/driver/audiodec/wavdec.cpp | 2 +- src/driver/framebuffer.cpp | 2 +- src/driver/framebuffer.h | 2 +- src/driver/pictureviewer/fb_display.cpp | 1 + src/driver/stream2file.cpp | 7 +- src/driver/streamts.cpp | 2 +- src/gui/audioplayer.cpp | 2 +- src/gui/imageinfo.cpp | 2 +- src/gui/infoviewer.cpp | 2 +- src/gui/movieplayer.cpp | 4 +- src/gui/scan.cpp | 2 +- src/gui/streaminfo2.cpp | 6 +- src/gui/upnpbrowser.cpp | 2 +- src/gui/videosettings.cpp | 2 +- src/neutrino.cpp | 4 +- src/neutrino_menue.cpp | 4 +- src/nhttpd/tuxboxapi/coolstream/Makefile.am | 8 ++- .../tuxboxapi/coolstream/neutrinoapi.cpp | 6 +- src/sectionsd/dmx.h | 6 ++ src/sectionsd/dmxapi.cpp | 4 ++ src/sectionsd/dmxapi.h | 3 +- src/sectionsd/sectionsd.cpp | 3 +- src/system/setting_helpers.cpp | 8 ++- src/zapit/include/audio.h | 6 ++ src/zapit/include/dmx.h | 9 +++ src/zapit/include/video.h | 8 +++ src/zapit/src/descriptors.cpp | 2 +- src/zapit/src/fastscan.cpp | 2 +- src/zapit/src/nit.cpp | 2 +- src/zapit/src/pat.cpp | 2 +- src/zapit/src/pmt.cpp | 4 +- src/zapit/src/sdt.cpp | 2 +- src/zapit/src/zapit.cpp | 14 ++-- 43 files changed, 184 insertions(+), 61 deletions(-) create mode 100644 lib/libcoolstream/playback.h create mode 100644 lib/libtriple/cs_api.h create mode 100644 src/zapit/include/audio.h create mode 100644 src/zapit/include/dmx.h create mode 100644 src/zapit/include/video.h diff --git a/lib/libcoolstream/playback.h b/lib/libcoolstream/playback.h new file mode 100644 index 000000000..95ea0884e --- /dev/null +++ b/lib/libcoolstream/playback.h @@ -0,0 +1 @@ +#include "playback_cs.h" diff --git a/lib/libdvbsub/Makefile.am b/lib/libdvbsub/Makefile.am index 0bf6f9eb0..b27821edb 100644 --- a/lib/libdvbsub/Makefile.am +++ b/lib/libdvbsub/Makefile.am @@ -1,7 +1,13 @@ INCLUDES = \ -I$(top_srcdir)/src/zapit/include \ - -I$(top_srcdir)/src \ - -I$(top_srcdir)/lib/libcoolstream + -I$(top_srcdir)/src + +if BOXTYPE_COOL +INCLUDES += -I$(top_srcdir)/lib/libcoolstream +endif +if BOXTYPE_TRIPLE +INCLUDES += -I$(top_srcdir)/lib/libtriple +endif AM_CPPFLAGS = -fno-rtti -fno-exceptions diff --git a/lib/libdvbsub/dvbsub.cpp b/lib/libdvbsub/dvbsub.cpp index 18fa49fcb..39844709b 100644 --- a/lib/libdvbsub/dvbsub.cpp +++ b/lib/libdvbsub/dvbsub.cpp @@ -1,6 +1,7 @@ // Workaround for C++ #define __STDC_CONSTANT_MACROS +#include #include #include #include @@ -11,7 +12,7 @@ #include -#include +#include #include "Debug.hpp" #include "PacketQueue.hpp" diff --git a/lib/libtriple/cs_api.h b/lib/libtriple/cs_api.h new file mode 100644 index 000000000..5512b928d --- /dev/null +++ b/lib/libtriple/cs_api.h @@ -0,0 +1,66 @@ +/* compatibility header for tripledragon. I'm lazy, so I just left it + as "cs_api.h" so that I don't need too many ifdefs in the code */ + +#ifndef __CS_API_H_ +#define __CS_API_H_ + +#include "init_td.h" +typedef void (*cs_messenger) (unsigned int msg, unsigned int data); + +#if 0 +enum CS_LOG_MODULE { + CS_LOG_CI = 0, + CS_LOG_HDMI_CEC, + CS_LOG_HDMI, + CS_LOG_VIDEO, + CS_LOG_VIDEO_DRM, + CS_LOG_AUDIO, + CS_LOG_DEMUX, + CS_LOG_DENC, + CS_LOG_PVR_RECORD, + CS_LOG_PVR_PLAY, + CS_LOG_POWER_CTRL, + CS_LOG_POWER_CLK, + CS_LOG_MEM, + CS_LOG_API, +}; +#endif + +inline void cs_api_init() +{ + init_td_api(); +}; + +inline void cs_api_exit() +{ + shutdown_td_api(); +}; + +#define cs_malloc_uncached malloc +#define cs_free_uncached free + +// Callback function helpers +static inline void cs_register_messenger(cs_messenger) { return; }; +static inline void cs_deregister_messenger(void) { return; }; +//cs_messenger cs_get_messenger(void); + +#if 0 +// Logging functions +void cs_log_enable(void); +void cs_log_disable(void); +void cs_log_message(const char *prefix, const char *fmt, ...); +void cs_log_module_enable(enum CS_LOG_MODULE module); +void cs_log_module_disable(enum CS_LOG_MODULE module); +void cs_log_module_message(enum CS_LOG_MODULE module, const char *fmt, ...); + +// TS Routing +unsigned int cs_get_ts_output(void); +int cs_set_ts_output(unsigned int port); + +// Serial nr and revision accessors +unsigned long long cs_get_serial(void); +#endif +/* compat... HD1 seems to be version 6. everything newer ist > 6... */ +static unsigned int cs_get_revision(void) { return 1; }; +extern int cnxt_debug; +#endif //__CS_API_H_ diff --git a/lib/libtriple/init_td.h b/lib/libtriple/init_td.h index a3a0314bc..d9a6f0963 100644 --- a/lib/libtriple/init_td.h +++ b/lib/libtriple/init_td.h @@ -2,16 +2,4 @@ #define __INIT_TD_H void init_td_api(); void shutdown_td_api(); - -inline void cs_api_init() -{ - init_td_api(); -}; - -inline void cs_api_exit() -{ - shutdown_td_api(); -}; -#define cs_malloc_uncached malloc -#define cs_free_uncached free #endif diff --git a/lib/libtuxtxt/Makefile.am b/lib/libtuxtxt/Makefile.am index 38fc88b6f..c4a42e6d8 100644 --- a/lib/libtuxtxt/Makefile.am +++ b/lib/libtuxtxt/Makefile.am @@ -1,8 +1,14 @@ INCLUDES = \ -I$(top_srcdir)/src/zapit/include \ - -I$(top_srcdir)/lib/libcoolstream \ -I$(top_srcdir)/src +if BOXTYPE_COOL +INCLUDES += -I$(top_srcdir)/lib/libcoolstream +endif +if BOXTYPE_TRIPLE +INCLUDES += -I$(top_srcdir)/lib/libtriple +endif + AM_CPPFLAGS = -fno-rtti -fno-exceptions noinst_LIBRARIES = libtuxtxt.a diff --git a/lib/libtuxtxt/tuxtxt.cpp b/lib/libtuxtxt/tuxtxt.cpp index 17dda4e91..c545b7700 100644 --- a/lib/libtuxtxt/tuxtxt.cpp +++ b/lib/libtuxtxt/tuxtxt.cpp @@ -16,8 +16,8 @@ #include "tuxtxt.h" #include "driver/framebuffer.h" #include "teletext.h" -#include -#include +#include +#include extern cVideo * videoDecoder; diff --git a/lib/libtuxtxt/tuxtxt_common.h b/lib/libtuxtxt/tuxtxt_common.h index 8708c3821..4a9130325 100644 --- a/lib/libtuxtxt/tuxtxt_common.h +++ b/lib/libtuxtxt/tuxtxt_common.h @@ -11,7 +11,7 @@ #include #endif -#include +#include tuxtxt_cache_struct tuxtxt_cache; static pthread_mutex_t tuxtxt_cache_lock = PTHREAD_MUTEX_INITIALIZER; diff --git a/src/driver/audiodec/mp3dec.cpp b/src/driver/audiodec/mp3dec.cpp index f4ee2da10..77f7a1a6b 100644 --- a/src/driver/audiodec/mp3dec.cpp +++ b/src/driver/audiodec/mp3dec.cpp @@ -53,7 +53,7 @@ #include #include #include -#include +#include extern cAudio * audioDecoder; diff --git a/src/driver/audiodec/oggdec.cpp b/src/driver/audiodec/oggdec.cpp index 3951f4118..70de54381 100644 --- a/src/driver/audiodec/oggdec.cpp +++ b/src/driver/audiodec/oggdec.cpp @@ -37,7 +37,7 @@ #include #include -#include +#include extern cAudio * audioDecoder; diff --git a/src/driver/audiodec/wavdec.cpp b/src/driver/audiodec/wavdec.cpp index aefff39c1..da229077a 100644 --- a/src/driver/audiodec/wavdec.cpp +++ b/src/driver/audiodec/wavdec.cpp @@ -37,7 +37,7 @@ #include #include #include -#include +#include extern cAudio * audioDecoder; diff --git a/src/driver/framebuffer.cpp b/src/driver/framebuffer.cpp index 46f17c95b..d11d2f91c 100644 --- a/src/driver/framebuffer.cpp +++ b/src/driver/framebuffer.cpp @@ -43,7 +43,7 @@ #include #include #include -#include +#include #include extern cVideo * videoDecoder; diff --git a/src/driver/framebuffer.h b/src/driver/framebuffer.h index 53d2680f0..4b38d3212 100644 --- a/src/driver/framebuffer.h +++ b/src/driver/framebuffer.h @@ -26,10 +26,10 @@ #define __framebuffer__ #include +#include #include #include -#include #include #include diff --git a/src/driver/pictureviewer/fb_display.cpp b/src/driver/pictureviewer/fb_display.cpp index 02a61f60f..39140b854 100644 --- a/src/driver/pictureviewer/fb_display.cpp +++ b/src/driver/pictureviewer/fb_display.cpp @@ -2,6 +2,7 @@ * (c) smoku/2000 */ +#include #include #include diff --git a/src/driver/stream2file.cpp b/src/driver/stream2file.cpp index d158d4f9c..d1e882b7f 100644 --- a/src/driver/stream2file.cpp +++ b/src/driver/stream2file.cpp @@ -54,8 +54,13 @@ #include #include -#include #include +#if HAVE_COOL_HARDWARE +#include +#endif +#if HAVE_TRIPLEDRAGON +#include +#endif #include #include diff --git a/src/driver/streamts.cpp b/src/driver/streamts.cpp index b7d3dbfc0..bee42ab5d 100644 --- a/src/driver/streamts.cpp +++ b/src/driver/streamts.cpp @@ -25,7 +25,7 @@ #include -#include +#include #include #include diff --git a/src/gui/audioplayer.cpp b/src/gui/audioplayer.cpp index c9bcfb5ec..6f5fdb66b 100644 --- a/src/gui/audioplayer.cpp +++ b/src/gui/audioplayer.cpp @@ -95,7 +95,7 @@ #endif #endif -#include +#include extern cVideo * videoDecoder; #ifdef ConnectLineBox_Width diff --git a/src/gui/imageinfo.cpp b/src/gui/imageinfo.cpp index 94f674fe0..2a0ebd1f8 100644 --- a/src/gui/imageinfo.cpp +++ b/src/gui/imageinfo.cpp @@ -35,7 +35,7 @@ #include #include -#include +#include #include "svn_version.h" #define SVN_REV "SVN Rev.:" diff --git a/src/gui/infoviewer.cpp b/src/gui/infoviewer.cpp index 253e6e113..5869cb1c2 100644 --- a/src/gui/infoviewer.cpp +++ b/src/gui/infoviewer.cpp @@ -59,7 +59,7 @@ #include #include #include -#include +#include void sectionsd_getEventsServiceKey(t_channel_id serviceUniqueKey, CChannelEventList &eList, char search = 0, std::string search_text = ""); void sectionsd_getCurrentNextServiceKey(t_channel_id uniqueServiceKey, CSectionsdClient::responseGetCurrentNextInfoChannelID& current_next ); diff --git a/src/gui/movieplayer.cpp b/src/gui/movieplayer.cpp index 33c2ddb58..c73cd7a2f 100644 --- a/src/gui/movieplayer.cpp +++ b/src/gui/movieplayer.cpp @@ -74,8 +74,8 @@ #include #include -#include -#include +#include +#include int dvbsub_start(int pid); int dvbsub_pause(); diff --git a/src/gui/scan.cpp b/src/gui/scan.cpp index 51b8bc98e..0082d706f 100644 --- a/src/gui/scan.cpp +++ b/src/gui/scan.cpp @@ -57,7 +57,7 @@ #include #include -#include +#include extern cVideo * videoDecoder; extern CFrontend * frontend; diff --git a/src/gui/streaminfo2.cpp b/src/gui/streaminfo2.cpp index 8a979ae3a..0e2eb311e 100644 --- a/src/gui/streaminfo2.cpp +++ b/src/gui/streaminfo2.cpp @@ -41,9 +41,9 @@ #include #include #include -#include -#include -#include +#include +#include +#include #include #include extern CFrontend * frontend; diff --git a/src/gui/upnpbrowser.cpp b/src/gui/upnpbrowser.cpp index dcbf1bc91..242991997 100644 --- a/src/gui/upnpbrowser.cpp +++ b/src/gui/upnpbrowser.cpp @@ -67,7 +67,7 @@ #include -#include +#include extern cVideo * videoDecoder; #ifdef ConnectLineBox_Width diff --git a/src/gui/videosettings.cpp b/src/gui/videosettings.cpp index 9a967bb4d..87ac39962 100644 --- a/src/gui/videosettings.cpp +++ b/src/gui/videosettings.cpp @@ -51,7 +51,7 @@ #include #include -#include +#include extern cVideo *videoDecoder; extern int prev_video_mode; diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 983f9a6cc..6306d4dfe 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -128,8 +128,8 @@ #include #include -#include -#include +#include +#include #include #include #include diff --git a/src/neutrino_menue.cpp b/src/neutrino_menue.cpp index 4788b0081..71e2d6049 100644 --- a/src/neutrino_menue.cpp +++ b/src/neutrino_menue.cpp @@ -125,8 +125,8 @@ #include #include -#include -#include +#include +#include #include // #include #include diff --git a/src/nhttpd/tuxboxapi/coolstream/Makefile.am b/src/nhttpd/tuxboxapi/coolstream/Makefile.am index 16982530d..2d05e02a5 100644 --- a/src/nhttpd/tuxboxapi/coolstream/Makefile.am +++ b/src/nhttpd/tuxboxapi/coolstream/Makefile.am @@ -11,9 +11,15 @@ INCLUDES = \ -I$(top_srcdir)/lib/libeventserver \ -I$(top_srcdir)/lib/libconfigfile \ -I$(top_srcdir)/lib/xmltree \ - -I$(top_srcdir)/lib/libcoolstream \ @FREETYPE_CFLAGS@ +if BOXTYPE_COOL +INCLUDES += -I$(top_srcdir)/lib/libcoolstream +endif +if BOXTYPE_TRIPLE +INCLUDES += -I$(top_srcdir)/lib/libtriple +endif + noinst_LIBRARIES = libnhttpd_tuxboxapi.a libnhttpd_tuxboxapi_a_SOURCES = \ diff --git a/src/nhttpd/tuxboxapi/coolstream/neutrinoapi.cpp b/src/nhttpd/tuxboxapi/coolstream/neutrinoapi.cpp index 80f162d97..7987537f6 100644 --- a/src/nhttpd/tuxboxapi/coolstream/neutrinoapi.cpp +++ b/src/nhttpd/tuxboxapi/coolstream/neutrinoapi.cpp @@ -30,9 +30,9 @@ #include #include #include -#include -#include -#include +#include +#include +#include #include #include #include diff --git a/src/sectionsd/dmx.h b/src/sectionsd/dmx.h index 9b066d87d..91121ca82 100644 --- a/src/sectionsd/dmx.h +++ b/src/sectionsd/dmx.h @@ -28,7 +28,13 @@ #include #include #include +#include +#if HAVE_COOL_HARDWARE #include +#endif +#if HAVE_TRIPLEDRAGON +#include +#endif typedef uint64_t sections_id_t; typedef unsigned char version_number_t; diff --git a/src/sectionsd/dmxapi.cpp b/src/sectionsd/dmxapi.cpp index fdcfc1923..f2b9de536 100644 --- a/src/sectionsd/dmxapi.cpp +++ b/src/sectionsd/dmxapi.cpp @@ -30,7 +30,11 @@ #include /* close, read */ #include +#if HAVE_TRIPLEDRAGON +#include +#else #include +#endif #ifndef DO_NOT_INCLUDE_STUFF_NOT_NEEDED_FOR_SECTIONSD bool setfilter(const int fd, const uint16_t pid, const uint8_t filter, const uint8_t mask, const uint32_t flags) diff --git a/src/sectionsd/dmxapi.h b/src/sectionsd/dmxapi.h index 938028ca3..25d1a0e6f 100644 --- a/src/sectionsd/dmxapi.h +++ b/src/sectionsd/dmxapi.h @@ -29,8 +29,9 @@ #endif #include - +#if !HAVE_TRIPLEDRAGON #include +#endif bool setfilter(const int fd, const uint16_t pid, const uint8_t filter, const uint8_t mask, const uint32_t flags); diff --git a/src/sectionsd/sectionsd.cpp b/src/sectionsd/sectionsd.cpp index c467ac13c..d163bdd6e 100644 --- a/src/sectionsd/sectionsd.cpp +++ b/src/sectionsd/sectionsd.cpp @@ -27,9 +27,10 @@ // // +#include #include -#include #include +#include #include #include diff --git a/src/system/setting_helpers.cpp b/src/system/setting_helpers.cpp index 18eaf699d..40f89bf1c 100644 --- a/src/system/setting_helpers.cpp +++ b/src/system/setting_helpers.cpp @@ -51,7 +51,9 @@ #include #include +#if HAVE_COOL_HARDWARE #include +#endif #include @@ -67,9 +69,9 @@ #include #include #include -#include -#include -#include +#include +#include +#include #include #include #include "libdvbsub/dvbsub.h" diff --git a/src/zapit/include/audio.h b/src/zapit/include/audio.h new file mode 100644 index 000000000..2bc0cc772 --- /dev/null +++ b/src/zapit/include/audio.h @@ -0,0 +1,6 @@ +#if HAVE_COOL_HARDWARE +#include +#endif +#if HAVE_TRIPLEDRAGON +#include +#endif diff --git a/src/zapit/include/dmx.h b/src/zapit/include/dmx.h new file mode 100644 index 000000000..8dd57df69 --- /dev/null +++ b/src/zapit/include/dmx.h @@ -0,0 +1,9 @@ +#if HAVE_COOL_HARDWARE +#include +#elif HAVE_TRIPLEDRAGON +#include +#else +#error neither HAVE_COOL_HARDWARE nor HAVE_TRIPLEDRAGON defined. +#error do you need to include config.h? +#endif + diff --git a/src/zapit/include/video.h b/src/zapit/include/video.h new file mode 100644 index 000000000..636dc2189 --- /dev/null +++ b/src/zapit/include/video.h @@ -0,0 +1,8 @@ +#if HAVE_COOL_HARDWARE +#include +#include +#endif +#if HAVE_TRIPLEDRAGON +#include +#include +#endif diff --git a/src/zapit/src/descriptors.cpp b/src/zapit/src/descriptors.cpp index 97e23361d..27d9a70ea 100644 --- a/src/zapit/src/descriptors.cpp +++ b/src/zapit/src/descriptors.cpp @@ -35,7 +35,7 @@ #include #include #include -#include +#include #include extern CBouquetManager *g_bouquetManager; diff --git a/src/zapit/src/fastscan.cpp b/src/zapit/src/fastscan.cpp index 43a147822..ee9a30725 100644 --- a/src/zapit/src/fastscan.cpp +++ b/src/zapit/src/fastscan.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include diff --git a/src/zapit/src/nit.cpp b/src/zapit/src/nit.cpp index 51ed445f4..a06a4ff95 100644 --- a/src/zapit/src/nit.cpp +++ b/src/zapit/src/nit.cpp @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include #include diff --git a/src/zapit/src/pat.cpp b/src/zapit/src/pat.cpp index 96d92b76c..6c0d8f620 100644 --- a/src/zapit/src/pat.cpp +++ b/src/zapit/src/pat.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include #define PAT_SIZE 1024 diff --git a/src/zapit/src/pmt.cpp b/src/zapit/src/pmt.cpp index d3a145f00..bc2c78a9c 100644 --- a/src/zapit/src/pmt.cpp +++ b/src/zapit/src/pmt.cpp @@ -29,10 +29,10 @@ #include #include #include -#include +#include #include -#include +//#include #define PMT_SIZE 1024 #define RECORD_MODE 0x4 diff --git a/src/zapit/src/sdt.cpp b/src/zapit/src/sdt.cpp index 24aff2772..e0720d82f 100644 --- a/src/zapit/src/sdt.cpp +++ b/src/zapit/src/sdt.cpp @@ -34,7 +34,7 @@ #include #include #include -#include +#include #define SDT_SIZE 1026 diff --git a/src/zapit/src/zapit.cpp b/src/zapit/src/zapit.cpp index df5363220..c23faf099 100644 --- a/src/zapit/src/zapit.cpp +++ b/src/zapit/src/zapit.cpp @@ -51,18 +51,24 @@ #include #include #include -#include -#include -#include -#include #include #include #include #include +#include +#if HAVE_COOL_HARDWARE +#include +#include +#include #include #include +#endif +#if HAVE_TRIPLEDRAGON +#include +#include +#endif #include "libdvbsub/dvbsub.h" #include "libtuxtxt/teletext.h"