X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=server%2Fimage.c;h=263ce07246f8cea86f1bfd53fa6624198f89ec33;hb=6bc03ca2d8356d91f05ae65122caa07f9a1b6181;hp=81c692ba2043ab6d417e6ec83daa1da23e11f38e;hpb=14d73a4af10b05dd7d4d5e22f737a3684d0515cd;p=matches%2FMCTX3420.git diff --git a/server/image.c b/server/image.c index 81c692b..263ce07 100644 --- a/server/image.c +++ b/server/image.c @@ -4,12 +4,14 @@ #include #include -void Image_Handler(FCGIContext * context, const char * params) +void Image_Handler(FCGIContext * context, char * params) { static CvCapture * capture = NULL; - if (capture == NULL) - capture = cvCreateCameraCapture(-1); - + if (capture == NULL) { + capture = cvCreateCameraCapture(0); + cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH, 640); + cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT, 480); + } static int p[] = {CV_IMWRITE_JPEG_QUALITY, 100, 0}; IplImage * frame = cvQueryFrame(capture); @@ -18,8 +20,11 @@ void Image_Handler(FCGIContext * context, const char * params) // Will this work? Log(LOGNOTE, "Sending image!"); - FCGI_PrintRaw("Content-type: image/jpg\r\n\r\n"); + FCGI_PrintRaw("Content-type: image/jpg\r\n"); + FCGI_PrintRaw("Cache-Control: no-cache, no-store, must-revalidate\r\n\r\n"); //FCGI_PrintRaw("Content-Length: %d", jpg->rows*jpg->cols); FCGI_WriteBinary(jpg->data.ptr,1,jpg->rows*jpg->cols); + cvReleaseMat(&jpg); + cvReleaseImageHeader(&frame); }