]> git.sesse.net Git - vlc/blobdiff - extras/MacOSX/eyetvplugin/EyeTVPluginDefs.h
Source Tree Layout Cleanup: (As decided at videolan-meeting #2)
[vlc] / extras / MacOSX / eyetvplugin / EyeTVPluginDefs.h
diff --git a/extras/MacOSX/eyetvplugin/EyeTVPluginDefs.h b/extras/MacOSX/eyetvplugin/EyeTVPluginDefs.h
deleted file mode 100644 (file)
index 0343e8b..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-/* This is public domain code developed by Elgato Systems GmbH. No GPL-covered \r
- * changes were added to this file by any members of the VideoLAN team. If you\r
- * want to do so, add a modified GPL header here, but keep a message emphasising\r
- * the non-licensed parts of this header file. \r
- * Ideally, VideoLAN-related changes should only go to eyetvplugin.h.\r
- * \r
- * $Id$\r
- */\r
-\r
-\r
-#pragma once\r
-\r
-/*\r
-\r
-       The EyeTV Plugin API\r
-       ====================\r
-       \r
-       The EyeTV Software gives third parties access to the incoming MPEG-2 transport stream. \r
-       At this time the API is available for the following products:\r
-               \r
-               - EyeTV 200 (analog)\r
-               - EyeTV 300 (DVB-S) \r
-               - EyeTV 400 (DVB-T)\r
-               \r
-       A plugin receives device plugged/unplugged notifications, it can request or release \r
-       individual PIDs and most importantly it has access to transport stream packets in \r
-       real time, as they arrive from the device.  Note that the plugin is called before EyeTV \r
-       itself looks at the packets, so it is even possible to modify the data.\r
-       \r
-       Plugins currently live in EyeTV.app/Contens/Plugins/\r
-       \r
-       A plugin is packaged as a bundle with a single entry point:\r
-       \r
-               long EyeTVPluginDispatcher(EyeTVPluginSelector                  selector,  \r
-                                                                               void                                    *refCon, \r
-                                                                               EyeTVPluginDeviceID             deviceID, \r
-                                                                               long                                    param1, \r
-                                                                               long                                    param2,  \r
-                                                                               long                                    param3, \r
-                                                                               long                                    param4);\r
-\r
-       \r
-       PID Filtering\r
-       =============\r
-       \r
-       EyeTV employs both hardware and software PID filtering.  A plugin's dispatch routine \r
-       is called with the kEyeTVPluginSelector_PacketsArrived selector after the hardware \r
-       PID filter (naturally) but prior to the software PID filter, so the plugin has access \r
-       to all packets that are delivered by the hardware.  \r
-       \r
-       A plugin can request PIDs that are not needed by EyeTV from the hardware PID filter by \r
-       means of a callback routine, see eyeTVPluginSelector_SetCallback.\r
-\r
-       Note that hardware PID filtering is on for single processor machines (to reduce the CPU \r
-       load), but off for multi-processor machines (to improve channel switch times).  \r
-       This behaviour is controlled by the "hardware PID filter" key in com.elgato.eyetv.plist, \r
-       which defaults to "Auto" ("Off" on MP machines, "On" on single-processor machines).  EyeTV\r
-       does not offer GUI to change this setting.  A plugin hence needs to be prepared to handle \r
-       both an entire transponder or multiplex and to request PIDs it might need.\r
-       \r
-       Note that the plugin is called on the real-time thread that receives the transport stream\r
-       packets and that the packet buffers passed to the plugin are the actual hardware DMA buffers.\r
-       Please return as quickly as possible from the kEyeTVPluginSelector_PacketsArrived call and\r
-       avoid blocking the calling thread.\r
-\r
-\r
-\r
-\r
-\r
-       Revision History:\r
-\r
-       02/27/2004:             Initial Release.\r
-\r
-*/\r
-       \r
-\r
-\r
-#define EYETV_PLUGIN_API_VERSION                               0x04021901\r
-#define EYETV_PLUGIN_API_MIN_VERSION                   0x04021901\r
-\r
-typedef long long      EyeTVPluginDeviceID;\r
-typedef long           EyeTVPluginDeviceType;\r
-typedef long           EyeTVPluginSelector;\r
-\r
-enum {\r
-       kEyeTVPIDType_Video             = 0,\r
-       kEyeTVPIDType_MPEGAudio         = 1,\r
-       kEyeTVPIDType_VBI                       = 2, /* teletext */\r
-       kEyeTVPIDType_PCR                       = 3,\r
-       kEyeTVPIDType_PMT                       = 4,\r
-       kEyeTVPIDType_Unknown           = 5,\r
-       kEyeTVPIDType_AC3Audio          = 6\r
-};\r
-\r
-\r
-typedef struct EyeTVPluginPIDInfo EyeTVPluginPIDInfo;\r
-struct EyeTVPluginPIDInfo {\r
-       long                                    pid;\r
-       long                                    pidType;        \r
-};\r
-\r
-\r
-\r
-/***********************************************************************************\r
-*\r
-*      EyeTVPluginCallbackParams,\r
-*\r
-***********************************************************************************/\r
-enum {\r
-       kEyeTVPluginCallbackSelector_RetainPIDs = 0,    \r
-       kEyeTVPluginCallbackSelector_ReleasePIDs = 1            \r
-};\r
-\r
-typedef struct EyeTVPluginCallbackParams EyeTVPluginCallbackParams;  \r
-struct EyeTVPluginCallbackParams {\r
-       EyeTVPluginDeviceID             deviceID;       //      the deviceID\r
-       long                                    selector;       //      callback selector, see above\r
-       long                                    *pids;          //      list of pids to release/retain\r
-       long                                    pidsCount;      //      count of pids\r
-};\r
-\r
-\r
-/***********************************************************************************\r
-*\r
-*      typedef for the callback function,\r
-*\r
-***********************************************************************************/\r
-typedef long(* EyeTVPluginCallbackProc)(EyeTVPluginCallbackParams *params);\r
-\r
-\r
-\r
-/***********************************************************************************\r
-*\r
-*      EyeTVPluginParamStructs\r
-*\r
-***********************************************************************************/\r
-\r
-\r
-typedef struct EyeTVPluginInitializeParams     EyeTVPluginInitializeParams;\r
-struct EyeTVPluginInitializeParams {\r
-       long                                                    apiVersion;             // version of the EyeTV_PLUGIN_API\r
-       EyeTVPluginCallbackProc                 callback;               // the callback\r
-}; /* 8 bytes */\r
-\r
-\r
-\r
-typedef struct EyeTVPluginGetInfoParams        EyeTVPluginGetInfoParams;\r
-struct EyeTVPluginGetInfoParams {\r
-       long                                                    *pluginAPIVersion;              // <- EYETV_PLUGIN_API_VERSION\r
-       char                                                    *pluginName;            // <- points to a 128-byte buffer, the plugin is expected to fill the buffer with\r
-                                                                                                               //        a UTF-8 encoded string.       \r
-       char                                                    *description;           // <- points to a 1024-byte buffer, the plugin is expected to fill the buffer with\r
-                                                                                                               //        a UTF-8 encoded string describing the plugin.\r
-}; /* 12 bytes */\r
-\r
-\r
-\r
-enum {\r
-       kEyeTVPluginDeviceType_Unknown = 0,     \r
-       kEyeTVPluginDeviceType_e200 = 1,\r
-       kEyeTVPluginDeviceType_e300 = 2,\r
-       kEyeTVPluginDeviceType_e400 = 3\r
-} ;\r
-\r
-typedef struct EyeTVPluginDeviceAddedParams EyeTVPluginDeviceAddedParams;\r
-struct EyeTVPluginDeviceAddedParams {\r
-       EyeTVPluginDeviceType                   deviceType;             \r
-}; /* 4 bytes */\r
-\r
-\r
-typedef struct EyeTVPluginPacketsArrivedParams EyeTVPluginPacketsArrivedParams;\r
-struct EyeTVPluginPacketsArrivedParams {\r
-       long                                                    **packets;              // points to an array of packets\r
-       long                                                    packetCount;    \r
-}; /* 8 bytes */\r
-\r
-\r
-\r
-typedef struct EyeTVPluginServiceChangedParams EyeTVPluginServiceChangedParams;\r
-struct EyeTVPluginServiceChangedParams {\r
-       long                                                    headendID;              // new headend ID. For E300 it's the orbital position of the satellite\r
-                                                                                                       // in tenth of a degree\r
-       long                                                    transponderID;  // new transponder ID (The Frequency in kHz)\r
-       long                                                    serviceID;              // new service ID (the ID of the used service as included in the DVB Stream)\r
-       EyeTVPluginPIDInfo                              *pidList;               // points to the list of active PIDs;\r
-       long                                                    pidCount;               // the length of pidList\r
-}; /* 20 bytes */\r
-\r
-\r
-\r
-\r
-/***********************************************************************************\r
-*\r
-*      EyeTVPluginParams\r
-*              \r
-***********************************************************************************/\r
-typedef struct EyeTVPluginParams EyeTVPluginParams;\r
-struct EyeTVPluginParams {\r
-       EyeTVPluginDeviceID             deviceID;       // ID of the device\r
-       EyeTVPluginSelector             selector;       // selector\r
-       void                                    *refCon;        // refCon\r
-\r
-       union {                                                                                         \r
-               EyeTVPluginInitializeParams                     initialize;                     // kEyeTVPluginSelector_Initialize\r
-                                                                                                                               // kEyeTVPluginSelector_Terminate, no additional parameters\r
-               EyeTVPluginGetInfoParams                        info;                           // kEyeTVPluginSelector_GetInfo\r
-               EyeTVPluginDeviceAddedParams            deviceAdded;            // kEyeTVPluginSelector_DeviceAdded\r
-                                                                                                                               // kEyeTVPluginSelector_DeviceRemoved, no additional parameters\r
-               EyeTVPluginPacketsArrivedParams         packetsArrived;         // kEyeTVPluginSelector_PacketsArrived\r
-               EyeTVPluginServiceChangedParams         serviceChanged;         // kEyeTVPluginSelector_ServiceChanged\r
-       \r
-       };\r
-};\r
-\r
-\r
-enum {         // EyeTVPluginSelector\r
-       kEyeTVPluginSelector_Initialize = 0,            \r
-       kEyeTVPluginSelector_Terminate = 1,                     \r
-       kEyeTVPluginSelector_GetInfo = 2,                       \r
-       kEyeTVPluginSelector_DeviceAdded = 3,           \r
-       kEyeTVPluginSelector_DeviceRemoved = 4,         \r
-       kEyeTVPluginSelector_PacketsArrived = 5,        \r
-       kEyeTVPluginSelector_ServiceChanged = 6 \r
-};                                             \r
-\r
-\r
-\r
-/***********************************************************************************\r
-*\r
-*      EyeTVPluginEntryProc\r
-*\r
-***********************************************************************************/\r
-typedef long(* EyeTVPluginEntryProc)(EyeTVPluginParams *params);\r