diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-04-20 21:12:08 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-04-20 21:12:08 +0100 |
| commit | aab44464cc78bec4c54d2c26448b568b52970637 (patch) | |
| tree | 55a319315766666419593051eccef73061e72af7 | |
| parent | 0d098ddf6d9406ce7eca3d363b7119b4172b28d0 (diff) | |
Remove writing of FrameInfos to disk.
| -rw-r--r-- | src/picture_asset_writer.cc | 54 | ||||
| -rw-r--r-- | src/picture_asset_writer.h | 18 | ||||
| -rw-r--r-- | test/frame_info_test.cc | 60 | ||||
| -rw-r--r-- | test/wscript | 1 |
4 files changed, 12 insertions, 121 deletions
diff --git a/src/picture_asset_writer.cc b/src/picture_asset_writer.cc index 92b384db..f31c36e2 100644 --- a/src/picture_asset_writer.cc +++ b/src/picture_asset_writer.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2013 Carl Hetherington <cth@carlh.net> + Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -31,58 +31,6 @@ using std::string; using boost::shared_ptr; using namespace libdcp; -FrameInfo::FrameInfo (istream& s) - : offset (0) - , size (0) -{ - s >> offset >> size; - - if (!s.good ()) { - /* Make sure we zero these if something bad happened, otherwise - the caller might try to alloc lots of RAM. - */ - offset = size = 0; - } - - s >> hash; -} - -FrameInfo::FrameInfo (FILE* f) -{ -#ifdef LIBDCP_WINDOWS - fscanf (f, "%I64u", &offset); - fscanf (f, "%I64u", &size); -#else - fscanf (f, "%" SCNu64, &offset); - fscanf (f, "%" SCNu64, &size); -#endif - - if (ferror (f)) { - offset = size = 0; - } - - char hash_buffer[128]; - fscanf (f, "%s", hash_buffer); - hash = hash_buffer; -} - -void -FrameInfo::write (ostream& s) const -{ - s << offset << " " << size << " " << hash; -} - -void -FrameInfo::write (FILE* f) const -{ -#ifdef LIBDCP_WINDOWS - fprintf (f, "%I64u %I64u %s", offset, size, hash.c_str ()); -#else - fprintf (f, "%" PRIu64 " %" PRIu64 " %s", offset, size, hash.c_str ()); -#endif -} - - PictureAssetWriter::PictureAssetWriter (PictureAsset* asset, bool overwrite) : _asset (asset) , _frames_written (0) diff --git a/src/picture_asset_writer.h b/src/picture_asset_writer.h index a62b20b2..d30d9a85 100644 --- a/src/picture_asset_writer.h +++ b/src/picture_asset_writer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2013 Carl Hetherington <cth@carlh.net> + Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,6 +17,9 @@ */ +#ifndef LIBDCP_PICTURE_ASSET_WRITER_H +#define LIBDCP_PICTURE_ASSET_WRITER_H + #include <stdint.h> #include <string> #include <fstream> @@ -32,18 +35,17 @@ class PictureAsset; /** Information about a single frame (either a monoscopic frame or a left *or* right eye stereoscopic frame) */ struct FrameInfo { + FrameInfo () + : offset (0) + , size (0) + {} + FrameInfo (uint64_t o, uint64_t s, std::string h) : offset (o) , size (s) , hash (h) {} - FrameInfo (std::istream& s); - FrameInfo (FILE *); - - void write (std::ostream& s) const; - void write (FILE *) const; - uint64_t offset; uint64_t size; std::string hash; @@ -77,3 +79,5 @@ protected: }; } + +#endif diff --git a/test/frame_info_test.cc b/test/frame_info_test.cc deleted file mode 100644 index db73d7fb..00000000 --- a/test/frame_info_test.cc +++ /dev/null @@ -1,60 +0,0 @@ -/* - Copyright (C) 2013 Carl Hetherington <cth@carlh.net> - - This program 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. - - This program 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 this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include <fstream> -#include <boost/test/unit_test.hpp> -#include "picture_asset_writer.h" - -using namespace std; - -/* Test writing and reading of frame_info_test with fstream and stdio */ -BOOST_AUTO_TEST_CASE (frame_info_test) -{ - libdcp::FrameInfo a (8589934592LL, 17179869184LL, "thisisahash"); - - ofstream o1 ("build/test/frame_info1"); - a.write (o1); - o1.close (); - - FILE* o2 = fopen ("build/test/frame_info2", "w"); - BOOST_CHECK (o2); - a.write (o2); - fclose (o2); - - ifstream c1 ("build/test/frame_info1"); - string s1; - getline (c1, s1); - - ifstream c2 ("build/test/frame_info2"); - string s2; - getline (c2, s2); - - BOOST_CHECK_EQUAL (s1, s2); - - ifstream l1 ("build/test/frame_info1"); - libdcp::FrameInfo b1 (l1); - - FILE* l2 = fopen ("build/test/frame_info2", "r"); - BOOST_CHECK (l2); - libdcp::FrameInfo b2 (l2); - - BOOST_CHECK_EQUAL (b1.offset, b2.offset); - BOOST_CHECK_EQUAL (b1.size, b2.size); - BOOST_CHECK_EQUAL (b1.hash, b2.hash); -} diff --git a/test/wscript b/test/wscript index 7bb68252..b5346d9c 100644 --- a/test/wscript +++ b/test/wscript @@ -29,7 +29,6 @@ def build(bld): decryption_test.cc encryption_test.cc error_test.cc - frame_info_test.cc kdm_key_test.cc kdm_test.cc lut_test.cc |
