X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=server%2Fimage.c;h=1d352647d71adabdb7996de491b21525619484a4;hb=132ca89053ac9d8f3f88b79bd5d5b3469e354afc;hp=a24d09179543325846dd3ceca672f5e232f15dbf;hpb=45e03410e1c3e3046af87c210ba13e330edec59d;p=matches%2FMCTX3420.git diff --git a/server/image.c b/server/image.c index a24d091..1d35264 100644 --- a/server/image.c +++ b/server/image.c @@ -4,7 +4,8 @@ #include #include -CvCapture *captures[2] = {0}; +CvCapture *capture; +int captureID = -1; void Image_Handler(FCGIContext * context, char * params) { @@ -24,10 +25,12 @@ void Image_Handler(FCGIContext * context, char * params) return; } - CvCapture *capture = captures[num]; - if (capture == NULL) { + if (captureID != num) { + if (captureID >= 0) { + cvReleaseCapture(&capture); + } capture = cvCreateCameraCapture(num); - captures[num] = capture; + captureID = num; } cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH, width);