diff --git a/lib/libcoolstream/cs_api.h b/lib/libcoolstream/cs_api.h new file mode 100644 index 000000000..0dccae4c5 --- /dev/null +++ b/lib/libcoolstream/cs_api.h @@ -0,0 +1,33 @@ +#ifndef __CS_API_H_ +#define __CS_API_H_ + +typedef void (*cs_messenger) (unsigned int msg, unsigned int data); + +// Initialization +void cs_api_init(void); +void cs_api_exit(void); + +// Memory helpers +void *cs_malloc_uncached(size_t size); +void cs_free_uncached(void *ptr); +void *cs_phys_addr(void *ptr); + +// Callback function helpers +void cs_register_messenger(cs_messenger messenger); +void cs_deregister_messenger(void); +cs_messenger cs_get_messenger(void); + +// Logging functions +void cs_log_enable(void); +void cs_log_disable(void); +void cs_log_message(const char *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); +unsigned int cs_get_revision(void); + +#endif //__CS_API_H_ diff --git a/lib/libcoolstream/dmx_cs.h b/lib/libcoolstream/dmx_cs.h index 244971fba..b2dc10783 100644 --- a/lib/libcoolstream/dmx_cs.h +++ b/lib/libcoolstream/dmx_cs.h @@ -52,7 +52,6 @@ class cDemux DMX_CHANNEL_TYPE type; CS_DMX_PDATA * privateData; public: - bool Open(DMX_CHANNEL_TYPE pes_type, void * hVideoBuffer = NULL, int uBufferSize = 8192); void Close(void); bool Start(void); diff --git a/lib/libcoolstream/init_cs.h b/lib/libcoolstream/init_cs.h deleted file mode 100644 index 266ab080f..000000000 --- a/lib/libcoolstream/init_cs.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef __INIT_CS_H -#define __INIT_CS_H -void init_cs_api(); -void shutdown_cs_api(); -void * cs_malloc_uncached(size_t size); -void cs_free_uncached(void *ptr); -void * cs_phys_addr(void *ptr); -#endif diff --git a/lib/libcoolstream/video_cs.h b/lib/libcoolstream/video_cs.h index df77e1b99..8f914c807 100644 --- a/lib/libcoolstream/video_cs.h +++ b/lib/libcoolstream/video_cs.h @@ -15,7 +15,7 @@ typedef enum { ANALOG_SD_YPRPB_SCART, ANALOG_HD_RGB_SCART, ANALOG_HD_YPRPB_SCART, - ANALOG_SCART_MASK = 0x10 + ANALOG_SCART_MASK = 0x10, } analog_mode_t; typedef enum { @@ -53,7 +53,7 @@ typedef enum { DISPLAY_AR_14_9, DISPLAY_AR_16_9, DISPLAY_AR_20_9, - DISPLAY_AR_RAW + DISPLAY_AR_RAW, } DISPLAY_AR; typedef enum { @@ -100,16 +100,16 @@ typedef enum { class cVideo { private: - CS_VIDEO_PDATA * privateData; - VIDEO_FORMAT StreamType; - VIDEO_DEFINITION VideoDefinition; - DISPLAY_AR DisplayAR; - VIDEO_PLAY_MODE SyncMode; - DISPLAY_AR_MODE ARMode; - VIDEO_DB_DR eDbDr; - DISPLAY_AR PictureAR; - VIDEO_FRAME_RATE FrameRate; - bool interlaced; + CS_VIDEO_PDATA *privateData; + VIDEO_FORMAT StreamType; + VIDEO_DEFINITION VideoDefinition; + DISPLAY_AR DisplayAR; + VIDEO_PLAY_MODE SyncMode; + DISPLAY_AR_MODE ARMode; + VIDEO_DB_DR eDbDr; + DISPLAY_AR PictureAR; + VIDEO_FRAME_RATE FrameRate; + bool Interlaced; unsigned int uDRMDisplayDelay; unsigned int uVideoPTSDelay; @@ -120,9 +120,6 @@ class cVideo bool playing; bool auto_format; int uFormatIndex; - int pic_width, pic_height; - int jpeg_width, jpeg_height; - int video_width, video_height; bool receivedDRMDelay; bool receivedVideoDelay; @@ -166,11 +163,14 @@ class cVideo int getPlayState(void); void SetDRMDelay(unsigned int delay) { uDRMDisplayDelay = delay;}; void SetVideoDelay(unsigned int delay) { uVideoPTSDelay = delay;}; + /* Notification handlers */ void HandleDRMMessage(int Event, void *pData); void HandleVideoMessage(void * hHandle, int Event, void *pData); + void HandleEncoderMessage(void *hHandle, int Event, void *pData); VIDEO_DEFINITION GetVideoDef(void) { return VideoDefinition; } /* change video play state */ + int Prepare(void * PcrChannel, unsigned short PcrPid, unsigned short VideoPid, void * hChannel = NULL); int Start(void * PcrChannel, unsigned short PcrPid, unsigned short VideoPid, void * hChannel = NULL); int Stop(bool blank = true); bool Pause(void); @@ -179,7 +179,7 @@ class cVideo int64_t GetPTS(void); int Flush(void); - + /* set video_system */ int SetVideoSystem(int video_system, bool remember = true); int SetStreamType(VIDEO_FORMAT type);