gstrtsp.c.types

C types for gstrtsp1 library

Types 30

Authentication methods, ordered by strength

None = 0no authentication
Basic = 1basic authentication
Digest = 2digest authentication
enumGstRTSPEvent : uint

The possible events for the connection.

Read = 1connection is readable
Write = 2connection is writable

The possible network families.

None = 0unknown network family
Inet = 1internet
Inet6 = 2internet V6

Enumeration of rtsp header fields

Invalid = 0
Accept = 1
AcceptEncoding = 2
AcceptLanguage = 3
Allow = 4
Authorization = 5
Bandwidth = 6
Blocksize = 7
CacheControl = 8
Conference = 9
Connection = 10
ContentBase = 11
ContentEncoding = 12
ContentLanguage = 13
ContentLength = 14
ContentLocation = 15
ContentType = 16
Cseq = 17
Date = 18
Expires = 19
From = 20
IfModifiedSince = 21
LastModified = 22
ProxyAuthenticate = 23
ProxyRequire = 24
Public = 25
Range = 26
Referer = 27
Require = 28
RetryAfter = 29
RtpInfo = 30
Scale = 31
Session = 32
Server = 33
Speed = 34
Transport = 35
Unsupported = 36
UserAgent = 37
Via = 38
WwwAuthenticate = 39
ClientChallenge = 40
RealChallenge1 = 41
RealChallenge2 = 42
RealChallenge3 = 43
Subscribe = 44
Alert = 45
ClientId = 46
CompanyId = 47
Guid = 48
RegionData = 49
MaxAsmWidth = 50
Language = 51
PlayerStartTime = 52
Location = 53
Etag = 54
IfMatch = 55
AcceptCharset = 56
Supported = 57
Vary = 58
XAccelerateStreaming = 59
XAcceptAuthent = 60
XAcceptProxyAuthent = 61
XBroadcastId = 62
XBurstStreaming = 63
XNotice = 64
XPlayerLagTime = 65
XPlaylist = 66
XPlaylistChangeNotice = 67
XPlaylistGenId = 68
XPlaylistSeekId = 69
XProxyClientAgent = 70
XProxyClientVerb = 71
XRecedingPlaylistchange = 72
XRtpInfo = 73
XStartupprofile = 74
Timestamp = 75
AuthenticationInfo = 76
Host = 77
Pragma = 78
XServerIpAddress = 79
XSessioncookie = 80
RtcpInterval = 81
Keymgmt = 82
PipelinedRequests = 83
MediaProperties = 84
SeekStyle = 85
AcceptRanges = 86
Frames = 87
RateControl = 88
Last = 89

The different transport methods.

Unknown = 0invalid transport flag
Udp = 1stream data over UDP
UdpMcast = 2stream data over UDP multicast
Tcp = 4stream data over TCP
Http = 16stream data tunneled over HTTP.
Tls = 32encrypt TCP and HTTP with TLS
enumGstRTSPMethod : uint

The different supported RTSP methods.

Invalid = 0invalid method
Describe = 1the DESCRIBE method
Announce = 2the ANNOUNCE method
GetParameter = 4the GET_PARAMETER method
Options = 8the OPTIONS method
Pause = 16the PAUSE method
Play = 32the PLAY method
Record = 64the RECORD method
Redirect = 128the REDIRECT method
Setup = 256the SETUP method
SetParameter = 512the SET_PARAMETER method
Teardown = 1024the TEARDOWN method
Get = 2048the GET method (HTTP).
Post = 4096the POST method (HTTP).

The type of a message.

Invalid = 0invalid message type
Request = 1RTSP request message
Response = 2RTSP response message
HttpRequest = 3HTTP request message.
HttpResponse = 4HTTP response message.
Data = 5data message
enumGstRTSPProfile : uint

The transfer profile to use.

Unknown = 0invalid profile
Avp = 1the Audio/Visual profile (RFC 3551)
Savp = 2the secure Audio/Visual profile (RFC 3711)
Avpf = 4the Audio/Visual profile with feedback (RFC 4585)
Savpf = 8the secure Audio/Visual profile with feedback (RFC 5124)

Different possible time range units.

Smpte = 0SMPTE timecode
Smpte30Drop = 129.97 frames per second
Smpte25 = 225 frames per second
Npt = 3Normal play time
Clock = 4Absolute time expressed as ISO 8601 timestamps

Result codes from the RTSP functions.

Ok = 0no error
OkRedirect = 1RTSP request is successful, but was redirected.
Error = - 1some unspecified error occurred
Einval = - 2invalid arguments were provided to a function
Eintr = - 3an operation was canceled
Enomem = - 4no memory was available for the operation
Eresolv = - 5a host resolve error occurred
Enotimpl = - 6function not implemented
Esys = - 7a system error occurred, errno contains more details
Eparse = - 8a parsing error occurred
Ewsastart = - 9windows networking could not start
Ewsaversion = - 10windows networking stack has wrong version
Eeof = - 11end-of-file was reached
Enet = - 12a network problem occurred, h_errno contains more details
Enotip = - 13the host is not an IP host
Etimeout = - 14a timeout occurred
Etget = - 15the tunnel GET request has been performed
Etpost = - 16the tunnel POST request has been performed
Elast = - 17last error

The different RTSP states.

Invalid = 0invalid state
Init = 1initializing
Ready = 2ready for operation
Seeking = 3seeking in progress
Playing = 4playing
Recording = 5recording

Enumeration of rtsp status codes

Invalid = 0
Continue = 100
Ok = 200
Created = 201
LowOnStorage = 250
MultipleChoices = 300
MovedPermanently = 301
MoveTemporarily = 302
SeeOther = 303
NotModified = 304
UseProxy = 305
RedirectTemporarily = 307RTSP request is temporarily redirected
RedirectPermanently = 308RTSP request is permanently redirected
BadRequest = 400
Unauthorized = 401
PaymentRequired = 402
Forbidden = 403
NotFound = 404
MethodNotAllowed = 405
NotAcceptable = 406
ProxyAuthRequired = 407
RequestTimeout = 408
Gone = 410
LengthRequired = 411
PreconditionFailed = 412
RequestEntityTooLarge = 413
RequestUriTooLarge = 414
UnsupportedMediaType = 415
ParameterNotUnderstood = 451
ConferenceNotFound = 452
NotEnoughBandwidth = 453
SessionNotFound = 454
MethodNotValidInThisState = 455
HeaderFieldNotValidForResource = 456
InvalidRange = 457
ParameterIsReadonly = 458
AggregateOperationNotAllowed = 459
OnlyAggregateOperationAllowed = 460
UnsupportedTransport = 461
DestinationUnreachable = 462
KeyManagementFailure = 463
InternalServerError = 500
NotImplemented = 501
BadGateway = 502
ServiceUnavailable = 503
GatewayTimeout = 504
RtspVersionNotSupported = 505
OptionNotSupported = 551

Possible time types.

Seconds = 0seconds
Now = 1now
End = 2end
Frames = 3frames and subframes
Utc = 4UTC time
enumGstRTSPTransMode : uint

The transfer mode to use.

Unknown = 0invalid tansport mode
Rtp = 1transfer RTP data
Rdt = 2transfer RDT (RealMedia) data

The supported RTSP versions.

Invalid = 0unknown/invalid version
_10 = 16version 1.0
_11 = 17version 1.1.
_20 = 32version 2.0.

RTSP Authentication credentials

Fields
GstRTSPAuthMethod schemea #GstRTSPAuthMethod
GstRTSPAuthParam * * paramsA NULL-terminated array of #GstRTSPAuthParam
char * authorizationThe authorization for the basic schem

RTSP Authentication parameter

Fields
char * nameThe name of the parameter
char * valueThe value of the parameter

This object manages the RTSP connection to the server. It provides function to receive and send bytes and messages.

This interface is implemented e.g. by the Windows Media Streaming RTSP exentension (rtspwms) and the RealMedia RTSP extension (rtspreal).

An interface representing RTSP extensions.

Fields
gboolean function(GstRTSPExtension * ext, GstRTSPMessage * resp) detectServer
GstRTSPResult function(GstRTSPExtension * ext, GstRTSPMessage * req) beforeSend
GstRTSPResult function(GstRTSPExtension * ext, GstRTSPMessage * req, GstRTSPMessage * resp) afterSend
GstRTSPResult function(GstRTSPExtension * ext, GstSDPMessage * sdp, GstStructure * s) parseSdp
GstRTSPResult function(GstRTSPExtension * ext, GstSDPMedia * media) setupMedia
gboolean function(GstRTSPExtension * ext, GstCaps * caps) configureStream
GstRTSPResult function(GstRTSPExtension * ext, GstRTSPLowerTrans protocols, char * * transport) getTransports
GstRTSPResult function(GstRTSPExtension * ext, GstRTSPUrl * url) streamSelect
GstRTSPResult function(GstRTSPExtension * ext, GstRTSPMessage * req, GstRTSPMessage * resp) send
GstRTSPResult function(GstRTSPExtension * ext, GstRTSPMessage * req) receiveRequest
void *[4] GstReserved

