1 /* ------------------------------------------------------------------ 2 * Copyright (C) 1998-2009 PacketVideo 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 * express or implied. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * ------------------------------------------------------------------- 17 */ 18 #ifndef PVMF_SM_NODE_EVENTS_H_INCLUDED 19 #define PVMF_SM_NODE_EVENTS_H_INCLUDED 20 21 #define PVMFStreamingManagerNodeEventTypeUUID PVUuid(0xf91ab192,0xdcac,0x4717,0x82,0x3b,0x4d,0x62,0x6e,0x71,0x0b,0x15) 22 /** 23 * An enumeration of error codes from PVMFStreamingManagerNode 24 **/ 25 typedef enum 26 { 27 PVMFStreamingManagerNodeErrorEventStart = 1024, 28 PVMFStreamingManagerNodeErrorInvalidRequestPortTag, 29 PVMFStreamingManagerNodeErrorInvalidPort, 30 PVMFStreamingManagerNodeErrorParseSDPFailed, 31 PVMFStreamingManagerNodeGraphConnectFailed, 32 PVMFStreamingManagerNodeGraphDisconnectFailed, 33 PVMFStreamingManagerNodeGetPortConfigFromHTTPNodeFailed, 34 PVMFStreamingManagerNodeErrorEventEnd 35 } PVMFStreamingManagerNodeErrorEventType; 36 37 /** 38 * An enumeration of info codes from PVMFStreamingManagerNode 39 **/ 40 typedef enum 41 { 42 PVMFStreamingManagerNodeInfoEventStart = 8192, 43 PVMFStreamingManagerNodeInfoLaunchURL, 44 PVMFStreamingManagerNodeInfoEventEnd 45 } PVMFStreamingManagerNodeInfoEventType; 46 47 #define PVMFJitterBufferNodeEventTypeUUID PVUuid(0xf2efcd33,0x6a77,0x4860,0x8b,0x9f,0xb6,0x24,0xbd,0x90,0x5f,0x2e) 48 /** 49 * An enumeration of error codes from PVMFJitterBufferNode 50 **/ 51 typedef enum 52 { 53 PVMFJitterBufferNodeErrorEventStart = 1024, 54 PVMFJitterBufferNodeRemoteInactivityTimerExpired, 55 PVMFJitterBufferNodeRTCPRRGenerationFailed, 56 PVMFJitterBufferNodeUnableToRegisterIncomingPacket, 57 PVMFJitterBufferNodeInputDataPacketHeaderParserError, 58 PVMFJitterBufferNodeRTCPSRProcFailed, 59 PVMFJitterBufferNodeFirewallPacketGenerationFailed, 60 PVMFJitterBufferNodeCorruptRTPPacket, 61 PVMFJitterBufferNodeFirewallPacketExchangeFailed, 62 PVMFJitterBufferNodeErrorEventEnd 63 } PVMFJitterBufferNodeErrorEventType; 64 65 #define PVMFMediaLayerNodeEventTypeUUID PVUuid(0xaf589e87,0xa76b,0x406d,0xac,0xf7,0x9d,0x79,0xda,0x4e,0x78,0xde) 66 /** 67 * An enumeration of error codes from PVMFMediaLayerNode 68 **/ 69 typedef enum 70 { 71 PVMFMediaLayerNodeErrorEventStart = 1024, 72 PVMFMediaLayerNodePayloadParserError, 73 PVMFMediaLayerNodeErrorEventEnd 74 } PVMFMediaLayerNodeErrorEventType; 75 76 /** 77 * An enumeration of info codes from PVMFMediaLayerNode 78 **/ 79 typedef enum 80 { 81 PVMFMediaLayerNodeInfoEventStart = 8192, 82 PVMFMediaLayerNodeExcercisingPortFlowControl, 83 PVMFMediaLayerNodeWaitingForBuffersToParserPayload, 84 PVMFMediaLayerNodeInfoEventEnd 85 } PVMFMediaLayerNodeInfoEventType; 86 87 #define PVMFRTSPClientEngineNodeEventTypeUUID PVUuid(0x56b93e98,0x08fb,0x48de,0x8d,0x76,0xf8,0xde,0xc7,0xf8,0xb1,0xb1) 88 89 /** 90 * An enumeration of error codes from PVMFRTSPClientEngineNode 91 **/ 92 typedef enum 93 { 94 PVMFRTSPClientEngineNodeErrorEventStart = 1024, 95 PVMFRTSPClientEngineNodeErrorSocketServerError, 96 PVMFRTSPClientEngineNodeErrorDNSLookUpError, 97 PVMFRTSPClientEngineNodeErrorRTSPSocketCreateError, 98 PVMFRTSPClientEngineNodeErrorRTSPSocketConnectError, 99 PVMFRTSPClientEngineNodeErrorSocketSendError, 100 PVMFRTSPClientEngineNodeErrorSocketRecvError, 101 PVMFRTSPClientEngineNodeErrorSocketError, 102 PVMFRTSPClientEngineNodeErrorOutOfMemory, 103 PVMFRTSPClientEngineNodeErrorRTSPRequestTooBig, 104 PVMFRTSPClientEngineNodeErrorRTSPParserError, 105 PVMFRTSPClientEngineNodeErrorUnknownRTSPMessage, 106 PVMFRTSPClientEngineNodeErrorIncorrectRTSPMessageType, 107 PVMFRTSPClientEngineNodeErrorMalformedRTSPMessage, 108 PVMFRTSPClientEngineNodeErrorMissingSeqNumInServerResponse, 109 PVMFRTSPClientEngineNodeErrorMissingSessionIdInServerResponse, 110 PVMFRTSPClientEngineNodeErrorRTSPRequestResponseMismatch, 111 PVMFRTSPClientEngineNodeErrorRTSPComposeOptionsRequestError, 112 PVMFRTSPClientEngineNodeErrorRTSPComposeDescribeRequestError, 113 PVMFRTSPClientEngineNodeErrorRTSPComposeSetupRequestError, 114 PVMFRTSPClientEngineNodeErrorRTSPComposePlayRequestError, 115 PVMFRTSPClientEngineNodeErrorRTSPComposePauseRequestError, 116 PVMFRTSPClientEngineNodeErrorRTSPComposeStopRequestError, 117 PVMFRTSPClientEngineNodeErrorRTSPCompose501ResponseError, 118 //"400" ; Bad Request 119 PVMFRTSPClientEngineNodeErrorRTSPErrorCode400, 120 //"401" ; Unauthorized 121 PVMFRTSPClientEngineNodeErrorRTSPErrorCode401, 122 //"402" ; Payment Required 123 PVMFRTSPClientEngineNodeErrorRTSPErrorCode402, 124 //"403" ; Forbidden 125 PVMFRTSPClientEngineNodeErrorRTSPErrorCode403, 126 //"404" ; Not Found 127 PVMFRTSPClientEngineNodeErrorRTSPErrorCode404, 128 //"405" ; Method Not Allowed 129 PVMFRTSPClientEngineNodeErrorRTSPErrorCode405, 130 //"406" ; Not Acceptable 131 PVMFRTSPClientEngineNodeErrorRTSPErrorCode406, 132 //"407" ; Proxy Authentication Required 133 PVMFRTSPClientEngineNodeErrorRTSPErrorCode407, 134 //"408" ; Request Time-out 135 PVMFRTSPClientEngineNodeErrorRTSPErrorCode408, 136 //"410" ; Gone 137 PVMFRTSPClientEngineNodeErrorRTSPErrorCode410, 138 //"411" ; Length Required 139 PVMFRTSPClientEngineNodeErrorRTSPErrorCode411, 140 //"412" ; Precondition Failed 141 PVMFRTSPClientEngineNodeErrorRTSPErrorCode412, 142 //"413" ; Request Entity Too Large 143 PVMFRTSPClientEngineNodeErrorRTSPErrorCode413, 144 //"414" ; Request-URI Too Large 145 PVMFRTSPClientEngineNodeErrorRTSPErrorCode414, 146 //"415" ; Unsupported Media Type 147 PVMFRTSPClientEngineNodeErrorRTSPErrorCode415, 148 //"451" ; Parameter Not Understood 149 PVMFRTSPClientEngineNodeErrorRTSPErrorCode451, 150 //"452" ; Conference Not Found 151 PVMFRTSPClientEngineNodeErrorRTSPErrorCode452, 152 //"453" ; Not Enough Bandwidth 153 PVMFRTSPClientEngineNodeErrorRTSPErrorCode453, 154 //"454" ; Session Not Found 155 PVMFRTSPClientEngineNodeErrorRTSPErrorCode454, 156 //"455" ; Method Not Valid in This State 157 PVMFRTSPClientEngineNodeErrorRTSPErrorCode455, 158 //"456" ; Header Field Not Valid for Resource 159 PVMFRTSPClientEngineNodeErrorRTSPErrorCode456, 160 //"457" ; Invalid Range 161 PVMFRTSPClientEngineNodeErrorRTSPErrorCode457, 162 //"458" ; Parameter Is Read-Only 163 PVMFRTSPClientEngineNodeErrorRTSPErrorCode458, 164 //"459" ; Aggregate operation not allowed 165 PVMFRTSPClientEngineNodeErrorRTSPErrorCode459, 166 //"460" ; Only aggregate operation allowed 167 PVMFRTSPClientEngineNodeErrorRTSPErrorCode460, 168 //"461" ; Unsupported transport 169 PVMFRTSPClientEngineNodeErrorRTSPErrorCode461, 170 //"462" ; Destination unreachable 171 PVMFRTSPClientEngineNodeErrorRTSPErrorCode462, 172 //"500" ; Internal Server Error 173 PVMFRTSPClientEngineNodeErrorRTSPErrorCode500, 174 //"501" ; Not Implemented 175 PVMFRTSPClientEngineNodeErrorRTSPErrorCode501, 176 //"502" ; Bad Gateway 177 PVMFRTSPClientEngineNodeErrorRTSPErrorCode502, 178 //"503" ; Service Unavailable 179 PVMFRTSPClientEngineNodeErrorRTSPErrorCode503, 180 //"504" ; Gateway Time-out 181 PVMFRTSPClientEngineNodeErrorRTSPErrorCode504, 182 //"505" ; RTSP Version not supported 183 PVMFRTSPClientEngineNodeErrorRTSPErrorCode505, 184 //"551" ; Option not supported 185 PVMFRTSPClientEngineNodeErrorRTSPErrorCode551, 186 // Unknown 187 PVMFRTSPClientEngineNodeErrorRTSPCodeUnknown, 188 PVMFRTSPClientEngineNodeErrorEventEnd 189 } PVMFRTSPClientEngineNodeErrorEventType; 190 191 /** 192 * An enumeration of info codes from PVMFRTSPClientEngineNode 193 **/ 194 typedef enum 195 { 196 PVMFRTSPClientEngineNodeInfoEventStart = 8192, 197 PVMFRTSPClientEngineNodeInfoRedirect, 198 //"300" ; Multiple Choices 199 PVMRTSPClientEngineInfoRTSPRedirectCode300, 200 //"301" ; Moved Permanently 201 PVMRTSPClientEngineInfoRTSPRedirectCode301, 202 //"302" ; Moved Temporarily 203 PVMRTSPClientEngineInfoRTSPRedirectCode302, 204 //"303" ; See Other 205 PVMRTSPClientEngineInfoRTSPRedirectCode303, 206 //"304" ; Not Modified 207 PVMRTSPClientEngineInfoRTSPRedirectCode304, 208 //"305" ; Use Proxy 209 PVMRTSPClientEngineInfoRTSPRedirectCode305, 210 PVMFRTSPClientEngineNodeInfoEOS, 211 PVMFRTSPClientEngineNodeInfoEventEnd 212 } PVMFRTSPClientEngineNodeInfoEventType; 213 214 typedef struct 215 { 216 uint32 iPlaylistUrlLen; 217 char *iPlaylistUrlPtr; 218 uint32 iPlaylistIndex; 219 uint32 iPlaylistOffsetSec; 220 uint32 iPlaylistOffsetMillsec; 221 222 uint32 iPlaylistNPTSec; 223 uint32 iPlaylistNPTMillsec; 224 225 //max 256 226 uint32 iPlaylistMediaNameLen; 227 //char *iPlaylistMediaNamePtr; 228 char iPlaylistMediaNamePtr[256]; 229 230 //max 512 231 uint32 iPlaylistUserDataLen; 232 //char *iPlaylistUserDataPtr; 233 char iPlaylistUserDataPtr[512]; 234 } PVMFRTSPClientEngineNodePlaylistInfoType; 235 #endif 236 237 238