From 054cc86d5ba734c72780b07a772a55e3a7000a4f Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 23 Jan 2014 00:16:28 +0000 Subject: Fix fake-writing of 3D. --- asdcplib/src/AS_DCP_JP2K.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'asdcplib/src/AS_DCP_JP2K.cpp') diff --git a/asdcplib/src/AS_DCP_JP2K.cpp b/asdcplib/src/AS_DCP_JP2K.cpp index 903b2e85..05166d68 100755 --- a/asdcplib/src/AS_DCP_JP2K.cpp +++ b/asdcplib/src/AS_DCP_JP2K.cpp @@ -1197,6 +1197,23 @@ public: return lh__Writer::WriteFrame(FrameBuf, false, Ctx, HMAC, hash); } + Result_t FakeWriteFrame(int size, StereoscopicPhase_t phase) + { + if (m_NextPhase != phase) + { + return RESULT_SPHASE; + } + + if (phase == SP_LEFT) + { + m_NextPhase = SP_RIGHT; + return lh__Writer::FakeWriteFrame(size, true); + } + + m_NextPhase = SP_LEFT; + return lh__Writer::FakeWriteFrame(size, false); + } + // Result_t Finalize() { @@ -1338,12 +1355,12 @@ ASDCP::JP2K::MXFSWriter::WriteFrame(const FrameBuffer& FrameBuf, StereoscopicPha } ASDCP::Result_t -ASDCP::JP2K::MXFSWriter::FakeWriteFrame(int size) +ASDCP::JP2K::MXFSWriter::FakeWriteFrame(int size, StereoscopicPhase_t phase) { if ( m_Writer.empty() ) return RESULT_INIT; - return m_Writer->FakeWriteFrame(size, true); + return m_Writer->FakeWriteFrame(size, phase); } // Closes the MXF file, writing the index and other closing information. -- cgit v1.2.3