dshowvideosink: don't crash on invalid AM_MEDIA_TYPE

This commit is contained in:
David Hoyt 2010-02-01 16:26:36 -08:00 committed by Michael Smith
parent 80b3d80a58
commit 584ac24ba0

View file

@ -521,8 +521,15 @@ gst_dshowvideosink_window_thread (GstDshowVideoSink * sink)
* of the video.
*/
RECT rect;
VIDEOINFOHEADER *vi = (VIDEOINFOHEADER *)sink->mediatype.pbFormat;
AM_MEDIA_TYPE pmt = (AM_MEDIA_TYPE)sink->mediatype;
VIDEOINFOHEADER *vi = (VIDEOINFOHEADER *)pmt.pbFormat;
if (vi == NULL)
{
GST_ELEMENT_ERROR (sink, RESOURCE, NOT_FOUND, ("Unknown media format"), (NULL));
return NULL;
}
/* rcTarget is the aspect-ratio-corrected size of the video. */
width = vi->rcTarget.right + GetSystemMetrics (SM_CXSIZEFRAME) * 2;
height = vi->rcTarget.bottom + GetSystemMetrics (SM_CYCAPTION) +