| GStreamer Base Plugins 0.10 Library Reference Manual | ||||
|---|---|---|---|---|
#include <gst/riff/riff-media.h> #define GST_RIFF_00 #define GST_RIFF_0021 #define GST_RIFF_0031 #define GST_RIFF_0032 #define GST_RIFF_00AM #define GST_RIFF_00__ #define GST_RIFF_00db #define GST_RIFF_00dc #define GST_RIFF_00dx #define GST_RIFF_00id #define GST_RIFF_00iv #define GST_RIFF_00pc #define GST_RIFF_00rt #define GST_RIFF_00vc #define GST_RIFF_00xm #define GST_RIFF_00xx #define GST_RIFF_01 #define GST_RIFF_01dc #define GST_RIFF_01pc #define GST_RIFF_01wb #define GST_RIFF_02 #define GST_RIFF_03 #define GST_RIFF_04 #define GST_RIFF_05 #define GST_RIFF_06 #define GST_RIFF_07 #define GST_RIFF_AURA #define GST_RIFF_BW10 #define GST_RIFF_CCC #define GST_RIFF_CRAM #define GST_RIFF_CVID #define GST_RIFF_CYUV #define GST_RIFF_DISP #define GST_RIFF_DIV3 #define GST_RIFF_DMB1 #define GST_RIFF_FCCH_MSVC #define GST_RIFF_FCCH_RLE #define GST_RIFF_FCCH_msvc #define GST_RIFF_FCC_auds #define GST_RIFF_FCC_iavs #define GST_RIFF_FCC_pads #define GST_RIFF_FCC_txts #define GST_RIFF_FCC_vidc #define GST_RIFF_FCC_vids #define GST_RIFF_FF00 #define GST_RIFF_H263 #define GST_RIFF_I420 #define GST_RIFF_IDIT #define GST_RIFF_IJPG #define GST_RIFF_INFO_IARL #define GST_RIFF_INFO_IART #define GST_RIFF_INFO_ICMS #define GST_RIFF_INFO_ICMT #define GST_RIFF_INFO_ICOP #define GST_RIFF_INFO_ICRD #define GST_RIFF_INFO_ICRP #define GST_RIFF_INFO_IDIM #define GST_RIFF_INFO_IDPI #define GST_RIFF_INFO_IENG #define GST_RIFF_INFO_IGNR #define GST_RIFF_INFO_IKEY #define GST_RIFF_INFO_ILGT #define GST_RIFF_INFO_IMED #define GST_RIFF_INFO_INAM #define GST_RIFF_INFO_IPLT #define GST_RIFF_INFO_IPRD #define GST_RIFF_INFO_ISBJ #define GST_RIFF_INFO_ISFT #define GST_RIFF_INFO_ISHP #define GST_RIFF_INFO_ISRC #define GST_RIFF_INFO_ISRF #define GST_RIFF_INFO_ITCH #define GST_RIFF_ISBJ #define GST_RIFF_ISFT #define GST_RIFF_IV31 #define GST_RIFF_IV32 #define GST_RIFF_IV41 #define GST_RIFF_IV50 #define GST_RIFF_IYUV #define GST_RIFF_JPEG #define GST_RIFF_L263 #define GST_RIFF_LIST_AVIX #define GST_RIFF_LIST_INFO #define GST_RIFF_LIST_adtl #define GST_RIFF_LIST_hdrl #define GST_RIFF_LIST_movi #define GST_RIFF_LIST_odml #define GST_RIFF_LIST_strl #define GST_RIFF_M263 #define GST_RIFF_MJPG #define GST_RIFF_MPIX #define GST_RIFF_MVI1 #define GST_RIFF_NONE #define GST_RIFF_PACK #define GST_RIFF_Q1_0 #define GST_RIFF_RGB #define GST_RIFF_RIFF_AVI #define GST_RIFF_RIFF_CDXA #define GST_RIFF_RIFF_WAVE #define GST_RIFF_RLE4 #define GST_RIFF_RLE8 #define GST_RIFF_RT21 #define GST_RIFF_SFMC #define GST_RIFF_TAG_BEXT #define GST_RIFF_TAG_JUNK #define GST_RIFF_TAG_LIST #define GST_RIFF_TAG_RIFF #define GST_RIFF_TAG_RIFX #define GST_RIFF_TAG_avih #define GST_RIFF_TAG_bext #define GST_RIFF_TAG_cue #define GST_RIFF_TAG_data #define GST_RIFF_TAG_dmlh #define GST_RIFF_TAG_fact #define GST_RIFF_TAG_fmt #define GST_RIFF_TAG_idx1 #define GST_RIFF_TAG_plst #define GST_RIFF_TAG_strd #define GST_RIFF_TAG_strf #define GST_RIFF_TAG_strh #define GST_RIFF_TAG_strn #define GST_RIFF_TAG_vedt #define GST_RIFF_TRAN #define GST_RIFF_ULTI #define GST_RIFF_V422 #define GST_RIFF_VDOW #define GST_RIFF_VIXL #define GST_RIFF_VSSH #define GST_RIFF_VYUY #define GST_RIFF_WHAM #define GST_RIFF_WINX #define GST_RIFF_WPY2 #define GST_RIFF_XMPG #define GST_RIFF_Y41P #define GST_RIFF_YUV8 #define GST_RIFF_YUV9 #define GST_RIFF_YUY2 #define GST_RIFF_YV12 #define GST_RIFF_YVU9 #define GST_RIFF_azpr #define GST_RIFF_bw10 #define GST_RIFF_ccc #define GST_RIFF_cram #define GST_RIFF_cvid #define GST_RIFF_cyuv #define GST_RIFF_dmb1 #define GST_RIFF_h263 #define GST_RIFF_i263 #define GST_RIFF_i420 #define GST_RIFF_iv31 #define GST_RIFF_iv32 #define GST_RIFF_iv41 #define GST_RIFF_iv50 #define GST_RIFF_iyuv #define GST_RIFF_jpeg #define GST_RIFF_m263 #define GST_RIFF_mJPG #define GST_RIFF_mvi1 #define GST_RIFF_none #define GST_RIFF_pack #define GST_RIFF_rec #define GST_RIFF_rgb #define GST_RIFF_rle4 #define GST_RIFF_rle8 #define GST_RIFF_rpza #define GST_RIFF_rt21 #define GST_RIFF_tran #define GST_RIFF_ulti #define GST_RIFF_v422 #define GST_RIFF_vixl #define GST_RIFF_vyuy #define GST_RIFF_wham #define GST_RIFF_x263 #define GST_RIFF_xmpg #define GST_RIFF_y41p #define GST_RIFF_yuy2 #define GST_RIFF_yv12 GstCaps* gst_riff_create_audio_caps (guint16 codec_id, gst_riff_strh *strh, gst_riff_strf_auds *strf, GstBuffer *strf_data, GstBuffer *strd_data, char **codec_name); GstCaps* gst_riff_create_audio_template_caps (void); GstCaps* gst_riff_create_iavs_caps (guint32 codec_fcc, gst_riff_strh *strh, gst_riff_strf_iavs *strf, GstBuffer *strf_data, GstBuffer *strd_data, char **codec_name); GstCaps* gst_riff_create_iavs_template_caps (void); GstCaps* gst_riff_create_video_caps (guint32 codec_fcc, gst_riff_strh *strh, gst_riff_strf_vids *strf, GstBuffer *strf_data, GstBuffer *strd_data, char **codec_name); GstCaps* gst_riff_create_video_template_caps (void); gst_riff_dmlh; gst_riff_index_entry; void gst_riff_init (void); gboolean gst_riff_parse_chunk (GstElement *element, GstBuffer *buf, guint *offset, guint32 *fourcc, GstBuffer **chunk_data); gboolean gst_riff_parse_file_header (GstElement *element, GstBuffer *buf, guint32 *doctype); void gst_riff_parse_info (GstElement *element, GstBuffer *buf, GstTagList **taglist); gboolean gst_riff_parse_strf_auds (GstElement *element, GstBuffer *buf, gst_riff_strf_auds **strf, GstBuffer **data); gboolean gst_riff_parse_strf_iavs (GstElement *element, GstBuffer *buf, gst_riff_strf_iavs **strf, GstBuffer **data); gboolean gst_riff_parse_strf_vids (GstElement *element, GstBuffer *buf, gst_riff_strf_vids **strf, GstBuffer **data); gboolean gst_riff_parse_strh (GstElement *element, GstBuffer *buf, gst_riff_strh **strh); GstFlowReturn gst_riff_read_chunk (GstElement *element, GstPad *pad, guint64 *offset, guint32 *tag, GstBuffer **chunk_data); gst_riff_strf_auds; gst_riff_strf_iavs; gst_riff_strf_vids; gst_riff_strh;
#define GST_RIFF_INFO_IPLT GST_MAKE_FOURCC ('I','P','L','T') /* palette setting */
#define GST_RIFF_MPIX GST_MAKE_FOURCC (0x04,0x00, 'i', '1') /* MotionPixels munged their id */
#define GST_RIFF_azpr GST_MAKE_FOURCC ('a', 'z', 'p', 'r') /* recognize Apple's rpza mangled? */
GstCaps* gst_riff_create_audio_caps (guint16 codec_id, gst_riff_strh *strh, gst_riff_strf_auds *strf, GstBuffer *strf_data, GstBuffer *strd_data, char **codec_name);
codec_id : |
|
strh : |
|
strf : |
|
strf_data : |
|
strd_data : |
|
codec_name : |
|
| Returns : |
GstCaps* gst_riff_create_audio_template_caps (void);
| Returns : |
GstCaps* gst_riff_create_iavs_caps (guint32 codec_fcc, gst_riff_strh *strh, gst_riff_strf_iavs *strf, GstBuffer *strf_data, GstBuffer *strd_data, char **codec_name);
codec_fcc : |
|
strh : |
|
strf : |
|
strf_data : |
|
strd_data : |
|
codec_name : |
|
| Returns : |
GstCaps* gst_riff_create_video_caps (guint32 codec_fcc, gst_riff_strh *strh, gst_riff_strf_vids *strf, GstBuffer *strf_data, GstBuffer *strd_data, char **codec_name);
codec_fcc : |
|
strh : |
|
strf : |
|
strf_data : |
|
strd_data : |
|
codec_name : |
|
| Returns : |
GstCaps* gst_riff_create_video_template_caps (void);
| Returns : |
typedef struct {
guint32 id;
guint32 flags;
#define GST_RIFF_IF_LIST (0x00000001L)
#define GST_RIFF_IF_KEYFRAME (0x00000010L)
#define GST_RIFF_IF_NO_TIME (0x00000100L)
#define GST_RIFF_IF_COMPUSE (0x0FFF0000L)
guint32 offset;
guint32 size;
} gst_riff_index_entry;
gboolean gst_riff_parse_chunk (GstElement *element, GstBuffer *buf, guint *offset, guint32 *fourcc, GstBuffer **chunk_data);
Reads a single chunk.
element : |
caller element (used for debugging). |
buf : |
input buffer. |
offset : |
offset in the buffer in the caller. Is incremented by the read size by this function. |
fourcc : |
fourcc (returned by this function0 of the chunk. |
chunk_data : |
buffer (returned by the function) containing the chunk data. |
| Returns : | the fourcc tag of this chunk, or FALSE on error |
gboolean gst_riff_parse_file_header (GstElement *element, GstBuffer *buf, guint32 *doctype);
Reads the first few bytes from the provided buffer, checks
if this stream is a RIFF stream, and determines document type.
This function takes ownership of buf so it should not be used anymore
after calling this function.
element : |
caller element (used for debugging/error). |
buf : |
input buffer from which the file header will be parsed, should be at least 12 bytes long. |
doctype : |
a fourcc (returned by this function) to indicate the type of document (according to the header). |
| Returns : | FALSE if this is not a RIFF stream (in which case the caller should error out; we already throw an error), or TRUE if it is. |
void gst_riff_parse_info (GstElement *element, GstBuffer *buf, GstTagList **taglist);
Parses stream metadata from input data.
element : |
caller element (used for debugging/error). |
buf : |
input data to be used for parsing, stripped from header. |
taglist : |
a pointer to a taglist (returned by this function) containing information about this stream. May be NULL if no supported tags were found. |
gboolean gst_riff_parse_strf_auds (GstElement *element, GstBuffer *buf, gst_riff_strf_auds **strf, GstBuffer **data);
Parses an audio stream´s strf structure plus optionally some
extradata from input data. This function takes ownership of buf.
use.
element : |
caller element (used for debugging/error). |
buf : |
input data to be used for parsing, stripped from header. |
strf : |
a pointer (returned by this function) to a filled-in strf/auds structure. Caller should free it. |
data : |
a pointer (returned by this function) to a buffer containing extradata for this particular stream (e.g. codec initialization data). |
| Returns : | TRUE if parsing succeeded, otherwise FALSE. The stream should be skipped on error, but it is not fatal. |
gboolean gst_riff_parse_strf_iavs (GstElement *element, GstBuffer *buf, gst_riff_strf_iavs **strf, GstBuffer **data);
Parses a interleaved (also known as "complex") stream´s strf
structure plus optionally some extradata from input data. This
function takes ownership of buf.
element : |
caller element (used for debugging/error). |
buf : |
input data to be used for parsing, stripped from header. |
strf : |
a pointer (returned by this function) to a filled-in strf/iavs structure. Caller should free it. |
data : |
a pointer (returned by this function) to a buffer containing extradata for this particular stream (e.g. codec initialization data). |
| Returns : | TRUE if parsing succeeded, otherwise FALSE. |
gboolean gst_riff_parse_strf_vids (GstElement *element, GstBuffer *buf, gst_riff_strf_vids **strf, GstBuffer **data);
Parses a video stream´s strf structure plus optionally some
extradata from input data. This function takes ownership of buf.
element : |
caller element (used for debugging/error). |
buf : |
input data to be used for parsing, stripped from header. |
strf : |
a pointer (returned by this function) to a filled-in strf/vids structure. Caller should free it. |
data : |
a pointer (returned by this function) to a buffer containing extradata for this particular stream (e.g. palette, codec initialization data). |
| Returns : | TRUE if parsing succeeded, otherwise FALSE. The stream should be skipped on error, but it is not fatal. |
gboolean gst_riff_parse_strh (GstElement *element, GstBuffer *buf, gst_riff_strh **strh);
Parses a strh structure from input data. Takes ownership of buf.
element : |
caller element (used for debugging/error). |
buf : |
input data to be used for parsing, stripped from header. |
strh : |
a pointer (returned by this function) to a filled-in strh structure. Caller should free it. |
| Returns : | TRUE if parsing succeeded, otherwise FALSE. The stream should be skipped on error, but it is not fatal. |
GstFlowReturn gst_riff_read_chunk (GstElement *element, GstPad *pad, guint64 *offset, guint32 *tag, GstBuffer **chunk_data);
Reads a single chunk of data. Since 0.10.8 'JUNK' chunks are skipped automatically.
element : |
caller element (used for debugging). |
pad : |
pad to pull data from. |
offset : |
offset to pull from, incremented by this function. |
tag : |
fourcc of the chunk (returned by this function). |
chunk_data : |
buffer (returned by this function). |
| Returns : | flow status. |
typedef struct {
/* == WaveHeader (?) */
guint16 format;
/**** from public Microsoft RIFF docs ******/
#define GST_RIFF_WAVE_FORMAT_UNKNOWN (0x0000)
#define GST_RIFF_WAVE_FORMAT_PCM (0x0001)
#define GST_RIFF_WAVE_FORMAT_ADPCM (0x0002)
#define GST_RIFF_WAVE_FORMAT_IEEE_FLOAT (0x0003)
#define GST_RIFF_WAVE_FORMAT_VSELP (0x0004)
#define GST_RIFF_WAVE_FORMAT_IBM_CVSD (0x0005)
#define GST_RIFF_WAVE_FORMAT_ALAW (0x0006)
#define GST_RIFF_WAVE_FORMAT_MULAW (0x0007)
#define GST_RIFF_WAVE_FORMAT_WMS (0x000a) /* WMS Windows Media Audio Speech */
#define GST_RIFF_WAVE_FORMAT_OKI_ADPCM (0x0010)
#define GST_RIFF_WAVE_FORMAT_DVI_ADPCM (0x0011)
#define GST_RIFF_WAVE_FORMAT_MEDIASPACE_ADPCM (0x0012)
#define GST_RIFF_WAVE_FORMAT_SIERRA_ADPCM (0x0013)
#define GST_RIFF_WAVE_FORMAT_G723_ADPCM (0x0014)
#define GST_RIFF_WAVE_FORMAT_DIGISTD (0x0015)
#define GST_RIFF_WAVE_FORMAT_DIGIFIX (0x0016)
#define GST_RIFF_WAVE_FORMAT_DIALOGIC_OKI_ADPCM (0x0017)
#define GST_RIFF_WAVE_FORMAT_MEDIAVISION_ADPCM (0x0018)
#define GST_RIFF_WAVE_FORMAT_CU_CODEC (0x0019)
#define GST_RIFF_WAVE_FORMAT_YAMAHA_ADPCM (0x0020)
#define GST_RIFF_WAVE_FORMAT_SONARC (0x0021)
#define GST_RIFF_WAVE_FORMAT_DSP_TRUESPEECH (0x0022)
#define GST_RIFF_WAVE_FORMAT_ECHOSC1 (0x0023)
#define GST_RIFF_WAVE_FORMAT_AUDIOFILE_AF36 (0x0024)
#define GST_RIFF_WAVE_FORMAT_APTX (0x0025)
#define GST_RIFF_WAVE_FORMAT_AUDIOFILE_AF10 (0x0026)
#define GST_RIFF_WAVE_FORMAT_PROSODY_1612 (0x0027)
#define GST_RIFF_WAVE_FORMAT_LRC (0x0028)
#define GST_RIFF_WAVE_FORMAT_DOLBY_AC2 (0x0030)
#define GST_RIFF_WAVE_FORMAT_GSM610 (0x0031)
#define GST_RIFF_WAVE_FORMAT_MSN (0x0032)
#define GST_RIFF_WAVE_FORMAT_ANTEX_ADPCME (0x0033
#define GST_RIFF_WAVE_FORMAT_CONTROL_RES_VQLPC (0x0034)
#define GST_RIFF_WAVE_FORMAT_DIGIREAL (0x0035)
#define GST_RIFF_WAVE_FORMAT_DIGIADPCM (0x0036)
#define GST_RIFF_WAVE_FORMAT_CONTROL_RES_CR10 (0x0037)
#define GST_RIFF_WAVE_FORMAT_NMS_VBXADPCM (0x0038)
#define GST_RIFF_WAVE_FORMAT_CS_IMAADPCM (0x0039)
#define GST_RIFF_WAVE_FORMAT_ECHOSC3 (0x003A)
#define GST_RIFF_WAVE_FORMAT_ROCKWELL_ADPCM (0x003B)
#define GST_RIFF_WAVE_FORMAT_ROCKWELL_DIGITALK (0x003C)
#define GST_RIFF_WAVE_FORMAT_XEBEC (0x003D)
#define GST_RIFF_WAVE_FORMAT_ITU_G721_ADPCM (0x0040)
#define GST_RIFF_WAVE_FORMAT_G728_CELP (0x0041)
#define GST_RIFF_WAVE_FORMAT_MSG723 (0x0042)
#define GST_RIFF_WAVE_FORMAT_MPEGL12 (0x0050)
#define GST_RIFF_WAVE_FORMAT_RT24 (0x0052)
#define GST_RIFF_WAVE_FORMAT_PAC (0x0053)
#define GST_RIFF_WAVE_FORMAT_MPEGL3 (0x0055)
#define GST_RIFF_WAVE_FORMAT_LUCENT_G723 (0x0059)
#define GST_RIFF_WAVE_FORMAT_CIRRUS (0x0060)
#define GST_RIFF_WAVE_FORMAT_ESPCM (0x0061)
#define GST_RIFF_WAVE_FORMAT_VOXWARE (0x0062)
#define GST_RIFF_WAVE_FORMAT_CANOPUS_ATRAC (0x0063)
#define GST_RIFF_WAVE_FORMAT_G726_ADPCM (0x0064)
#define GST_RIFF_WAVE_FORMAT_G722_ADPCM (0x0065)
#define GST_RIFF_WAVE_FORMAT_DSAT_DISPLAY (0x0067)
#define GST_RIFF_WAVE_FORMAT_VOXWARE_BYTE_ALIGNED (0x0069)
#define GST_RIFF_WAVE_FORMAT_VOXWARE_AC8 (0x0070)
#define GST_RIFF_WAVE_FORMAT_VOXWARE_AC10 (0x0071)
#define GST_RIFF_WAVE_FORMAT_VOXWARE_AC16 (0x0072)
#define GST_RIFF_WAVE_FORMAT_VOXWARE_AC20 (0x0073)
#define GST_RIFF_WAVE_FORMAT_VOXWARE_METAVOICE (0x0074)
#define GST_RIFF_WAVE_FORMAT_VOXWARE_METASOUND (0x0075)
#define GST_RIFF_WAVE_FORMAT_VOXWARE_RT29HW (0x0076)
#define GST_RIFF_WAVE_FORMAT_VOXWARE_VR12 (0x0077)
#define GST_RIFF_WAVE_FORMAT_VOXWARE_VR18 (0x0078)
#define GST_RIFF_WAVE_FORMAT_VOXWARE_TQ40 (0x0079)
#define GST_RIFF_WAVE_FORMAT_SOFTSOUND (0x0080)
#define GST_RIFF_WAVE_FORMAT_VOXWARE_TQ60 (0x0081)
#define GST_RIFF_WAVE_FORMAT_MSRT24 (0x0082)
#define GST_RIFF_WAVE_FORMAT_G729A (0x0083)
#define GST_RIFF_WAVE_FORMAT_MVI_MVI2 (0x0084)
#define GST_RIFF_WAVE_FORMAT_DF_G726 (0x0085)
#define GST_RIFF_WAVE_FORMAT_DF_GSM610 (0x0086)
#define GST_RIFF_WAVE_FORMAT_ISIAUDIO (0x0088)
#define GST_RIFF_WAVE_FORMAT_ONLIVE (0x0089)
#define GST_RIFF_WAVE_FORMAT_SBC24 (0x0091)
#define GST_RIFF_WAVE_FORMAT_DOLBY_AC3_SPDIF (0x0092)
#define GST_RIFF_WAVE_FORMAT_MEDIASONIC_G723 (0x0093)
#define GST_RIFF_WAVE_FORMAT_PROSODY_8KBPS (0x0094)
#define GST_RIFF_WAVE_FORMAT_ZYXEL_ADPCM (0x0097)
#define GST_RIFF_WAVE_FORMAT_PHILIPS_LPCBB (0x0098)
#define GST_RIFF_WAVE_FORMAT_PACKED (0x0099)
#define GST_RIFF_WAVE_FORMAT_MALDEN_PHONYTALK (0x00A0)
#define GST_RIFF_WAVE_FORMAT_AAC (0x00ff)
#define GST_RIFF_WAVE_FORMAT_RHETOREX_ADPCM (0x0100)
#define GST_RIFF_IBM_FORMAT_MULAW (0x0101)
#define GST_RIFF_IBM_FORMAT_ALAW (0x0102)
#define GST_RIFF_IBM_FORMAT_ADPCM (0x0103)
#define GST_RIFF_WAVE_FORMAT_VIVO_G723 (0x0111)
#define GST_RIFF_WAVE_FORMAT_VIVO_SIREN (0x0112)
#define GST_RIFF_WAVE_FORMAT_DIGITAL_G723 (0x0123)
#define GST_RIFF_WAVE_FORMAT_SANYO_LD_ADPCM (0x0125)
#define GST_RIFF_WAVE_FORMAT_SIPROLAB_ACEPLNET (0x0130)
#define GST_RIFF_WAVE_FORMAT_SIPROLAB_ACELP4800 (0x0131)
#define GST_RIFF_WAVE_FORMAT_SIPROLAB_ACELP8V3 (0x0132)
#define GST_RIFF_WAVE_FORMAT_SIPROLAB_G729 (0x0133)
#define GST_RIFF_WAVE_FORMAT_SIPROLAB_G729A (0x0134)
#define GST_RIFF_WAVE_FORMAT_SIPROLAB_KELVIN (0x0135)
#define GST_RIFF_WAVE_FORMAT_G726ADPCM (0x0140)
#define GST_RIFF_WAVE_FORMAT_QUALCOMM_PUREVOICE (0x0150)
#define GST_RIFF_WAVE_FORMAT_QUALCOMM_HALFRATE (0x0151)
#define GST_RIFF_WAVE_FORMAT_TUBGSM (0x0155)
#define GST_RIFF_WAVE_FORMAT_WMAV1 (0x0160)
#define GST_RIFF_WAVE_FORMAT_WMAV2 (0x0161)
#define GST_RIFF_WAVE_FORMAT_WMAV3 (0x0162)
#define GST_RIFF_WAVE_FORMAT_WMAV3_L (0x0163)
#define GST_RIFF_WAVE_FORMAT_CREATIVE_ADPCM (0x0200)
#define GST_RIFF_WAVE_FORMAT_CREATIVE_FASTSPEECH8 (0x0202)
#define GST_RIFF_WAVE_FORMAT_CREATIVE_FASTSPEECH10 (0x0203)
#define GST_RIFF_WAVE_FORMAT_UHER_ADPCM (0x0210)
#define GST_RIFF_WAVE_FORMAT_QUARTERDECK (0x0220)
#define GST_RIFF_WAVE_FORMAT_ILINK_VC (0x0230)
#define GST_RIFF_WAVE_FORMAT_RAW_SPORT (0x0240)
#define GST_RIFF_WAVE_FORMAT_IPI_HSX (0x0250)
#define GST_RIFF_WAVE_FORMAT_IPI_RPELP (0x0251)
#define GST_RIFF_WAVE_FORMAT_CS2 (0x0260)
#define GST_RIFF_WAVE_FORMAT_SONY_ATRAC3 (0x0270)
#define GST_RIFF_WAVE_FORMAT_FM_TOWNS_SND (0x0300)
#define GST_RIFF_WAVE_FORMAT_BTV_DIGITAL (0x0400)
#define GST_RIFF_WAVE_FORMAT_QDESIGN_MUSIC (0x0450)
#define GST_RIFF_WAVE_FORMAT_VME_VMPCM (0x0680)
#define GST_RIFF_WAVE_FORMAT_TPC (0x0681)
#define GST_RIFF_WAVE_FORMAT_OLIGSM (0x1000)
#define GST_RIFF_WAVE_FORMAT_OLIADPCM (0x1001)
#define GST_RIFF_WAVE_FORMAT_OLICELP (0x1002)
#define GST_RIFF_WAVE_FORMAT_OLISBC (0x1003)
#define GST_RIFF_WAVE_FORMAT_OLIOPR (0x1004)
#define GST_RIFF_WAVE_FORMAT_LH_CODEC (0x1100)
#define GST_RIFF_WAVE_FORMAT_NORRIS (0x1400)
#define GST_RIFF_WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS (0x1500)
#define GST_RIFF_WAVE_FORMAT_A52 (0x2000)
#define GST_RIFF_WAVE_FORMAT_DTS (0x2001)
#define GST_RIFF_WAVE_FORMAT_VORBIS1 (0x674f)
#define GST_RIFF_WAVE_FORMAT_VORBIS2 (0x6750)
#define GST_RIFF_WAVE_FORMAT_VORBIS3 (0x6751)
#define GST_RIFF_WAVE_FORMAT_VORBIS1PLUS (0x676f)
#define GST_RIFF_WAVE_FORMAT_VORBIS2PLUS (0x6770)
#define GST_RIFF_WAVE_FORMAT_VORBIS3PLUS (0x6771)
#define GST_RIFF_WAVE_FORMAT_GSM_AMR_CBR (0x7A21)
#define GST_RIFF_WAVE_FORMAT_GSM_AMR_VBR (0x7A22)
#define GST_RIFF_WAVE_FORMAT_EXTENSIBLE (0xFFFE)
guint16 channels;
guint32 rate;
guint32 av_bps;
guint16 blockalign;
guint16 size;
} gst_riff_strf_auds;
typedef struct {
guint32 DVAAuxSrc;
guint32 DVAAuxCtl;
guint32 DVAAuxSrc1;
guint32 DVAAuxCtl1;
guint32 DVVAuxSrc;
guint32 DVVAuxCtl;
guint32 DVReserved1;
guint32 DVReserved2;
} gst_riff_strf_iavs;
typedef struct {
/* == BitMapInfoHeader */
guint32 size;
guint32 width;
guint32 height;
guint16 planes;
guint16 bit_cnt;
guint32 compression;
guint32 image_size;
guint32 xpels_meter;
guint32 ypels_meter;
guint32 num_colors; /* used colors */
guint32 imp_colors; /* important colors */
/* may be more for some codecs */
} gst_riff_strf_vids;
typedef struct {
guint32 type; /* stream type */
guint32 fcc_handler; /* fcc_handler */
guint32 flags;
/* flags values */
#define GST_RIFF_STRH_DISABLED 0x000000001
#define GST_RIFF_STRH_VIDEOPALCHANGES 0x000010000
guint32 priority;
guint32 init_frames; /* initial frames (???) */
guint32 scale;
guint32 rate;
guint32 start;
guint32 length;
guint32 bufsize; /* suggested buffer size */
guint32 quality;
guint32 samplesize;
/* rcFrame, RECT structure(struct of 4 shorts)
gint32 left;
gint32 top;
gint32 right;
gint32 bottom;
*/
} gst_riff_strh;