QTSS Constants

QTSS_AttrDataType

Each QTSS attribute has an associated data type. The QTSS_AttrDataType enumeration defines values for attribute data types. Having an attribute’s data type helps the server and modules handle an attribute value without having specific knowledge about the attribute.

typedef UInt32 QTSS_AttrDataType;
enum
{
   qtssAttrDataTypeUnknown     = 0,
   qtssAttrDataTypeCharArray   = 1,
   qtssAttrDataTypeBool16      = 2,
   qtssAttrDataTypeSInt16      = 3,
   qtssAttrDataTypeUInt16      = 4,
   qtssAttrDataTypeSInt32      = 5,
   qtssAttrDataTypeUInt32      = 6,
   qtssAttrDataTypeSInt64      = 7,
   qtssAttrDataTypeUInt64      = 8,
   qtssAttrDataTypeQTSS_Object = 9,
   qtssAttrDataTypeQTSS_StreamRef= 10,
   qtssAttrDataTypeFloat32     = 11,
   qtssAttrDataTypeFloat64     = 12,
   qtssAttrDataTypeVoidPointer = 13,
   qtssAttrDataTypeTimeVal     = 14,
   qtssAttrDataTypeNumTypes    = 15
};
Constants
qtssAttrDataTypeUnknown
qtssAttrDataTypeCharArray
qtssAttrDataTypeBool16
qtssAttrDataTypeSInt16
qtssAttrDataTypeUInt16
qtssAttrDataTypeSInt32
qtssAttrDataTypeUInt32
qtssAttrDataTypeSInt64
qtssAttrDataTypeQTSS_Object
qtssAttrDataTypeQTSS_StreamRef
qtssAttrDataTypeFloat32
qtssAttrDataTypeFloat64
qtssAttrDataTypeVoidPointer
qtssAttrDataTypeTimeVal
qtssAttrDataTypeNumTypes

QTSS_AttrPermission

The QTSS_AttrPermission data type is an enumeration that defines values used to indicate whether an attribute is readable, writable, or preemptive safe. The data type of the qtssAttrPermissions attribute of the QTSS_AttrInfoObject object type is of type QTSS_AttrPermission.

typedef UInt32 QTSS_AttrPermission;
enum
{
   qtssAttrModeRead    = 1,
   qtssAttrModeWrite   = 2,
   qtssAttrModePreempSafe= 4
};
Constants
qtssAttrModeRead
qtssAttrModeWrite
qtssAttrModePrempSafe
Discussion

Once set, attribute permissions cannot be changed.

QTSS_AddStreamFlags

The QTSS_AddStreamFlags enumeration defines flags that specify stream options when adding RTP streams.

enum
{
   qtssASFlagsAllowDestination     = 0x00000001,
   qtssASFlagsForceInterleave      = 0x00000002
};
typedef UInt32 QTSS_AddStreamFlags;
Constants
qtssASFlagsAllowDestination
qtssASFlagsForceInterleave

QTSS_CliSesTeardownReason

The QTSS_CliSesTeardownReason enumeration defines values that describe why a session is closing. The QTSS_RTPSessionState enumeration is defined as

enum
{
   qtssCliSesTearDownClientRequest = 0,
   qtssCliSesTearDownUnsupportedMedia = 1,
   qtssCliSesTearDownServerShutdown = 2,
   qtssCliSesTearDownServerInternalErr = 3
};
typedef UInt32 QTSS_CliSesTeardownReason;
Constants
qtssCliSesTearDownClientRequest
qtssCliSesTearDownUnsupportedMedia
qtssCliSesTearDownServerShutdown
qtssCliSesTearDownServerInternalErr

QTSS_EventType

A QTSS_EventType is an unsigned 32-bit integer whose value uniquely identifies stream I/O events.

enum
{
   QTSS_ReadableEvent              = 1,
   QTSS_WriteableEvent             = 2
};
typedef UInt32 QTSS_EventType;
Constants
QTSS_ReadableEvent
QTSS_WriteableEvent

