From 3c88524c9a2418d6d2d8b8eac29737c95b9a7411 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 21 Apr 2015 10:33:10 +0100 Subject: [PATCH] Remove FrameInfo serialization and give it a default constructor. --- src/picture_mxf_writer.cc | 51 -------------------------------- src/picture_mxf_writer.h | 11 ++++--- test/frame_info_test.cc | 61 --------------------------------------- test/wscript | 1 - 4 files changed, 5 insertions(+), 119 deletions(-) delete mode 100644 test/frame_info_test.cc diff --git a/src/picture_mxf_writer.cc b/src/picture_mxf_writer.cc index 46426401..42fa614c 100644 --- a/src/picture_mxf_writer.cc +++ b/src/picture_mxf_writer.cc @@ -31,57 +31,6 @@ using std::string; using boost::shared_ptr; using namespace dcp; -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 -} - PictureMXFWriter::PictureMXFWriter (PictureMXF* mxf, boost::filesystem::path file, Standard standard, bool overwrite) : MXFWriter (mxf, file) , _picture_mxf (mxf) diff --git a/src/picture_mxf_writer.h b/src/picture_mxf_writer.h index d1baa7ad..6626f8b8 100644 --- a/src/picture_mxf_writer.h +++ b/src/picture_mxf_writer.h @@ -42,18 +42,17 @@ class PictureMXF; */ 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; diff --git a/test/frame_info_test.cc b/test/frame_info_test.cc deleted file mode 100644 index 02ff83aa..00000000 --- a/test/frame_info_test.cc +++ /dev/null @@ -1,61 +0,0 @@ -/* - Copyright (C) 2013 Carl Hetherington - - 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 -#include -#include "picture_mxf.h" -#include "picture_mxf_writer.h" - -using namespace std; - -/* Test writing and reading of frame_info_test with fstream and stdio */ -BOOST_AUTO_TEST_CASE (frame_info_test) -{ - dcp::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"); - dcp::FrameInfo b1 (l1); - - FILE* l2 = fopen ("build/test/frame_info2", "r"); - BOOST_CHECK (l2); - dcp::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 09bcb132..15d6fa07 100644 --- a/test/wscript +++ b/test/wscript @@ -36,7 +36,6 @@ def build(bld): encryption_test.cc exception_test.cc fraction_test.cc - frame_info_test.cc interop_load_font_test.cc local_time_test.cc kdm_test.cc -- 2.30.2