61
|
1 /*
|
|
2 * The contents of this file are subject to the Mozilla Public
|
|
3 * License Version 1.1 (the "License"); you may not use this file
|
|
4 * except in compliance with the License. You may obtain a copy of
|
|
5 * the License at http://www.mozilla.org/MPL/
|
|
6 *
|
|
7 * Software distributed under the License is distributed on an "AS
|
|
8 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
9 * implied. See the License for the specific language governing
|
|
10 * rights and limitations under the License.
|
|
11 *
|
|
12 * The Original Code is MPEG4IP.
|
|
13 *
|
|
14 * The Initial Developer of the Original Code is Cisco Systems Inc.
|
|
15 * Portions created by Cisco Systems Inc. are
|
|
16 * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved.
|
|
17 *
|
|
18 * Contributor(s):
|
|
19 * Dave Mackie dmackie@cisco.com
|
|
20 */
|
|
21
|
|
22 #include "mp4common.h"
|
|
23
|
|
24 MP4FreeAtom::MP4FreeAtom()
|
|
25 : MP4Atom("free")
|
|
26 {
|
|
27 }
|
|
28
|
|
29 void MP4FreeAtom::Read()
|
|
30 {
|
|
31 Skip();
|
|
32 }
|
|
33
|
|
34 void MP4FreeAtom::Write()
|
|
35 {
|
|
36 ASSERT(m_pFile);
|
|
37
|
|
38 bool use64 = (GetSize() > (0xFFFFFFFF - 8));
|
|
39 BeginWrite(use64);
|
|
40 #if 1
|
|
41 for (uint64_t ix = 0; ix < GetSize(); ix++) {
|
|
42 m_pFile->WriteUInt8(0);
|
|
43 }
|
|
44 #else
|
|
45 m_pFile->SetPosition(m_pFile->GetPosition() + GetSize());
|
|
46 #endif
|
|
47 FinishWrite(use64);
|
|
48 }
|
|
49
|