QTSS_OpenFileFlags

A QTSS_OpenFileFlags is an unsigned 32-bit integer whose value describes how a file is to be opened.

enum
{
   qtssOpenFileNoFlags = 0,
   qtssOpenFileAsync   = 1,
   qtssOpenFileReadAhead= 2
};
typedef UInt32 QTSS_OpenFileFlags;
Constants
qtssOpenFileNoFlags
qtssOpenFileAsync
qtssOpenReadAhead

QTSS_RTPPayloadType

The QTSS_RTPPayloadType enumeration defines values that a module uses to specify the stream’s payload type when it adds an RTP stream to a client session. The enumeration is defined as

enum
{
   qtssUnknownPayloadType = 0,
   qtssVideoPayloadType = 1,
   qtssAudioPayloadType = 2
};
typedef UInt32 QTSS_RTPPayloadType;
Constants
qtssUnknownPayloadType
qtssVideoPayloadType
qtssAudioPayloadType

QTSS_RTPNetworkMode

The QTSS_RTPNetworkMode enumeration defines values that describe the RTP network mode. These values are set as the value of the qtssRTPStrNetworkMode and qtssRTSPReqNetworkMode attributes of objects of type qtssRTPStreamObjectType and qtssRTSPRequestObjectType, respectively. The QTSS_RTPNetworkMode enumeration is defined as

enum
{
   qtssRTPNetworkModeDefault = 0,
   qtssRTPNetworkModeMulticast = 1,
   qtssRTPNetworkModeUnicast= 2
};
typedef UInt32 QTSS_RTPNetworkModes;
Constants
qtssRTPNetworkModeDefault
qtssRTPNetworkModeMulticast
qtssRTPNetworkModeUnicast

QTSS_RTPSessionState

The QTSS_RTPSessionState enumeration defines values that identify the state of an RTP session. The QTSS_RTPSessionState enumeration is defined as

enum
{
   qtssPausedState = 0,
   qtssPlayingState = 1
};
typedef UInt32 QTSS_RTPSessionState;
Constants
qtssPausedState
qtssPlayingState

QTSS_RTPTransportType

The QTSS_RTPTransportType enumeration defines values for RTP transports. The enumeration is defined as

enum
{
   qtssRTPTransportTypeUDP     = 0,
   qtssRTPTransportTypeReliableUDP= 1,
   qtssRTPTransportTypeTCP     = 2
};
typedef UInt32 QTSS_RTPTransportType;
Constants
qtssRTPTransportTypeUDP
qtssRTPTransportTypeReliableUDP
qtssRTPTransportTypeTCP

QTSS_RTSPSessionType

The QTSS_RTSPSessionType enumeration defines values that specify RTSP session types. The enumeration is defined as

enum
{
   qtssRTSPSession         = 0,
   qtssRTSPHTTPSession     = 1,
   qtssRTSPHTTPInputSession= 2
};
typedef UInt32 QTSS_RTSPSessionType;
Constants
qtssRTSPSession
qtssRTSPHTTPSession
qtssRTSPHTTPInputSession
Discussion

These session types are usually very short lived.

QTSS_ServerState

The QTSS_ServerState enumeration defines values that describe the server’s state. Modules can set the server’s state by setting the value of the qtssSvrState attribute in the QTSS_ServerObject object. The enumeration is defined as

enum
{
   qtssStartingUpState     = 0,
   qtssRunningState        = 1,
   qtssRefusingConnectionsState= 2,
   qtssFatalErrorState     = 3,
   qtssShuttingDownState   = 4,
   qtssIdleState           = 5
};
typedef UInt32 QTSS_ServerState;
Constants
qtssStartingUpState
qtssRunningState
qtssRefusingConnectionsState
qtssFatalErrorState
qtssShuttingDownState
qtssIdleState