matroxsrc: error out on buffer allocation failure

This commit is contained in:
Joshua M. Doe 2017-05-09 14:56:09 -04:00
parent 55e2881006
commit 93b9f870ce

View File

@ -459,9 +459,7 @@ gst_matroxsrc_start (GstBaseSrc * bsrc)
src->height = vinfo.height; src->height = vinfo.height;
src->gst_stride = GST_VIDEO_INFO_COMP_STRIDE (&vinfo, 0); src->gst_stride = GST_VIDEO_INFO_COMP_STRIDE (&vinfo, 0);
if (src->MilGrabBufferList) { g_assert (src->MilGrabBufferList == NULL);
g_free (src->MilGrabBufferList);
}
src->MilGrabBufferList = g_new (MIL_ID, src->num_capture_buffers); src->MilGrabBufferList = g_new (MIL_ID, src->num_capture_buffers);
for (i = 0; i < src->num_capture_buffers; i++) { for (i = 0; i < src->num_capture_buffers; i++) {
if (src->color_mode == M_MONOCHROME) { if (src->color_mode == M_MONOCHROME) {
@ -479,7 +477,9 @@ gst_matroxsrc_start (GstBaseSrc * bsrc)
if (src->MilGrabBufferList[i]) { if (src->MilGrabBufferList[i]) {
MbufClear (src->MilGrabBufferList[i], 0xFF); MbufClear (src->MilGrabBufferList[i], 0xFF);
} else { } else {
break; GST_ELEMENT_ERROR (src, RESOURCE, FAILED,
("Failed to allocate a MIL buffer"), (NULL));
return FALSE;
} }
} }