diff options
Diffstat (limited to 'debian/mp4v2/mp4v2-2.0.0~dfsg0/libutil/other.cpp')
-rw-r--r-- | debian/mp4v2/mp4v2-2.0.0~dfsg0/libutil/other.cpp | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/debian/mp4v2/mp4v2-2.0.0~dfsg0/libutil/other.cpp b/debian/mp4v2/mp4v2-2.0.0~dfsg0/libutil/other.cpp deleted file mode 100644 index 698b5888..00000000 --- a/debian/mp4v2/mp4v2-2.0.0~dfsg0/libutil/other.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -// The contents of this file are subject to the Mozilla Public License -// Version 1.1 (the "License"); you may not use this file except in -// compliance with the License. You may obtain a copy of the License at -// http://www.mozilla.org/MPL/ -// -// Software distributed under the License is distributed on an "AS IS" -// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the -// License for the specific language governing rights and limitations -// under the License. -// -// The Original Code is MP4v2. -// -// The Initial Developer of the Original Code is Kona Blend. -// Portions created by Kona Blend are Copyright (C) 2008. -// All Rights Reserved. -// -// Contributors: -// Kona Blend, kona8lend@@gmail.com -// -/////////////////////////////////////////////////////////////////////////////// - -#include "libutil/impl.h" - -namespace mp4v2 { namespace util { - using namespace mp4v2::impl; - -/////////////////////////////////////////////////////////////////////////////// - -// search atom recursively for any 64-bit characteristics. -// nlargsize indicates number of atoms which use largesize extension. -// nversion1 indicates number of atoms which use version==1 extension. -// nspecial indicates number of special 64-bit atoms; -// eg: stbl may container one of { stco || co64 } for chunkoffsets. - -void -searchFor64bit( MP4Atom& atom, FileSummaryInfo& info ) -{ - const uint32_t max = atom.GetNumberOfChildAtoms(); - for( uint32_t i = 0; i < max; i++ ) { - MP4Atom& child = *atom.GetChildAtom( i ); - - if( child.GetLargesizeMode() ) - info.nlargesize++; - - MP4Integer8Property* version; - if( child.FindProperty( "version", (MP4Property**)&version ) && version->GetValue() == 1 ) - info.nversion1++; - - if( !strcmp( child.GetType(), "co64" )) - info.nspecial++; - - searchFor64bit( child, info ); - } -} - -/////////////////////////////////////////////////////////////////////////////// - -bool -fileFetchSummaryInfo( MP4FileHandle file, FileSummaryInfo& info ) -{ - if( file == MP4_INVALID_FILE_HANDLE ) - return true; - MP4File& mp4 = *((MP4File*)file); - - MP4Atom* root = mp4.FindAtom( "" ); - if( !root ) - return true; - - MP4FtypAtom* ftyp = (MP4FtypAtom*)root->FindAtom( "ftyp" ); - if( !ftyp ) - return true; - - info.major_brand = ftyp->majorBrand.GetValue(); - info.minor_version = ftyp->minorVersion.GetValue(); - - const uint32_t cbmax = ftyp->compatibleBrands.GetCount(); - for( uint32_t i = 0; i < cbmax; i++ ) { - string s = ftyp->compatibleBrands.GetValue( i ); - - // remove spaces so brand set is presentable - string stripped; - const string::size_type max = s.length(); - for( string::size_type pos = 0; pos < max; pos++ ) { - if( s[pos] != ' ' ) - stripped += s[pos]; - } - - if( stripped.empty() ) - continue; - - info.compatible_brands.insert( stripped ); - } - - info.nlargesize = 0; - info.nversion1 = 0; - info.nspecial = 0; - searchFor64bit( *root, info ); - - return false; -} - -/////////////////////////////////////////////////////////////////////////////// - -}} // namespace mp4v2::util |