diff options
author | deva <deva> | 2006-03-04 14:53:17 +0000 |
---|---|---|
committer | deva <deva> | 2006-03-04 14:53:17 +0000 |
commit | f02095ee5ceb78f1781a9e250693b8866ca42181 (patch) | |
tree | 7953c6b5f004f31ee9b340d7cdff5e85890594fc /server/dvfile.cc | |
parent | 71c713dce2b5128862b293aa7fcc1d7ee89ffaf1 (diff) |
*** empty log message ***
Diffstat (limited to 'server/dvfile.cc')
-rw-r--r-- | server/dvfile.cc | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/server/dvfile.cc b/server/dvfile.cc new file mode 100644 index 0000000..7d83255 --- /dev/null +++ b/server/dvfile.cc @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/*************************************************************************** + * dvfile.cc + * + * Thu Jul 28 17:30:48 CEST 2005 + * Copyright 2005 Bent Bisballe + * deva@aasimon.org + ****************************************************************************/ + +/* + * This file is part of MIaV. + * + * MIaV is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MIaV is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with MIaV; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ +#include "config.h" +#include "dvfile.h" + +#include "dv.h" +#include "util.h" + +dvfile::dvfile(Info* i) +{ + info = i; + fp = fopen(TEST_MOVIE, "r"); + if(!fp) info->error("Couldn't open %s for reading.", TEST_MOVIE); +} + +dvfile::~dvfile() +{ + fclose(fp); +} + +unsigned char *dvfile::readFrame() +{ + unsigned char *frame = new unsigned char[DVPACKAGE_SIZE]; + + sleep_1_frame(); + + if(fp) { + while(fread(frame, DVPACKAGE_SIZE, 1, fp) == 0) { + fseek(fp, 0L, SEEK_SET); + } + } else { + memset(frame, 0, sizeof(frame)); + } + + return frame; +} |