annotate Plugins/Input/aac/libmp4v2/atom_free.cpp @ 201:f2dc045d2327 trunk

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