Describes the format of a multimedia stream. This structure is used by mmOpenStream when it is invoked in write mode to configure the data format. It is used by mmOpenStream, when it is invoked in read mode to return the format of the existing file and configure the output data format (using the format and flags fields).
typedef struct
{
WORD format;
#define FORMAT_NMS_PACKETIZED 0
#define FORMAT_RAW 1
DWORD flags; //!< Format flags ( bitmap).
#define FORMAT_FLAG_AMR_IF2 0x001
#define FORMAT_FLAG_AMR_DTX 0x002
#define FORMAT_FLAG_H263_2190 0x004
#define FORMAT_FLAG_RTP_HINTS 0x008
#define FORMAT_FLAG_RTP_SETTINGS 0x0010
#define FORMAT_FLAG_HEADER_CHECK 0x0020
#define FORMAT_FLAG_MEM_CHUNKS 0x0080
#define FORMAT_FLAG_DCI_INFO 0x0100
#define FORMAT_WRITE_SYNC_POINTS 0x2000
WORD rtpTimestampOffset;
WORD rtpSequenceOffset;
WORD rtpPayloadType;
#define DEFAULT_PAYLOAD_TYPE 0
WORD rtpPayloadSize;
#define DEFAULT_PAYLOAD_SIZE 0
BYTE videoProfile;
BYTE videoLevel;
BYTE *pdciInfo;
int dciInfoSize;
WORD videoAggregationThreshold;
} DATA_FORMAT_DESC;
Field |
Description |
|---|---|
format |
Format of the output data. Valid values are:
|
flags |
Bit mask that specifies format options for storing data. Valid values for both read mode and write mode are:
Valid values for read mode only:
Valid values for write mode only:
|
Field |
Description |
|---|---|
rtpTimestampOffset |
The timestamp of the first RTP packet. |
rtpSequenceOffset |
The sequence number of the first RTP packet. |
rtpPayLoadType |
The RTP payload type. Use DEFAULT_PAYLOAD_TYPE to use the default value, according to the codec type. |
rtpPayLoadSize |
The RTP payload maximum size. Use DEFAULT_PAYLOAD_SIZE to use the default value, according to the codec type. |
Field |
Description |
|---|---|
videoProfile |
H.263 profile. Valid values:
|
videoLevel |
The codec standard level. Valid values:
|
pdciInfo |
DCI information for MPEG-4 or H.264. |
dciInfoSize |
Buffer size for DCI information in the pdciInfo field. |
videoAggregationThreshold |
Video aggregation threshold. Valid values are 0 or 1000 bytes to the maximum video size allowed in an RTP packet. 0 = Aggregation is not enabled. Not 0 = Video is aggregated such that there may be multiple video frames in a packet. Note: This parameter is for future use (not currently supported). |