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=.
