Internal change

PiperOrigin-RevId: 247330695
Change-Id: Icb3661c2f4241a784e35b76abb4605da8c741beb
diff --git a/CHANGES.logging b/CHANGES.logging
deleted file mode 100644
index e1db8f2..0000000
--- a/CHANGES.logging
+++ /dev/null
@@ -1,339 +0,0 @@
-change log for logging branch
-
-$Revision$
-$Date$
-
--------------------
-
-(31-jan-11, dbyron)
-
-- fix ASSERTs in win32 implementation of
-StandardFileProvider to check against _INVALID_FILE_HANDLE
-instead of NULL since that's what the constructor and close
-method use
-
-- merge r440, r441, r442, r443, r444 from trunk
-
-- fix return value of win32 implementation of
-StandardFileProvider::close
-
-- merge r439 from trunk
-
-(18-jan-11, dbyron)
-
-- add __FUNCTION__, filename to warning messages
-
-- add warning to MP4File::Modify when failing because the
-file has no moov atom
-
-- add __FUNCTION__, filename to error messages
-
-- add filename to verbose log messages in mp4descriptor.cpp
-
-- remove __FUNCTION__ from verbose log messages in
-mp4atom.cpp since it makes the dump output hard to read
-
-- add filename to descriptions passed to Log::dump
-
-- change log messages with Warning: to use Log::warningf
-
-- fix Log::hexdump to make sure output begins with format
-string/varargs instead of overwriting with ascii-hex
-
-(17-jan-11, dbyron)
-
-- change the MP4RtpData, MP4RtpNullData,
-MP4RtpImmediateData, MP4RtpSampleData,
-MP4RtpSampleDescriptionData, MP4RtpPacket, MP4RtpHint and
-MP4Track to take references instead of pointers, with
-accessors changed appropriately.
-
-(14-jan-11, dbyron)
-
-- change the MP4Descriptor constructor (and the constructors
-of all its child classes) to take a (MP4Atom &) and remove
-MP4Descriptor::SetParentAtom to remove the chance to
-dereference a NULL pointer.  Similarly for MP4Property and
-all its children.  Declare default and copy constructors and
-assignment operator private to prevent using
-compiler-generated routines.
-
-- change all Read and Write methods that took (MP4File *) to
-take a (MP4File &).
-
-- change the MP4Track, MP4RtpHintTrack constructors to take a
-(MP4File &).  Corresponding changes to MP4Track::GetFile.
-
-(13-jan-11, dbyron)
-
-- change the MP4Atom constructor to take an (MP4File &), remove
-MP4Atom::SetFile and change MP4Atom::GetFile to return an
-(MP4File &).  Change the internal member variable to an
-(MP4File &) as well.  Corresponding changes to
-MP4Atom::ReadAtom, CreateAtom, factory and child class
-constructors.  This makes it impossible to dereference a
-NULL pointer by accident.
-
-- convert messages with warning in the text to use
-Log::warningf
-
-- include __FUNCTION__ and filename in log messages in
-mp4atom.cpp
-
-(11-jan-11, dbyron)
-
-- declare Log copy constructor and assignment operator
-private but don't implement them to prohibit copies
-
-(6-jan-11, dbyron)
-
-- add mp4subtitle.vcproj to build on windows
-
-(3-jan-11, dbyron)
-
-- declare MP4File copy constructor and assignment operator
-private but don't implement them to prohibit copies
-
-- remove MP4HexDump and Indent from mp4util since they're
-not used anymore
-
-- change Log::hexDump to dump printable bytes as well as the
-hex values
-
-- remove error_msg_func_t, lib_message_func_t and
-MP4SetLibFunc from general.h since they're not used and
-don't really make sense now that MP4SetLogCallback exists
-
-- add MP4TagsHasMetadata to indicate whether a file contains
-any metadata at all
-
-(31-dec-10, dbyron)
-
-- add MP4GetFilename so the filename associated with a
-MP4FileHandle is available.  Add MP4File::GetFilename to
-support it.
-
-(27-dec-10, dbyron)
-
-- remove m_tempFileName from MP4File since it's not used
-
-- throw an exception from the win32 implementation of
-FileSystem::exists, FileSystem::isDirectory and
-FileSystem::isFile if there's an error
-
-- add logging to win32 FileSystem
-
-- add Utf8ToFilename::GetUTF8 to get the UTF-8
-representation of the filename actually used
-
-- add Utf8ToFilename::IsUTF16Valid so users of the class can
-detect errors
-
-- rename Utf8ToWideChar to Utf8ToFilename to more accurately
-reflect what the class does
-
-- replace MultiByteToWideChar with custom code to remove
-differences across versions of windows and for improved
-error detection and illegal character handling
-
-- add long filename support to Utf8ToWideChar
-
-(21-dec-10, dbyron)
-
-- add logging to win32 StandardFileProvider
-
-(20-dec-10, dbyron)
-
-- make try/catch blocks more granular in MP4Read,
-MP4ReadProvider, MP4Create, MP4CreateEx, MP4Modify,
-MP4Optimize, MP4Make3GPCompliant, MP4MakeIsmaCompliant,
-MP4MakeIsmaSdpIod so it's easier to figure out the cause of
-failure based on the log message.
-
-- log more specific messages, clean up leak if there's an
-error adding the IpodUUID atom in MP4AddIPodUUID
-
-- remove MP4_DETAILS_* as it was only used in a few internal
-places where an MP4_LOG_* replacement is fine until the
-verbosity-altering code disappears.  For some reason
-MP4File::MakeIsmaCompliant alters the verbosity before
-calling MP4GetVideoProfileLevel, MP4IsIsmaCrypMediaTrack
-does the same before calling MP4File::IsIsmaCrypMediaTrack,
-as does MP4CloneTrack before calling
-MP4GetTrackESConfiguration.
-
-- change command line programs to map debug levels as
-follows:
-  0: MP4_LOG_NONE
-  1: MP4_LOG_ERROR
-  2, 3: MP4_LOG_VERBOSE2
-  4: MP4_LOG_VERBOSE4
-
-- change MP4NormalizeTrackType (an internal function) to
-always use MP4_LOG_VERBOSE1.
-
-- another fix to Log::hexDump so that it now actually dumps
-all the bytes it was asked to dump
-
-- MP4File is no longer a child of Log.  Use the global log
-object everywhere.
-
-- remove the verbosity argument to MP4Read, MP4ReadProvider,
-MP4Create and MP4CreateEx, MP4Modify, MP4Optimize,
-MP4MakeIsmaCompliant, MP4MakeIsmaSdpIod, MP4Make3GPCompliant
-and MP4NormalizeTrackType.  Remove MP4GetVerbosity,
-MP4SetVerbosity and MP4Atom::GetVerbosity.  Use
-MP4LogSetLevel to change the global log level instead.
-There is no more file-specific verbosity since it is more
-complicated than one global log level and it's not clear
-anyone needs the added complexity.
-
-- remove the MP4FileHandle argument to MP4LogSetLevel and
-MP4LogGetLevel and move them to general.h/log.cpp since
-they're no longer file-specific.  The default log level is
-MP4_LOG_WARNING without any call to MP4LogSetLevel.
-
-- change MP4BytesProperty::Dump to use Log::hexDump for
-large (> 16) byte hex output
-
-- remove the FILE* argument from MP4Dump, the internal Dump
-methods (e.g. MP4File::Dump, MP4Atom::Dump,
-MP4Property::Dump, etc.).  Use Log::dump instead.
-
-- remove Indent from mp4util since it may pollute
-stdout/stderr
-
-- add Log::dump, Log::vdump to support dumping with a
-particular indent
-
-- fix Log::hexDump to print the correct ascii-hex info
-
-(17-dec-10, dbyron)
-
-- remove C_ASSERT from mp4util.h since it's not used
-
-- remove MP4Printf to keep from writing to stdout when
-logging
-
-(7-jun-09, dbyron)
-
-- add MP4LogGetLevel, MP4LogSetLevel
-
-(5-jun-09, dbyron)
-
-- change return value of MP4DeleteTrack,
-MP4SetTrackTimeScale, MP4GetTrackH264SeqPictHeaders from
-void to bool
-
-- change MP4AddIPodUUID to return bool, check for valid
-hFile and catch exceptions
-
-- check for NULL existingFileName, newFileName in
-MP4Optimize
-
-- check for NULL fileName in MP4ReadProvider, MP4CreateEx,
-MP4Modify, MP4Make3GPCompliant, MP4MakeIsmaCompliant
-
-- properly handle NULL pFile when catching Exception
-
-- check for NULL parameters in genericAddItem,
-genericSetItem, genericRemoveItem
-
-- change signature of C wrappers to return bool and check
-for NULL parameters:
-  - MP4TagsAddArtwork
-  - MP4TagsFetch
-  - MP4TagsRemoveArtwork
-  - MP4TagsSetArtwork
-  - MP4TagsStore
-  - MP4TagsSetName
-  - MP4TagsSetArtist
-  - MP4TagsSetAlbumArtist
-  - MP4TagsSetAlbum
-  - MP4TagsSetGrouping
-  - MP4TagsSetComposer(
-  - MP4TagsSetComments
-  - MP4TagsSetGenre
-  - MP4TagsSetGenreType
-  - MP4TagsSetReleaseDate
-  - MP4TagsSetTrack
-  - MP4TagsSetDisk
-  - MP4TagsSetTempo
-  - MP4TagsSetCompilation
-  - MP4TagsSetTVShow
-  - MP4TagsSetTVNetwork
-  - MP4TagsSetTVEpisodeID
-  - MP4TagsSetTVSeason
-  - MP4TagsSetTVEpisode
-  - MP4TagsSetSortName
-  - MP4TagsSetSortArtist
-  - MP4TagsSetSortAlbumArtist
-  - MP4TagsSetSortAlbum
-  - MP4TagsSetSortComposer
-  - MP4TagsSetSortTVShow
-  - MP4TagsSetDescription
-  - MP4TagsSetLongDescription
-  - MP4TagsSetLyrics
-  - MP4TagsSetCopyright
-  - MP4TagsSetEncodingTool
-  - MP4TagsSetEncodedBy
-  - MP4TagsSetPurchaseDate
-  - MP4TagsSetPodcast
-  - MP4TagsSetKeywords
-  - MP4TagsSetCategory
-  - MP4TagsSetHDVideo
-  - MP4TagsSetMediaType
-  - MP4TagsSetContentRating
-  - MP4TagsSetGapless
-  - MP4TagsSetITunesAccount
-  - MP4TagsSetITunesAccountType
-  - MP4TagsSetITunesCountry
-  - MP4TagsSetCNID
-  - MP4TagsSetATID
-  - MP4TagsSetPLID
-  - MP4TagsSetGEID
-
-- add catch( ... ) blocks to C wrapper functions
-
-- add static void errorf ( Log            *olog,
-                           const char     *format,
-                           ... ) MP4V2_WFORMAT_PRINTF(3,4);
-
-- add static void errorf ( Log                    *olog,
-                           const Exception        &x );
-- remove MP4Exception, replace with Exception
-
-- change MP4File::ProtectWriteOperation to take file, line,
-function instead of one "where" string.
-
-- change exception catching code to call Log::errorf();
-
-- remove VERBOSE, VERBOSE_ERROR from mp4util.h
-
-- remove MP4Error, replace with Exception, PlatformException
-as appropriate
-
-- add Exception class and Log::errorf( const Exception &x );
-
-(16-feb-09, dbyron)
-
-- First pass of actually using the Log class:
-
-  - MP4LogNone --> MP4_LOG_NONE
-  - add global log object (log, declared in log.h)
-  - change MP4File to inherit from Log
-    - remove m_verbosity member variable
-    - remove MP4File::GetVerbosity, SetVerbosity methods
-  - change MP4NormalizeTrackType to take MP4LogLevel
-  - replace VERBOSE_* with corresponding Log method calls
-  (VERBOSE_ERROR remains until exception handling gets
-  revisited)
-  - change WARNING macro to take a Log object as the first
-  argument
-  - add Log::hexDump to mostly replace MP4HexDump (though
-  MP4HexDump is still called if there's no logging callback)
-  - fix MP4_DETAILS_ALL handling in Log::detailsToLevel
-  - add uint32_t Log::getVerbosity() const
-  - add Log::hexDump
-  - add uint32_t Log::getVerbosity
-  - add Log::verbose3f, verbose4f
diff --git a/CHANGES.md b/CHANGES.md
index 220c1ef..a55e763 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,19 @@
-cl/139269315 : Several adoptions for std::string and compiler error fixes for
-               Android & iOS.
-cl/139403250 : Fix for reading local files.
+Initial check-in with these changes from the forked library:
+- Several adoptions for std::string and compiler error fixes for Android & iOS.
+- Fix for reading local files.
+- Fix for reading samples from file.
+- Adds std:: to stl types (#061)
+- Fix memory leak caused by calling MP4Modify(). This is caused by a "free" atom
+  getting removed without de-allocating.
+- Fix rounding issue in mp4util.cpp.
+- Support reading mp4 container structure from file offset.
+- Fix offset handling.
+- Add CAMM atom to mp4v2.
+- Create MP4 with CAMM and video using mp4v2.
+- Add an MP4FileProvider that uses URLProtocol to do IO to the MediaDecoder
+  class.
+- Add instructions for environment variable setup for mp4v2 muxer.
+- Supports muxing a list of frames.
+- Changes the type of lat/lng/altitude in case 5 from float to double.
+- Adds MP4_CREATE_64BIT_DATA to MP4Create, so that it can handle large files.
+- Fix calls to std::string::operator=.