From: Ziqing Hui zhui@codeweavers.com
--- dlls/winegstreamer/unixlib.h | 123 +++++++++++++---------------------- 1 file changed, 45 insertions(+), 78 deletions(-)
diff --git a/dlls/winegstreamer/unixlib.h b/dlls/winegstreamer/unixlib.h index 4ec9fce515e..89735865156 100644 --- a/dlls/winegstreamer/unixlib.h +++ b/dlls/winegstreamer/unixlib.h @@ -29,21 +29,23 @@
#include "wine/unixlib.h"
-typedef UINT32 wg_major_type; -enum wg_major_type -{ - WG_MAJOR_TYPE_UNKNOWN = 0, - WG_MAJOR_TYPE_AUDIO, - WG_MAJOR_TYPE_AUDIO_MPEG1, - WG_MAJOR_TYPE_AUDIO_MPEG4, - WG_MAJOR_TYPE_AUDIO_WMA, - WG_MAJOR_TYPE_VIDEO, - WG_MAJOR_TYPE_VIDEO_CINEPAK, - WG_MAJOR_TYPE_VIDEO_H264, - WG_MAJOR_TYPE_VIDEO_WMV, - WG_MAJOR_TYPE_VIDEO_INDEO, - WG_MAJOR_TYPE_VIDEO_MPEG1, -}; +#define WG_AUDIO_FLAG_CHANNELS 0x1 +#define WG_AUDIO_FLAG_CHANNEL_MASK 0x2 +#define WG_AUDIO_FLAG_RATE 0x4 +#define WG_AUDIO_FLAG_VERSION 0x8 +#define WG_AUDIO_FLAG_BITRATE 0x10 +#define WG_AUDIO_FLAG_DEPTH 0x20 +#define WG_AUDIO_FLAG_BLOCK_ALIGN 0x40 +#define WG_AUDIO_FLAG_LAYER 0x80 +#define WG_AUDIO_FLAG_PAYLOAD_TYPE 0x100 +#define WG_AUDIO_FLAG_CODEC_DATA 0x200 + +#define WG_VIDEO_FLAG_SIZE 0x1 +#define WG_VIDEO_FLAG_FPS 0x2 +#define WG_VIDEO_FLAG_PADDING 0x4 +#define WG_VIDEO_FLAG_LEVEL 0x8 +#define WG_VIDEO_FLAG_VERSION 0x10 +#define WG_VIDEO_FLAG_CODEC_DATA 0x20
typedef UINT32 wg_audio_format; enum wg_audio_format @@ -56,6 +58,10 @@ enum wg_audio_format WG_AUDIO_FORMAT_S32LE, WG_AUDIO_FORMAT_F32LE, WG_AUDIO_FORMAT_F64LE, + + WG_AUDIO_FORMAT_MPEG1, + WG_AUDIO_FORMAT_MPEG4, + WG_AUDIO_FORMAT_WMA, };
typedef UINT32 wg_video_format; @@ -76,101 +82,62 @@ enum wg_video_format WG_VIDEO_FORMAT_YUY2, WG_VIDEO_FORMAT_YV12, WG_VIDEO_FORMAT_YVYU, -};
-typedef UINT32 wg_wmv_video_format; -enum wg_wmv_video_format -{ - WG_WMV_VIDEO_FORMAT_UNKNOWN, - WG_WMV_VIDEO_FORMAT_WMV1, - WG_WMV_VIDEO_FORMAT_WMV2, - WG_WMV_VIDEO_FORMAT_WMV3, - WG_WMV_VIDEO_FORMAT_WMVA, - WG_WMV_VIDEO_FORMAT_WVC1, + WG_VIDEO_FORMAT_CINEPAK, + WG_VIDEO_FORMAT_H264, + WG_VIDEO_FORMAT_INDEO, + WG_VIDEO_FORMAT_MPEG1, + + WG_VIDEO_FORMAT_WMV1, + WG_VIDEO_FORMAT_WMV2, + WG_VIDEO_FORMAT_WMV3, + WG_VIDEO_FORMAT_WMVA, + WG_VIDEO_FORMAT_WVC1, };
+ struct wg_format { - wg_major_type major_type; + enum major_type + { + WG_MAJOR_TYPE_UNKNOWN = 0, + WG_MAJOR_TYPE_AUDIO, + WG_MAJOR_TYPE_VIDEO, + };
union { struct { wg_audio_format format; - + uint32_t flags; uint32_t channels; uint32_t channel_mask; /* In WinMM format. */ uint32_t rate; - } audio; - struct - { - uint32_t layer; - uint32_t rate; - uint32_t channels; - } audio_mpeg1; - struct - { - uint32_t payload_type; - uint32_t codec_data_len; - unsigned char codec_data[64]; - } audio_mpeg4; - struct - { uint32_t version; uint32_t bitrate; - uint32_t rate; uint32_t depth; - uint32_t channels; uint32_t block_align; + uint32_t layer; + uint32_t payload_type; uint32_t codec_data_len; unsigned char codec_data[64]; - } audio_wma; - + } audio; struct { wg_video_format format; + uint32_t flags; /* Positive height indicates top-down video; negative height * indicates bottom-up video. */ int32_t width, height; uint32_t fps_n, fps_d; RECT padding; - } video; - struct - { - uint32_t width; - uint32_t height; - uint32_t fps_n; - uint32_t fps_d; - } video_cinepak; - struct - { - int32_t width, height; - uint32_t fps_n, fps_d; uint32_t profile; uint32_t level; + uint32_t version; uint32_t codec_data_len; unsigned char codec_data[64]; - } video_h264; - struct - { - wg_wmv_video_format format; - int32_t width, height; - uint32_t fps_n, fps_d; - uint32_t codec_data_len; - unsigned char codec_data[64]; - } video_wmv; - struct - { - int32_t width, height; - uint32_t fps_n, fps_d; - uint32_t version; - } video_indeo; - struct - { - int32_t width, height; - uint32_t fps_n, fps_d; - } video_mpeg1; + } video; } u; };