summaryrefslogtreecommitdiffstats
path: root/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_inputstream.h
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_inputstream.h')
-rw-r--r--xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_inputstream.h36
1 files changed, 7 insertions, 29 deletions
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_inputstream.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_inputstream.h
index c55a42b..d37d24e 100644
--- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_inputstream.h
+++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_inputstream.h
@@ -25,7 +25,9 @@
25#include <string.h> 25#include <string.h>
26#include <stdlib.h> 26#include <stdlib.h>
27#include <stdio.h> 27#include <stdio.h>
28#include "libXBMC_addon.h" 28
29#include "kodi_inputstream_types.h"
30#include "versions.h"
29 31
30#ifdef BUILD_KODI_ADDON 32#ifdef BUILD_KODI_ADDON
31#include "DVDDemuxPacket.h" 33#include "DVDDemuxPacket.h"
@@ -33,26 +35,6 @@
33#include "cores/VideoPlayer/DVDDemuxers/DVDDemuxPacket.h" 35#include "cores/VideoPlayer/DVDDemuxers/DVDDemuxPacket.h"
34#endif 36#endif
35 37
36/* current input stream API version */
37#define KODI_INPUTSTREAM_API_VERSION "1.0.0"
38
39namespace KodiAPI
40{
41namespace V1
42{
43namespace InputStream
44{
45
46typedef struct CB_INPUTSTREAMLib
47{
48 void (*FreeDemuxPacket)(void *addonData, DemuxPacket* pPacket);
49 DemuxPacket* (*AllocateDemuxPacket)(void *addonData, int iDataSize);
50} CB_INPUTSTREAMLib;
51
52} /* namespace InputStream */
53} /* namespace V1 */
54} /* namespace KodiAPI */
55
56class CHelper_libKODI_inputstream 38class CHelper_libKODI_inputstream
57{ 39{
58public: 40public:
@@ -64,10 +46,6 @@ public:
64 46
65 ~CHelper_libKODI_inputstream(void) 47 ~CHelper_libKODI_inputstream(void)
66 { 48 {
67 if (m_Handle && m_Callbacks)
68 {
69 m_Handle->INPUTSTREAMLib_UnRegisterMe(m_Handle->addonData, m_Callbacks);
70 }
71 } 49 }
72 50
73 /*! 51 /*!
@@ -79,7 +57,7 @@ public:
79 { 57 {
80 m_Handle = static_cast<AddonCB*>(handle); 58 m_Handle = static_cast<AddonCB*>(handle);
81 if (m_Handle) 59 if (m_Handle)
82 m_Callbacks = (KodiAPI::V1::InputStream::CB_INPUTSTREAMLib*)m_Handle->INPUTSTREAMLib_RegisterMe(m_Handle->addonData); 60 m_Callbacks = (AddonInstance_InputStream*)m_Handle->INPUTSTREAMLib_RegisterMe(m_Handle->addonData);
83 if (!m_Callbacks) 61 if (!m_Callbacks)
84 fprintf(stderr, "libKODI_inputstream-ERROR: InputStream_RegisterMe can't get callback table from Kodi !!!\n"); 62 fprintf(stderr, "libKODI_inputstream-ERROR: InputStream_RegisterMe can't get callback table from Kodi !!!\n");
85 63
@@ -93,7 +71,7 @@ public:
93 */ 71 */
94 DemuxPacket* AllocateDemuxPacket(int iDataSize) 72 DemuxPacket* AllocateDemuxPacket(int iDataSize)
95 { 73 {
96 return m_Callbacks->AllocateDemuxPacket(m_Handle->addonData, iDataSize); 74 return m_Callbacks->toKodi.AllocateDemuxPacket(m_Callbacks->toKodi.kodiInstance, iDataSize);
97 } 75 }
98 76
99 /*! 77 /*!
@@ -102,10 +80,10 @@ public:
102 */ 80 */
103 void FreeDemuxPacket(DemuxPacket* pPacket) 81 void FreeDemuxPacket(DemuxPacket* pPacket)
104 { 82 {
105 return m_Callbacks->FreeDemuxPacket(m_Handle->addonData, pPacket); 83 return m_Callbacks->toKodi.FreeDemuxPacket(m_Callbacks->toKodi.kodiInstance, pPacket);
106 } 84 }
107 85
108private: 86private:
109 AddonCB* m_Handle; 87 AddonCB* m_Handle;
110 KodiAPI::V1::InputStream::CB_INPUTSTREAMLib* m_Callbacks; 88 AddonInstance_InputStream* m_Callbacks;
111}; 89};