Provides methods for creating and parsing request, response and data messages.

Fields
GstRTSPMsgType typethe message type
TypeDataType typeData
GArray * hdrFields
ubyte * body_
uint bodySize
GstBuffer * bodyBuffer
void *[3] GstReserved

Provides helper functions to deal with time ranges.

Fields
int minminimum value of the range
int maxmaximum value of the range

A time indication.

Fields
GstRTSPTimeType typethe time of the time
double secondsseconds when @type is GSTRTSPTIMESECONDS, GSTRTSPTIMEUTC and GSTRTSPTIME_FRAMES

Extra fields for a time indication.

Fields
double framesframes and subframes when type in GstRTSPTime is GSTRTSPTIME_FRAMES
uint yearyear when type is GSTRTSPTIME_UTC
uint monthmonth when type is GSTRTSPTIME_UTC
uint dayday when type is GSTRTSPTIME_UTC

A time range.

Fields
GstRTSPRangeUnit unitthe time units used
GstRTSPTime minthe minimum interval
GstRTSPTime maxthe maximum interval
GstRTSPTime2 min2extra fields in the minimum interval (Since: 1.2)
GstRTSPTime2 max2extra fields in the maximum interval (Since: 1.2)

Provides helper functions to deal with RTSP transport strings.

Fields
GstRTSPTransMode transthe transport mode
GstRTSPProfile profilethe tansport profile
GstRTSPLowerTrans lowerTransportthe lower transport
char * destinationthe destination ip/hostname
char * sourcethe source ip/hostname
uint layersthe number of layers
gboolean modePlayif play mode was selected
gboolean modeRecordif record mode was selected
gboolean appendis append mode was selected
GstRTSPRange interleavedthe interleave range
uint ttlthe time to live for multicast UDP
GstRTSPRange portthe port pair for multicast sessions
GstRTSPRange clientPortthe client port pair for receiving data. For TCP based transports, applications can use this field to store the sender and receiver ports of the client.
GstRTSPRange serverPortthe server port pair for receiving data. For TCP based transports, applications can use this field to store the sender and receiver ports of the server.
uint ssrcthe ssrc that the sender/receiver will use
void *[4] GstReserved

Provides helper functions to handle RTSP urls.

Fields
GstRTSPLowerTrans transportsthe transports allowed
GstRTSPFamily familythe family
char * userthe user
char * passwdthe password
char * hostthe host
ushort portthe port
char * abspaththe absolute path
char * queryadditional query parameters

Opaque RTSP watch object that can be used for asynchronous RTSP operations.

Callback functions from a #GstRTSPWatch.

Fields
GstRTSPResult function(GstRTSPWatch * watch, GstRTSPMessage * message, void * userData) messageReceivedcallback when a message was received
GstRTSPResult function(GstRTSPWatch * watch, uint id, void * userData) messageSentcallback when a message was sent
GstRTSPResult function(GstRTSPWatch * watch, void * userData) closedcallback when the connection is closed
GstRTSPResult function(GstRTSPWatch * watch, GstRTSPResult result, void * userData) errorcallback when an error occurred
GstRTSPStatusCode function(GstRTSPWatch * watch, void * userData) tunnelStarta client started a tunneled connection. The tunnelid of the connection must be saved.
GstRTSPResult function(GstRTSPWatch * watch, void * userData) tunnelCompletea client finished a tunneled connection. In this callback you usually pair the tunnelid of this connection with the saved one using [gstrtsp.rtspconnection.RTSPConnection.doTunnel].
GstRTSPResult function(GstRTSPWatch * watch, GstRTSPResult result, GstRTSPMessage * message, uint id, void * userData) errorFullcallback when an error occurred with more information than the @error callback.
GstRTSPResult function(GstRTSPWatch * watch, void * userData) tunnelLostcallback when the post connection of a tunnel is closed.
GstRTSPResult function(GstRTSPWatch * watch, GstRTSPMessage * request, GstRTSPMessage * response, void * userData) tunnelHttpResponsecallback when an HTTP response to the GET request is about to be sent for a tunneled connection. The response can be modified in the callback. Since: 1.4.
void *[3] GstReserved
aliasGstRTSPConnectionAcceptCertificateFunc = gboolean function(GTlsConnection * conn, GTlsCertificate * peerCert, GTlsCertificateFlags errors, void * userData)