blob: e1db8f218d2a22dfda9a55f208f970ee2c4d15d0 [file] [log] [blame]
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