diff --git a/modules/videoio/src/cap_dshow.cpp b/modules/videoio/src/cap_dshow.cpp index d80e13a7b5..afabe0a194 100644 --- a/modules/videoio/src/cap_dshow.cpp +++ b/modules/videoio/src/cap_dshow.cpp @@ -2496,7 +2496,10 @@ static void findClosestSizeAndSubtype(videoDevice * VD, int widthIn, int heightI int tempH = 999999; //Don't want to get stuck in a loop - if(stepX < 1 || stepY < 1) continue; + if(stepX < 1 || stepY < 1){ + MyDeleteMediaType(pmtConfig); + continue; + } //DebugPrintOut("min is %i %i max is %i %i - res is %i %i\n", scc.MinOutputSize.cx, scc.MinOutputSize.cy, scc.MaxOutputSize.cx, scc.MaxOutputSize.cy, stepX, stepY); //DebugPrintOut("min frame duration is %i max duration is %i\n", scc.MinFrameInterval, scc.MaxFrameInterval);