Update of /cvsroot/artoolkit/artoolkit/lib/SRC/VideoMacOSX
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20054
Modified Files:
video.c
Log Message:
Fix long-standing bug when CapStart is called after CapStop.
Index: video.c
===================================================================
RCS file: /cvsroot/artoolkit/artoolkit/lib/SRC/VideoMacOSX/video.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** video.c 18 Aug 2005 18:23:00 -0000 1.11
--- video.c 30 Aug 2005 20:46:42 -0000 1.12
***************
*** 1621,1630 ****
vid->status = 0;
! if (err = vdgStartGrabbing(vid->pVdg, vid->scaleMatrixPtr)) {
! fprintf(stderr, "vdgStartGrabbing err=%ld\n", err);
! err_i = (int)err;
}
!
#ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME
// Release our hold on the QuickTime toolbox.
--- 1621,1638 ----
vid->status = 0;
+ if (!vid->pVdg->isPreflighted) {
+ if (err = vdgPreflightGrabbing(vid->pVdg)) {
+ fprintf(stderr, "ar2VideoCapStart(): vdgPreflightGrabbing err=%ld\n", err);
+ err_i = (int)err;
+ }
+ }
! if (err_i == 0) {
! if (err = vdgStartGrabbing(vid->pVdg, vid->scaleMatrixPtr)) {
! fprintf(stderr, "ar2VideoCapStart(): vdgStartGrabbing err=%ld\n", err);
! err_i = (int)err;
! }
}
!
#ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME
// Release our hold on the QuickTime toolbox.
***************
*** 1676,1679 ****
--- 1684,1688 ----
}
vid->threadRunning = 0;
+ vid->thread = NULL;
// Exit status is ((exit_status_p == AR_PTHREAD_CANCELLED) ? 0 : *(ERROR_t *)(exit_status_p))
***************
*** 1697,1700 ****
--- 1706,1711 ----
err_i = (int)err;
}
+ vid->status = 0;
+ vid->pVdg->isPreflighted = 0;
#ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME
|