• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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