Commit 3178f1d0 authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

winegstreamer: Use accessor macros for GstVideoInfo fields.

As the documentation prescribes. Signed-off-by: 's avatarZebediah Figura <zfigura@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 57492f55
...@@ -176,15 +176,13 @@ static gboolean amt_from_gst_caps_video_raw(const GstCaps *caps, AM_MEDIA_TYPE * ...@@ -176,15 +176,13 @@ static gboolean amt_from_gst_caps_video_raw(const GstCaps *caps, AM_MEDIA_TYPE *
{ {
VIDEOINFOHEADER *vih; VIDEOINFOHEADER *vih;
BITMAPINFOHEADER *bih; BITMAPINFOHEADER *bih;
gint32 width, height, nom, denom; gint32 width, height;
GstVideoInfo vinfo; GstVideoInfo vinfo;
if (!gst_video_info_from_caps (&vinfo, caps)) if (!gst_video_info_from_caps (&vinfo, caps))
return FALSE; return FALSE;
width = vinfo.width; width = GST_VIDEO_INFO_WIDTH(&vinfo);
height = vinfo.height; height = GST_VIDEO_INFO_HEIGHT(&vinfo);
nom = vinfo.fps_n;
denom = vinfo.fps_d;
vih = CoTaskMemAlloc(sizeof(*vih)); vih = CoTaskMemAlloc(sizeof(*vih));
bih = &vih->bmiHeader; bih = &vih->bmiHeader;
...@@ -201,7 +199,7 @@ static gboolean amt_from_gst_caps_video_raw(const GstCaps *caps, AM_MEDIA_TYPE * ...@@ -201,7 +199,7 @@ static gboolean amt_from_gst_caps_video_raw(const GstCaps *caps, AM_MEDIA_TYPE *
if (GST_VIDEO_INFO_IS_RGB(&vinfo)) if (GST_VIDEO_INFO_IS_RGB(&vinfo))
{ {
switch (vinfo.finfo->format) switch (GST_VIDEO_INFO_FORMAT(&vinfo))
{ {
case GST_VIDEO_FORMAT_BGRA: case GST_VIDEO_FORMAT_BGRA:
amt->subtype = MEDIASUBTYPE_ARGB32; amt->subtype = MEDIASUBTYPE_ARGB32;
...@@ -224,14 +222,15 @@ static gboolean amt_from_gst_caps_video_raw(const GstCaps *caps, AM_MEDIA_TYPE * ...@@ -224,14 +222,15 @@ static gboolean amt_from_gst_caps_video_raw(const GstCaps *caps, AM_MEDIA_TYPE *
bih->biBitCount = 16; bih->biBitCount = 16;
break; break;
default: default:
FIXME("Unhandled type %s.\n", vinfo.finfo->name); FIXME("Unhandled type %s.\n", GST_VIDEO_INFO_NAME(&vinfo));
CoTaskMemFree(vih); CoTaskMemFree(vih);
return FALSE; return FALSE;
} }
bih->biCompression = BI_RGB; bih->biCompression = BI_RGB;
} else { } else {
amt->subtype = MEDIATYPE_Video; amt->subtype = MEDIATYPE_Video;
if (!(amt->subtype.Data1 = gst_video_format_to_fourcc(vinfo.finfo->format))) { if (!(amt->subtype.Data1 = gst_video_format_to_fourcc(GST_VIDEO_INFO_FORMAT(&vinfo))))
{
CoTaskMemFree(vih); CoTaskMemFree(vih);
return FALSE; return FALSE;
} }
...@@ -248,7 +247,8 @@ static gboolean amt_from_gst_caps_video_raw(const GstCaps *caps, AM_MEDIA_TYPE * ...@@ -248,7 +247,8 @@ static gboolean amt_from_gst_caps_video_raw(const GstCaps *caps, AM_MEDIA_TYPE *
bih->biCompression = amt->subtype.Data1; bih->biCompression = amt->subtype.Data1;
} }
bih->biSizeImage = width * height * bih->biBitCount / 8; bih->biSizeImage = width * height * bih->biBitCount / 8;
if ((vih->AvgTimePerFrame = (REFERENCE_TIME)MulDiv(10000000, denom, nom)) == -1) if ((vih->AvgTimePerFrame = (REFERENCE_TIME)MulDiv(10000000,
GST_VIDEO_INFO_FPS_D(&vinfo), GST_VIDEO_INFO_FPS_N(&vinfo))) == -1)
vih->AvgTimePerFrame = 0; /* zero division or integer overflow */ vih->AvgTimePerFrame = 0; /* zero division or integer overflow */
bih->biSize = sizeof(*bih); bih->biSize = sizeof(*bih);
bih->biWidth = width; bih->biWidth = width;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment