forked from TechSmith/mp4v2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.logging
339 lines (251 loc) · 10.1 KB
/
CHANGES.logging
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
change log for logging branch
$Revision: 453 $
$Date: 2011-02-03 16:46:27 -0500 (Thu, 03 Feb 2011) $
-------------------
(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