CvVideoWriter* cvCreateVideoWriter_GStreamer( const char* filename ) { CvVideoWriter_GStreamer *writer; unsigned offset = 0; char *name = icvExtractPattern(filename, &offset); if(!name) return 0; char str[100]; char *x = str; int size = 100; while(snprintf(x, size, name, 0) == size - 1) { size *= 2; if(x == str) x = (char *)malloc(size); else x = (char *)realloc(x, size); } if(!cvHaveImageWriter(x)) { if(x != str) free(x); return 0; } if(x != str) free(x); writer = (CvVideoWriter_GStreamer *)cvAlloc(sizeof(CvCapture_GStreamer)); memset(writer, 0, sizeof(CvVideoWriter_GStreamer)); writer->filename = strdup(name); writer->currentframe = offset; return (CvVideoWriter *)writer; }
bool CvVideoWriter_Images::open(const char* _filename) { unsigned offset = 0; close(); filename = icvExtractPattern(_filename, &offset); if (!filename) { return false; } char str[_MAX_PATH]; sprintf(str, filename, 0); if (!cvHaveImageWriter(str)) { close(); return false; } currentframe = offset; return true; }