Update libaaf to v1.0-10-g13f0b0a
This commit is contained in:
parent
da4218c2db
commit
4883867f2b
@ -43,13 +43,13 @@
|
|||||||
#include "aaf/AAFClass.h"
|
#include "aaf/AAFClass.h"
|
||||||
|
|
||||||
#define debug(...) \
|
#define debug(...) \
|
||||||
AAF_LOG (aafd->log, aafd, DEBUG_SRC_ID_AAF_CORE, VERB_DEBUG, __VA_ARGS__)
|
AAF_LOG (aafd->log, aafd, LOG_SRC_ID_AAF_CORE, VERB_DEBUG, __VA_ARGS__)
|
||||||
|
|
||||||
#define warning(...) \
|
#define warning(...) \
|
||||||
AAF_LOG (aafd->log, aafd, DEBUG_SRC_ID_AAF_CORE, VERB_WARNING, __VA_ARGS__)
|
AAF_LOG (aafd->log, aafd, LOG_SRC_ID_AAF_CORE, VERB_WARNING, __VA_ARGS__)
|
||||||
|
|
||||||
#define error(...) \
|
#define error(...) \
|
||||||
AAF_LOG (aafd->log, aafd, DEBUG_SRC_ID_AAF_CORE, VERB_ERROR, __VA_ARGS__)
|
AAF_LOG (aafd->log, aafd, LOG_SRC_ID_AAF_CORE, VERB_ERROR, __VA_ARGS__)
|
||||||
|
|
||||||
#define attachNewProperty(aafd, Class, Prop, Pid, IsReq) \
|
#define attachNewProperty(aafd, Class, Prop, Pid, IsReq) \
|
||||||
Prop = calloc (1, sizeof (aafPropertyDef)); \
|
Prop = calloc (1, sizeof (aafPropertyDef)); \
|
||||||
@ -162,8 +162,6 @@ aafclass_setDefaultClasses (AAF_Data* aafd)
|
|||||||
{
|
{
|
||||||
aafPropertyDef* prop = NULL;
|
aafPropertyDef* prop = NULL;
|
||||||
|
|
||||||
/* TODO test ENOMEM after each class alloc */
|
|
||||||
|
|
||||||
aafClass* IOC = aafclass_defineNewClass (aafd, &AAFClassID_InterchangeObject, ABSTRACT, NULL);
|
aafClass* IOC = aafclass_defineNewClass (aafd, &AAFClassID_InterchangeObject, ABSTRACT, NULL);
|
||||||
|
|
||||||
if (IOC == NULL) {
|
if (IOC == NULL) {
|
||||||
|
@ -39,13 +39,13 @@
|
|||||||
#include "aaf/utils.h"
|
#include "aaf/utils.h"
|
||||||
|
|
||||||
#define debug(...) \
|
#define debug(...) \
|
||||||
AAF_LOG (aafd->log, aafd, DEBUG_SRC_ID_AAF_CORE, VERB_DEBUG, __VA_ARGS__)
|
AAF_LOG (aafd->log, aafd, LOG_SRC_ID_AAF_CORE, VERB_DEBUG, __VA_ARGS__)
|
||||||
|
|
||||||
#define warning(...) \
|
#define warning(...) \
|
||||||
AAF_LOG (aafd->log, aafd, DEBUG_SRC_ID_AAF_CORE, VERB_WARNING, __VA_ARGS__)
|
AAF_LOG (aafd->log, aafd, LOG_SRC_ID_AAF_CORE, VERB_WARNING, __VA_ARGS__)
|
||||||
|
|
||||||
#define error(...) \
|
#define error(...) \
|
||||||
AAF_LOG (aafd->log, aafd, DEBUG_SRC_ID_AAF_CORE, VERB_ERROR, __VA_ARGS__)
|
AAF_LOG (aafd->log, aafd, LOG_SRC_ID_AAF_CORE, VERB_ERROR, __VA_ARGS__)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loops through each aafStrongRefSetEntry_t of a StrongRefSet Index node stream.
|
* Loops through each aafStrongRefSetEntry_t of a StrongRefSet Index node stream.
|
||||||
|
@ -45,7 +45,7 @@ aaf_dump_Header (AAF_Data* aafd, const char* padding)
|
|||||||
|
|
||||||
LOG_BUFFER_WRITE (log, "\n\n");
|
LOG_BUFFER_WRITE (log, "\n\n");
|
||||||
|
|
||||||
log->debug_callback (log, (void*)aafd, DEBUG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
log->log_callback (log, (void*)aafd, LOG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -65,7 +65,7 @@ aaf_dump_Identification (AAF_Data* aafd, const char* padding)
|
|||||||
|
|
||||||
LOG_BUFFER_WRITE (log, "\n\n");
|
LOG_BUFFER_WRITE (log, "\n\n");
|
||||||
|
|
||||||
log->debug_callback (log, (void*)aafd, DEBUG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
log->log_callback (log, (void*)aafd, LOG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -99,7 +99,7 @@ aaf_dump_ObjectProperty (AAF_Data* aafd, aafProperty* Prop, const char* padding)
|
|||||||
aafd->log->_msg_pos += (size_t)rc;
|
aafd->log->_msg_pos += (size_t)rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
log->debug_callback (log, (void*)aafd, DEBUG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
log->log_callback (log, (void*)aafd, LOG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -141,7 +141,7 @@ aaf_dump_TaggedValueSet (AAF_Data* aafd, aafObject* ObjCollection, const char* p
|
|||||||
(aafUIDCmp (&indirect->TypeDef, &AAFTypeID_String)) ? "\"" : "",
|
(aafUIDCmp (&indirect->TypeDef, &AAFTypeID_String)) ? "\"" : "",
|
||||||
ANSI_COLOR_RESET (log));
|
ANSI_COLOR_RESET (log));
|
||||||
|
|
||||||
log->debug_callback (log, (void*)aafd, DEBUG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
log->log_callback (log, (void*)aafd, LOG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
||||||
|
|
||||||
free (name);
|
free (name);
|
||||||
}
|
}
|
||||||
@ -225,7 +225,7 @@ aaf_dump_rawProperties (AAF_Data* aafd, aafByte_t* propStream, const char* paddi
|
|||||||
LOG_BUFFER_WRITE (log, "\n");
|
LOG_BUFFER_WRITE (log, "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
log->debug_callback (log, (void*)aafd, DEBUG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
log->log_callback (log, (void*)aafd, LOG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -295,7 +295,7 @@ aaf_dump_MetaDictionary (AAF_Data* aafd, const char* padding)
|
|||||||
|
|
||||||
LOG_BUFFER_WRITE (log, "\n\n");
|
LOG_BUFFER_WRITE (log, "\n\n");
|
||||||
|
|
||||||
log->debug_callback (log, (void*)aafd, DEBUG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
log->log_callback (log, (void*)aafd, LOG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -326,5 +326,5 @@ aaf_dump_Classes (AAF_Data* aafd, const char* padding)
|
|||||||
|
|
||||||
LOG_BUFFER_WRITE (log, "\n\n");
|
LOG_BUFFER_WRITE (log, "\n\n");
|
||||||
|
|
||||||
log->debug_callback (log, (void*)aafd, DEBUG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
log->log_callback (log, (void*)aafd, LOG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
||||||
}
|
}
|
||||||
|
@ -37,16 +37,16 @@
|
|||||||
#include "aaf/URIParser.h"
|
#include "aaf/URIParser.h"
|
||||||
|
|
||||||
#define debug(...) \
|
#define debug(...) \
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_DEBUG, __VA_ARGS__)
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_DEBUG, __VA_ARGS__)
|
||||||
|
|
||||||
#define success(...) \
|
#define success(...) \
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_SUCCESS, __VA_ARGS__)
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_SUCCESS, __VA_ARGS__)
|
||||||
|
|
||||||
#define warning(...) \
|
#define warning(...) \
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_WARNING, __VA_ARGS__)
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_WARNING, __VA_ARGS__)
|
||||||
|
|
||||||
#define error(...) \
|
#define error(...) \
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_ERROR, __VA_ARGS__)
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_ERROR, __VA_ARGS__)
|
||||||
|
|
||||||
static int
|
static int
|
||||||
set_audioEssenceWithRIFF (AAF_Iface* aafi, const char* filename, aafiAudioEssenceFile* audioEssenceFile, struct RIFFAudioFile* RIFFAudioFile, int isExternalFile);
|
set_audioEssenceWithRIFF (AAF_Iface* aafi, const char* filename, aafiAudioEssenceFile* audioEssenceFile, struct RIFFAudioFile* RIFFAudioFile, int isExternalFile);
|
||||||
@ -234,7 +234,7 @@ aafi_locate_external_essence_file (AAF_Iface* aafi, const char* original_uri_fil
|
|||||||
local_filepath = NULL;
|
local_filepath = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Try AAF essence's URI */
|
/* Try raw essence's URI, just in case... */
|
||||||
|
|
||||||
if (laaf_util_file_exists (original_uri_filepath) == 1) {
|
if (laaf_util_file_exists (original_uri_filepath) == 1) {
|
||||||
foundpath = original_uri_filepath;
|
foundpath = original_uri_filepath;
|
||||||
@ -248,24 +248,12 @@ aafi_locate_external_essence_file (AAF_Iface* aafi, const char* original_uri_fil
|
|||||||
goto found;
|
goto found;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (uri->flags & URI_T_LOCALHOST) {
|
|
||||||
// debug( "URI targets localhost : %s", uri_filepath );
|
|
||||||
} else {
|
|
||||||
if (uri->flags & URI_T_HOST_IPV4) {
|
|
||||||
// debug( "URI targets IPV4 : %s", uri_filepath );
|
|
||||||
} else if (uri->flags & URI_T_HOST_IPV6) {
|
|
||||||
// debug( "URI targets IPV6 : %s", uri_filepath );
|
|
||||||
} else if (uri->flags & URI_T_HOST_REGNAME) {
|
|
||||||
// debug( "URI targets hostname : %s", uri_filepath );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Try to locate essence file from the AAF file location.
|
* Try to locate essence file from the AAF file location.
|
||||||
*
|
*
|
||||||
* e.g.
|
* e.g.
|
||||||
* - AAF filepath : /home/user/AAFFile.aaf
|
* AAF filepath : /home/user/AAFFile.aaf
|
||||||
* - Essence URI : file://localhost/C:/Users/user/Desktop/AudioFiles/essence.wav
|
* + Essence URI : file://localhost/C:/Users/user/Desktop/AudioFiles/essence.wav
|
||||||
* = /home/user/AudioFiles/essence.file
|
* = /home/user/AudioFiles/essence.file
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -341,7 +329,6 @@ found:
|
|||||||
* So even if foundpath is already absolute, we need that drive letter at it
|
* So even if foundpath is already absolute, we need that drive letter at it
|
||||||
* start.
|
* start.
|
||||||
*/
|
*/
|
||||||
// retpath = laaf_util_c99strdup(foundpath);
|
|
||||||
retpath = laaf_util_absolute_path (foundpath);
|
retpath = laaf_util_absolute_path (foundpath);
|
||||||
|
|
||||||
if (!retpath) {
|
if (!retpath) {
|
||||||
@ -364,26 +351,6 @@ end:
|
|||||||
free (aaf_path);
|
free (aaf_path);
|
||||||
|
|
||||||
return retpath;
|
return retpath;
|
||||||
|
|
||||||
/*
|
|
||||||
* AAFInfo --aaf-clips ../libaaf_testfiles/fonk_2.AAF
|
|
||||||
file://localhost/Users/horlaprod/Music/Logic/fonk_2/Audio Files_1/fonk_2_3#04.wav
|
|
||||||
|
|
||||||
* AAFInfo --aaf-clips ../libaaf_testfiles/ADP/ADP3_51-ST-MONO-NOBREAKOUT.aaf
|
|
||||||
file:///C:/Users/Loviniou/Downloads/ChID-BLITS-EBU-Narration441-16b.wav
|
|
||||||
|
|
||||||
* AAFInfo --aaf-clips ../libaaf_testfiles/ADP/ADP2_SEQ-FULL.aaf
|
|
||||||
file://?/E:/Adrien/ADPAAF/Sequence A Rendu.mxf
|
|
||||||
|
|
||||||
* AAFInfo --aaf-clips ../libaaf_testfiles/TEST-AVID_COMP2977052\ \ -\ \ OFF\ PODIUM\ ETAPE\ 2.aaf
|
|
||||||
file:////C:/Users/mix_limo/Desktop/TEST2977052 - OFF PODIUM ETAPE 2.aaf
|
|
||||||
|
|
||||||
* AAFInfo --aaf-clips ../ardio/watchfolder/3572607_RUGBY_F_1_1.aaf
|
|
||||||
file://10.87.230.71/mixage/DR2/Avid MediaFiles/MXF/1/3572607_RUGBY_F2_S65CFA3D0V.mxf
|
|
||||||
|
|
||||||
* AAFInfo --aaf-clips ../libaaf_testfiles/ProTools/pt2MCC.aaf
|
|
||||||
file:///_system/Users/horlaprod/pt2MCCzmhsFRHQgdgsTMQX.mxf
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
@ -552,29 +519,14 @@ aafi_extractAudioEssenceFile (AAF_Iface* aafi, aafiAudioEssenceFile* audioEssenc
|
|||||||
|
|
||||||
assert (tmp > 0 && (size_t)tmp < sizeof (((struct wavBextChunk*)0)->originator));
|
assert (tmp > 0 && (size_t)tmp < sizeof (((struct wavBextChunk*)0)->originator));
|
||||||
|
|
||||||
// if ( tmp < 0 || (size_t)tmp >= sizeof(((struct wavBextChunk *)0)->originator) ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// goto err;
|
|
||||||
// }
|
|
||||||
|
|
||||||
tmp = snprintf (wavBext.originator_reference, sizeof (((struct wavBextChunk*)0)->originator_reference), "libAAF %s", LIBAAF_VERSION);
|
tmp = snprintf (wavBext.originator_reference, sizeof (((struct wavBextChunk*)0)->originator_reference), "libAAF %s", LIBAAF_VERSION);
|
||||||
|
|
||||||
assert (tmp > 0 && (size_t)tmp < sizeof (((struct wavBextChunk*)0)->originator_reference));
|
assert (tmp > 0 && (size_t)tmp < sizeof (((struct wavBextChunk*)0)->originator_reference));
|
||||||
|
|
||||||
// if ( tmp < 0 || (size_t)tmp >= sizeof(((struct wavBextChunk *)0)->originator_reference) ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// goto err;
|
|
||||||
// }
|
|
||||||
|
|
||||||
tmp = snprintf (wavBext.description, sizeof (((struct wavBextChunk*)0)->description), "%s\n%s.aaf", audioEssenceFile->name, aafi->compositionName);
|
tmp = snprintf (wavBext.description, sizeof (((struct wavBextChunk*)0)->description), "%s\n%s.aaf", audioEssenceFile->name, aafi->compositionName);
|
||||||
|
|
||||||
assert (tmp > 0 && (size_t)tmp < sizeof (((struct wavBextChunk*)0)->description));
|
assert (tmp > 0 && (size_t)tmp < sizeof (((struct wavBextChunk*)0)->description));
|
||||||
|
|
||||||
// if ( tmp < 0 || (size_t)tmp >= sizeof(((struct wavBextChunk *)0)->description) ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// goto err;
|
|
||||||
// }
|
|
||||||
|
|
||||||
memcpy (wavBext.origination_date, audioEssenceFile->originationDate, sizeof (((struct wavBextChunk*)0)->origination_date));
|
memcpy (wavBext.origination_date, audioEssenceFile->originationDate, sizeof (((struct wavBextChunk*)0)->origination_date));
|
||||||
memcpy (wavBext.origination_time, audioEssenceFile->originationTime, sizeof (((struct wavBextChunk*)0)->origination_time));
|
memcpy (wavBext.origination_time, audioEssenceFile->originationTime, sizeof (((struct wavBextChunk*)0)->origination_time));
|
||||||
|
|
||||||
@ -712,10 +664,6 @@ set_audioEssenceWithRIFF (AAF_Iface* aafi, const char* filename, aafiAudioEssenc
|
|||||||
if (audioEssenceFile->channels > 0 && audioEssenceFile->channels != RIFFAudioFile->channels) {
|
if (audioEssenceFile->channels > 0 && audioEssenceFile->channels != RIFFAudioFile->channels) {
|
||||||
warning ("%s : summary channel count (%i) mismatch %s (%i)", filename, audioEssenceFile->channels, ((isExternalFile) ? "located file" : "previously retrieved data"), RIFFAudioFile->channels);
|
warning ("%s : summary channel count (%i) mismatch %s (%i)", filename, audioEssenceFile->channels, ((isExternalFile) ? "located file" : "previously retrieved data"), RIFFAudioFile->channels);
|
||||||
}
|
}
|
||||||
// else {
|
|
||||||
// /* In Davinci Resolve embedded multichannel WAV, summary channel is always 1 */
|
|
||||||
// audioEssenceFile->channels = RIFFAudioFile->channels;
|
|
||||||
// }
|
|
||||||
|
|
||||||
if (audioEssenceFile->samplerate > 0 && audioEssenceFile->samplerate != RIFFAudioFile->sampleRate) {
|
if (audioEssenceFile->samplerate > 0 && audioEssenceFile->samplerate != RIFFAudioFile->sampleRate) {
|
||||||
warning ("%s : summary samplerate (%i) mismatch %s (%i)", filename, audioEssenceFile->samplerate, ((isExternalFile) ? "located file" : "previously retrieved data"), RIFFAudioFile->sampleRate);
|
warning ("%s : summary samplerate (%i) mismatch %s (%i)", filename, audioEssenceFile->samplerate, ((isExternalFile) ? "located file" : "previously retrieved data"), RIFFAudioFile->sampleRate);
|
||||||
|
@ -67,13 +67,13 @@
|
|||||||
#include "aaf/utils.h"
|
#include "aaf/utils.h"
|
||||||
|
|
||||||
#define debug(...) \
|
#define debug(...) \
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_DEBUG, __VA_ARGS__)
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_DEBUG, __VA_ARGS__)
|
||||||
|
|
||||||
#define warning(...) \
|
#define warning(...) \
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_WARNING, __VA_ARGS__)
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_WARNING, __VA_ARGS__)
|
||||||
|
|
||||||
#define error(...) \
|
#define error(...) \
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_ERROR, __VA_ARGS__)
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_ERROR, __VA_ARGS__)
|
||||||
|
|
||||||
static aafRational_t AAFI_DEFAULT_TC_EDIT_RATE = { 25, 1 };
|
static aafRational_t AAFI_DEFAULT_TC_EDIT_RATE = { 25, 1 };
|
||||||
|
|
||||||
@ -296,22 +296,12 @@ parse_SourceMob (AAF_Iface* aafi, aafObject* SourceMob, td* __ptd)
|
|||||||
|
|
||||||
assert (rc > 0 && (size_t)rc < sizeof (((aafiAudioEssenceFile*)0)->originationDate));
|
assert (rc > 0 && (size_t)rc < sizeof (((aafiAudioEssenceFile*)0)->originationDate));
|
||||||
|
|
||||||
// if ( rc < 0 || (size_t)rc >= sizeof(((aafiAudioEssenceFile *)0)->originationDate) ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// return -1;
|
|
||||||
// }
|
|
||||||
|
|
||||||
rc = snprintf (audioEssenceFile->originationTime, sizeof (((aafiAudioEssenceFile*)0)->originationTime), "%02u:%02u:%02u",
|
rc = snprintf (audioEssenceFile->originationTime, sizeof (((aafiAudioEssenceFile*)0)->originationTime), "%02u:%02u:%02u",
|
||||||
(CreationTime->time.hour <= 99) ? CreationTime->time.hour : 0,
|
(CreationTime->time.hour <= 99) ? CreationTime->time.hour : 0,
|
||||||
(CreationTime->time.minute <= 99) ? CreationTime->time.minute : 0,
|
(CreationTime->time.minute <= 99) ? CreationTime->time.minute : 0,
|
||||||
(CreationTime->time.second <= 99) ? CreationTime->time.second : 0);
|
(CreationTime->time.second <= 99) ? CreationTime->time.second : 0);
|
||||||
|
|
||||||
assert (rc > 0 && (size_t)rc < sizeof (((aafiAudioEssenceFile*)0)->originationTime));
|
assert (rc > 0 && (size_t)rc < sizeof (((aafiAudioEssenceFile*)0)->originationTime));
|
||||||
|
|
||||||
// if ( rc < 0 || (size_t)rc >= sizeof(((aafiAudioEssenceFile *)0)->originationTime) ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// return -1;
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
__td.ll[__td.lv] = 2;
|
__td.ll[__td.lv] = 2;
|
||||||
@ -1072,7 +1062,7 @@ parse_SourceClip (AAF_Iface* aafi, aafObject* SourceClip, td* __ptd)
|
|||||||
}
|
}
|
||||||
} else if (aafUIDCmp (parentMobUsageCode, &AAFUsage_AdjustedClip)) {
|
} else if (aafUIDCmp (parentMobUsageCode, &AAFUsage_AdjustedClip)) {
|
||||||
// if ( aafi->ctx.current_adjusted_clip_gain ) {
|
// if ( aafi->ctx.current_adjusted_clip_gain ) {
|
||||||
// applyGainOffset( aafi, &aafi->ctx.current_clip->gain, aafi->ctx.current_adjusted_clip_gain );
|
// aafi_applyGainOffset( aafi, &aafi->ctx.current_clip->gain, aafi->ctx.current_adjusted_clip_gain );
|
||||||
// aafi_freeAudioGain( aafi->ctx.current_adjusted_clip_gain );
|
// aafi_freeAudioGain( aafi->ctx.current_adjusted_clip_gain );
|
||||||
// aafi->ctx.current_adjusted_clip_gain = NULL;
|
// aafi->ctx.current_adjusted_clip_gain = NULL;
|
||||||
// }
|
// }
|
||||||
@ -3252,7 +3242,7 @@ aafi_dump_obj (AAF_Iface* aafi, aafObject* Obj, struct trace_dump* __td, int sta
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
laaf_write_log (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_ERROR, __FILENAME__, func, line, buf);
|
laaf_write_log (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_ERROR, __FILENAME__, func, line, buf);
|
||||||
|
|
||||||
free (buf);
|
free (buf);
|
||||||
|
|
||||||
@ -3635,7 +3625,7 @@ aafi_dump_obj (AAF_Iface* aafi, aafObject* Obj, struct trace_dump* __td, int sta
|
|||||||
LOG_BUFFER_WRITE (log, "%s", ANSI_COLOR_RESET (log));
|
LOG_BUFFER_WRITE (log, "%s", ANSI_COLOR_RESET (log));
|
||||||
}
|
}
|
||||||
|
|
||||||
log->debug_callback (log, (void*)aafi, DEBUG_SRC_ID_TRACE, 0, "", "", 0, log->_msg, log->user);
|
log->log_callback (log, (void*)aafi, LOG_SRC_ID_TRACE, 0, "", "", 0, log->_msg, log->user);
|
||||||
|
|
||||||
/* if end of branch, print one line padding */
|
/* if end of branch, print one line padding */
|
||||||
if (Obj && (__td->eob || state == TD_ERROR))
|
if (Obj && (__td->eob || state == TD_ERROR))
|
||||||
|
@ -50,20 +50,14 @@
|
|||||||
#include "aaf/log.h"
|
#include "aaf/log.h"
|
||||||
#include "aaf/utils.h"
|
#include "aaf/utils.h"
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
#ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING
|
|
||||||
#define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define debug(...) \
|
#define debug(...) \
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_DEBUG, __VA_ARGS__)
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_DEBUG, __VA_ARGS__)
|
||||||
|
|
||||||
#define warning(...) \
|
#define warning(...) \
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_WARNING, __VA_ARGS__)
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_WARNING, __VA_ARGS__)
|
||||||
|
|
||||||
#define error(...) \
|
#define error(...) \
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_ERROR, __VA_ARGS__)
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_ERROR, __VA_ARGS__)
|
||||||
|
|
||||||
AAF_Iface*
|
AAF_Iface*
|
||||||
aafi_alloc (AAF_Data* aafd)
|
aafi_alloc (AAF_Data* aafd)
|
||||||
@ -111,18 +105,18 @@ err:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
aafi_set_debug (AAF_Iface* aafi, verbosityLevel_e v, int ansicolor, FILE* fp, void (*callback) (struct aafLog* log, void* ctxdata, int lib, int type, const char* srcfile, const char* srcfunc, int lineno, const char* msg, void* user), void* user)
|
aafi_set_debug (AAF_Iface* aafi, enum verbosityLevel_e verb, int ansicolor, FILE* fp, void (*callback) (struct aafLog* log, void* ctxdata, int lib, int type, const char* srcfile, const char* srcfunc, int lineno, const char* msg, void* user), void* user)
|
||||||
{
|
{
|
||||||
if (!aafi) {
|
if (!aafi) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
aafi->log->verb = v;
|
aafi->log->verb = verb;
|
||||||
aafi->log->ansicolor = ansicolor;
|
aafi->log->ansicolor = ansicolor;
|
||||||
aafi->log->fp = fp;
|
aafi->log->fp = fp;
|
||||||
|
|
||||||
if (callback) {
|
if (callback) {
|
||||||
aafi->log->debug_callback = callback;
|
aafi->log->log_callback = callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (user) {
|
if (user) {
|
||||||
|
@ -42,13 +42,13 @@
|
|||||||
#include "aaf/utils.h"
|
#include "aaf/utils.h"
|
||||||
|
|
||||||
#define debug(...) \
|
#define debug(...) \
|
||||||
AAF_LOG (aafd->log, aafd, DEBUG_SRC_ID_AAF_CORE, VERB_DEBUG, __VA_ARGS__)
|
AAF_LOG (aafd->log, aafd, LOG_SRC_ID_AAF_CORE, VERB_DEBUG, __VA_ARGS__)
|
||||||
|
|
||||||
#define warning(...) \
|
#define warning(...) \
|
||||||
AAF_LOG (aafd->log, aafd, DEBUG_SRC_ID_AAF_CORE, VERB_WARNING, __VA_ARGS__)
|
AAF_LOG (aafd->log, aafd, LOG_SRC_ID_AAF_CORE, VERB_WARNING, __VA_ARGS__)
|
||||||
|
|
||||||
#define error(...) \
|
#define error(...) \
|
||||||
AAF_LOG (aafd->log, aafd, DEBUG_SRC_ID_AAF_CORE, VERB_ERROR, __VA_ARGS__)
|
AAF_LOG (aafd->log, aafd, LOG_SRC_ID_AAF_CORE, VERB_ERROR, __VA_ARGS__)
|
||||||
|
|
||||||
const char*
|
const char*
|
||||||
aaft_MobIDToText (aafMobID_t* mobid)
|
aaft_MobIDToText (aafMobID_t* mobid)
|
||||||
@ -69,10 +69,6 @@ aaft_MobIDToText (aafMobID_t* mobid)
|
|||||||
rc = snprintf (str + offset, strsz - offset, " - ");
|
rc = snprintf (str + offset, strsz - offset, " - ");
|
||||||
|
|
||||||
assert (rc > 0 && (size_t)rc < strsz - offset);
|
assert (rc > 0 && (size_t)rc < strsz - offset);
|
||||||
// if ( rc < 0 || (size_t)rc >= strsz-offset ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// return NULL;
|
|
||||||
// }
|
|
||||||
|
|
||||||
offset += (uint32_t)rc;
|
offset += (uint32_t)rc;
|
||||||
|
|
||||||
@ -86,11 +82,6 @@ aaft_MobIDToText (aafMobID_t* mobid)
|
|||||||
|
|
||||||
assert (rc > 0 && (size_t)rc < strsz - offset);
|
assert (rc > 0 && (size_t)rc < strsz - offset);
|
||||||
|
|
||||||
// if ( rc < 0 || (size_t)rc >= strsz-offset ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// return "NULL";
|
|
||||||
// }
|
|
||||||
|
|
||||||
offset += (uint32_t)rc;
|
offset += (uint32_t)rc;
|
||||||
|
|
||||||
if (i == 15) {
|
if (i == 15) {
|
||||||
@ -98,11 +89,6 @@ aaft_MobIDToText (aafMobID_t* mobid)
|
|||||||
|
|
||||||
assert (rc > 0 && (size_t)rc < strsz - offset);
|
assert (rc > 0 && (size_t)rc < strsz - offset);
|
||||||
|
|
||||||
// if ( rc < 0 || (size_t)rc >= strsz-offset ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// return "NULL";
|
|
||||||
// }
|
|
||||||
|
|
||||||
offset += (uint32_t)rc;
|
offset += (uint32_t)rc;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -117,11 +103,6 @@ aaft_MobIDToText (aafMobID_t* mobid)
|
|||||||
|
|
||||||
assert (rc >= 0 && (size_t)rc < strsz - offset);
|
assert (rc >= 0 && (size_t)rc < strsz - offset);
|
||||||
|
|
||||||
// if ( rc < 0 || (size_t)rc >= strsz-offset ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// return "NULL";
|
|
||||||
// }
|
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -146,11 +127,6 @@ aaft_TimestampToText (aafTimeStamp_t* ts)
|
|||||||
ts->time.fraction);
|
ts->time.fraction);
|
||||||
|
|
||||||
assert (rc > 0 && (size_t)rc < sizeof (str));
|
assert (rc > 0 && (size_t)rc < sizeof (str));
|
||||||
|
|
||||||
// if ( rc < 0 || (size_t)rc >= sizeof(str) ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// return "NULL";
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
@ -172,11 +148,6 @@ aaft_VersionToText (aafVersionType_t* vers)
|
|||||||
vers->minor);
|
vers->minor);
|
||||||
|
|
||||||
assert (rc > 0 && (size_t)rc < sizeof (str));
|
assert (rc > 0 && (size_t)rc < sizeof (str));
|
||||||
|
|
||||||
// if ( rc < 0 || (size_t)rc >= sizeof(str) ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// return "NULL";
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
@ -202,11 +173,6 @@ aaft_ProductVersionToText (aafProductVersion_t* vers)
|
|||||||
vers->type);
|
vers->type);
|
||||||
|
|
||||||
assert (rc > 0 && (size_t)rc < sizeof (str));
|
assert (rc > 0 && (size_t)rc < sizeof (str));
|
||||||
|
|
||||||
// if ( rc < 0 || (size_t)rc >= sizeof(str) ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// return "NULL";
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
@ -991,11 +957,6 @@ aaft_DataDefToText (AAF_Data* aafd, const aafUID_t* auid)
|
|||||||
|
|
||||||
assert (rc >= 0 && (size_t)rc < sizeof (TEXTDataDef));
|
assert (rc >= 0 && (size_t)rc < sizeof (TEXTDataDef));
|
||||||
|
|
||||||
// if ( rc < 0 || (size_t)rc >= 1024 ) {
|
|
||||||
// error( "snprintf() error" );
|
|
||||||
// return NULL;
|
|
||||||
// }
|
|
||||||
|
|
||||||
free (name);
|
free (name);
|
||||||
|
|
||||||
return TEXTDataDef;
|
return TEXTDataDef;
|
||||||
@ -1096,11 +1057,6 @@ aaft_OperationDefToText (AAF_Data* aafd, const aafUID_t* auid)
|
|||||||
|
|
||||||
assert (rc >= 0 && (size_t)rc < sizeof (TEXTOperationDef));
|
assert (rc >= 0 && (size_t)rc < sizeof (TEXTOperationDef));
|
||||||
|
|
||||||
// if ( rc < 0 || (size_t)rc >= 1024 ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// return NULL;
|
|
||||||
// }
|
|
||||||
|
|
||||||
free (name);
|
free (name);
|
||||||
|
|
||||||
return TEXTOperationDef;
|
return TEXTOperationDef;
|
||||||
@ -1293,11 +1249,6 @@ aaft_ParameterToText (AAF_Data* aafd, const aafUID_t* auid)
|
|||||||
|
|
||||||
assert (rc >= 0 && (size_t)rc < sizeof (TEXTParameterDef));
|
assert (rc >= 0 && (size_t)rc < sizeof (TEXTParameterDef));
|
||||||
|
|
||||||
// if ( rc < 0 || (size_t)rc >= 1024 ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// return NULL;
|
|
||||||
// }
|
|
||||||
|
|
||||||
free (name);
|
free (name);
|
||||||
|
|
||||||
return TEXTParameterDef;
|
return TEXTParameterDef;
|
||||||
@ -2055,11 +2006,6 @@ aaft_PIDToText (AAF_Data* aafd, aafPID_t pid)
|
|||||||
|
|
||||||
assert (rc >= 0 && (size_t)rc < sizeof (PIDText));
|
assert (rc >= 0 && (size_t)rc < sizeof (PIDText));
|
||||||
|
|
||||||
// if ( rc < 0 || (size_t)rc >= 1024 ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// return NULL;
|
|
||||||
// }
|
|
||||||
|
|
||||||
return PIDText;
|
return PIDText;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2299,11 +2245,6 @@ aaft_ClassIDToText (AAF_Data* aafd, const aafUID_t* auid)
|
|||||||
|
|
||||||
assert (rc >= 0 && (size_t)rc < sizeof (ClassIDText));
|
assert (rc >= 0 && (size_t)rc < sizeof (ClassIDText));
|
||||||
|
|
||||||
// if ( rc < 0 || (size_t)rc >= 1024 ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// return NULL;
|
|
||||||
// }
|
|
||||||
|
|
||||||
return ClassIDText;
|
return ClassIDText;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2368,11 +2309,6 @@ aaft_IndirectValueToText (AAF_Data* aafd, aafIndirect_t* Indirect)
|
|||||||
|
|
||||||
assert (rc >= 0 && (size_t)rc < sizeof (buf));
|
assert (rc >= 0 && (size_t)rc < sizeof (buf));
|
||||||
|
|
||||||
// if ( rc < 0 || (size_t)rc >= sizeof(buf) ) {
|
|
||||||
// fprintf( stderr, "snprintf() error" );
|
|
||||||
// return NULL;
|
|
||||||
// }
|
|
||||||
|
|
||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,13 +28,13 @@
|
|||||||
#include "aaf/utils.h"
|
#include "aaf/utils.h"
|
||||||
|
|
||||||
#define debug(...) \
|
#define debug(...) \
|
||||||
AAF_LOG (cfbd->log, cfbd, DEBUG_SRC_ID_LIB_CFB, VERB_DEBUG, __VA_ARGS__)
|
AAF_LOG (cfbd->log, cfbd, LOG_SRC_ID_LIB_CFB, VERB_DEBUG, __VA_ARGS__)
|
||||||
|
|
||||||
#define warning(...) \
|
#define warning(...) \
|
||||||
AAF_LOG (cfbd->log, cfbd, DEBUG_SRC_ID_LIB_CFB, VERB_WARNING, __VA_ARGS__)
|
AAF_LOG (cfbd->log, cfbd, LOG_SRC_ID_LIB_CFB, VERB_WARNING, __VA_ARGS__)
|
||||||
|
|
||||||
#define error(...) \
|
#define error(...) \
|
||||||
AAF_LOG (cfbd->log, cfbd, DEBUG_SRC_ID_LIB_CFB, VERB_ERROR, __VA_ARGS__)
|
AAF_LOG (cfbd->log, cfbd, LOG_SRC_ID_LIB_CFB, VERB_ERROR, __VA_ARGS__)
|
||||||
|
|
||||||
void
|
void
|
||||||
cfb_dump_node (CFB_Data* cfbd, cfbNode* node, int print_stream, const char* padding)
|
cfb_dump_node (CFB_Data* cfbd, cfbNode* node, int print_stream, const char* padding)
|
||||||
@ -99,7 +99,7 @@ cfb_dump_node (CFB_Data* cfbd, cfbNode* node, int print_stream, const char* padd
|
|||||||
|
|
||||||
LOG_BUFFER_WRITE (log, "\n\n");
|
LOG_BUFFER_WRITE (log, "\n\n");
|
||||||
|
|
||||||
log->debug_callback (log, (void*)cfbd, DEBUG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
log->log_callback (log, (void*)cfbd, LOG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
||||||
|
|
||||||
if (print_stream == 1) {
|
if (print_stream == 1) {
|
||||||
cfb_dump_nodeStream (cfbd, node, "");
|
cfb_dump_nodeStream (cfbd, node, "");
|
||||||
@ -137,7 +137,7 @@ cfb_dump_nodeStream (CFB_Data* cfbd, cfbNode* node, const char* padding)
|
|||||||
|
|
||||||
laaf_util_dump_hex (stream, stream_sz, &log->_msg, &log->_msg_size, log->_msg_pos, padding);
|
laaf_util_dump_hex (stream, stream_sz, &log->_msg, &log->_msg_size, log->_msg_pos, padding);
|
||||||
|
|
||||||
log->debug_callback (log, (void*)cfbd, DEBUG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
log->log_callback (log, (void*)cfbd, LOG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
||||||
|
|
||||||
free (stream);
|
free (stream);
|
||||||
}
|
}
|
||||||
@ -161,7 +161,7 @@ cfb_dump_nodePathStream (CFB_Data* cfbd, const char* path, const char* padding)
|
|||||||
|
|
||||||
laaf_util_dump_hex (stream, stream_sz, &log->_msg, &log->_msg_size, log->_msg_pos, padding);
|
laaf_util_dump_hex (stream, stream_sz, &log->_msg, &log->_msg_size, log->_msg_pos, padding);
|
||||||
|
|
||||||
log->debug_callback (log, (void*)cfbd, DEBUG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
log->log_callback (log, (void*)cfbd, LOG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
||||||
|
|
||||||
free (stream);
|
free (stream);
|
||||||
}
|
}
|
||||||
@ -171,9 +171,8 @@ cfb_dump_nodePaths (CFB_Data* cfbd, uint32_t prevPath, char* strArray[], uint32_
|
|||||||
{
|
{
|
||||||
struct aafLog* log = cfbd->log;
|
struct aafLog* log = cfbd->log;
|
||||||
|
|
||||||
// if ( !node ) {
|
/* initial function call */
|
||||||
if (firstIteration) {
|
if (firstIteration) {
|
||||||
/* initial function call */
|
|
||||||
node = &cfbd->nodes[0];
|
node = &cfbd->nodes[0];
|
||||||
|
|
||||||
if (!node) {
|
if (!node) {
|
||||||
@ -190,7 +189,6 @@ cfb_dump_nodePaths (CFB_Data* cfbd, uint32_t prevPath, char* strArray[], uint32_
|
|||||||
|
|
||||||
uint32_t thisPath = (*str_i);
|
uint32_t thisPath = (*str_i);
|
||||||
|
|
||||||
/* TODO snprintf_realloc() ? */
|
|
||||||
char* nodeName = cfb_w16toUTF8 (node->_ab, node->_cb);
|
char* nodeName = cfb_w16toUTF8 (node->_ab, node->_cb);
|
||||||
|
|
||||||
laaf_util_snprintf_realloc (&strArray[thisPath], 0, 0, "%s/%s", strArray[prevPath], nodeName);
|
laaf_util_snprintf_realloc (&strArray[thisPath], 0, 0, "%s/%s", strArray[prevPath], nodeName);
|
||||||
@ -209,7 +207,6 @@ cfb_dump_nodePaths (CFB_Data* cfbd, uint32_t prevPath, char* strArray[], uint32_
|
|||||||
cfb_dump_nodePaths (cfbd, prevPath, strArray, str_i, &cfbd->nodes[node->_sidRightSib], padding, 0);
|
cfb_dump_nodePaths (cfbd, prevPath, strArray, str_i, &cfbd->nodes[node->_sidRightSib], padding, 0);
|
||||||
|
|
||||||
/* the end of the first function call, recursion is over. */
|
/* the end of the first function call, recursion is over. */
|
||||||
// if ( node == &cfbd->nodes[0] ) {
|
|
||||||
if (firstIteration) {
|
if (firstIteration) {
|
||||||
/* commented out because output seems proper this way... why did we call qsort() in the first place ?! */
|
/* commented out because output seems proper this way... why did we call qsort() in the first place ?! */
|
||||||
// qsort( strArray, *str_i, sizeof(char*), compareStrings );
|
// qsort( strArray, *str_i, sizeof(char*), compareStrings );
|
||||||
@ -234,7 +231,7 @@ cfb_dump_nodePaths (CFB_Data* cfbd, uint32_t prevPath, char* strArray[], uint32_
|
|||||||
|
|
||||||
LOG_BUFFER_WRITE (log, "\n\n");
|
LOG_BUFFER_WRITE (log, "\n\n");
|
||||||
|
|
||||||
log->debug_callback (log, (void*)cfbd, DEBUG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
log->log_callback (log, (void*)cfbd, LOG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -286,7 +283,7 @@ cfb_dump_header (CFB_Data* cfbd, const char* padding)
|
|||||||
|
|
||||||
LOG_BUFFER_WRITE (log, "\n");
|
LOG_BUFFER_WRITE (log, "\n");
|
||||||
|
|
||||||
log->debug_callback (log, (void*)cfbd, DEBUG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
log->log_callback (log, (void*)cfbd, LOG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -330,7 +327,7 @@ cfb_dump_FAT (CFB_Data* cfbd, const char* padding)
|
|||||||
|
|
||||||
LOG_BUFFER_WRITE (log, "\n\n");
|
LOG_BUFFER_WRITE (log, "\n\n");
|
||||||
|
|
||||||
log->debug_callback (log, (void*)cfbd, DEBUG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
log->log_callback (log, (void*)cfbd, LOG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -375,7 +372,7 @@ cfb_dump_MiniFAT (CFB_Data* cfbd, const char* padding)
|
|||||||
|
|
||||||
LOG_BUFFER_WRITE (log, "\n\n");
|
LOG_BUFFER_WRITE (log, "\n\n");
|
||||||
|
|
||||||
log->debug_callback (log, (void*)cfbd, DEBUG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
log->log_callback (log, (void*)cfbd, LOG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -420,5 +417,5 @@ cfb_dump_DiFAT (CFB_Data* cfbd, const char* padding)
|
|||||||
|
|
||||||
LOG_BUFFER_WRITE (log, "\n\n");
|
LOG_BUFFER_WRITE (log, "\n\n");
|
||||||
|
|
||||||
log->debug_callback (log, (void*)cfbd, DEBUG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
log->log_callback (log, (void*)cfbd, LOG_SRC_ID_DUMP, 0, "", "", 0, log->_msg, log->user);
|
||||||
}
|
}
|
||||||
|
@ -107,13 +107,13 @@
|
|||||||
#include "aaf/utils.h"
|
#include "aaf/utils.h"
|
||||||
|
|
||||||
#define debug(...) \
|
#define debug(...) \
|
||||||
AAF_LOG (cfbd->log, cfbd, DEBUG_SRC_ID_LIB_CFB, VERB_DEBUG, __VA_ARGS__)
|
AAF_LOG (cfbd->log, cfbd, LOG_SRC_ID_LIB_CFB, VERB_DEBUG, __VA_ARGS__)
|
||||||
|
|
||||||
#define warning(...) \
|
#define warning(...) \
|
||||||
AAF_LOG (cfbd->log, cfbd, DEBUG_SRC_ID_LIB_CFB, VERB_WARNING, __VA_ARGS__)
|
AAF_LOG (cfbd->log, cfbd, LOG_SRC_ID_LIB_CFB, VERB_WARNING, __VA_ARGS__)
|
||||||
|
|
||||||
#define error(...) \
|
#define error(...) \
|
||||||
AAF_LOG (cfbd->log, cfbd, DEBUG_SRC_ID_LIB_CFB, VERB_ERROR, __VA_ARGS__)
|
AAF_LOG (cfbd->log, cfbd, LOG_SRC_ID_LIB_CFB, VERB_ERROR, __VA_ARGS__)
|
||||||
|
|
||||||
static int
|
static int
|
||||||
cfb_getFileSize (CFB_Data* cfbd);
|
cfb_getFileSize (CFB_Data* cfbd);
|
||||||
|
@ -30,13 +30,13 @@
|
|||||||
#include "aaf/log.h"
|
#include "aaf/log.h"
|
||||||
|
|
||||||
#define debug(...) \
|
#define debug(...) \
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_DEBUG, __VA_ARGS__)
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_DEBUG, __VA_ARGS__)
|
||||||
|
|
||||||
#define warning(...) \
|
#define warning(...) \
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_WARNING, __VA_ARGS__)
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_WARNING, __VA_ARGS__)
|
||||||
|
|
||||||
#define error(...) \
|
#define error(...) \
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_ERROR, __VA_ARGS__)
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_ERROR, __VA_ARGS__)
|
||||||
|
|
||||||
int
|
int
|
||||||
mediaComposer_AAF (struct AAF_Iface* aafi)
|
mediaComposer_AAF (struct AAF_Iface* aafi)
|
||||||
|
@ -23,6 +23,15 @@
|
|||||||
#include "aaf/AAFIface.h"
|
#include "aaf/AAFIface.h"
|
||||||
#include "aaf/ProTools.h"
|
#include "aaf/ProTools.h"
|
||||||
|
|
||||||
|
#define debug(...) \
|
||||||
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_DEBUG, __VA_ARGS__)
|
||||||
|
|
||||||
|
#define warning(...) \
|
||||||
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_WARNING, __VA_ARGS__)
|
||||||
|
|
||||||
|
#define error(...) \
|
||||||
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_ERROR, __VA_ARGS__)
|
||||||
|
|
||||||
/* English : "Fade " (Same as JA and DE) */
|
/* English : "Fade " (Same as JA and DE) */
|
||||||
static const char PROTOOLS_CLIP_NAME_FADE_EN[] = "\x46\x61\x64\x65\x20";
|
static const char PROTOOLS_CLIP_NAME_FADE_EN[] = "\x46\x61\x64\x65\x20";
|
||||||
/* French : "Fondu " */
|
/* French : "Fondu " */
|
||||||
@ -53,15 +62,6 @@ static const char PROTOOLS_CLIP_NAME_SAMPLE_ACCURATE_EDIT_ZH_CN[] = "\xe7\xb2\xb
|
|||||||
/* Chinese (T) : "精確取樣編輯" */
|
/* Chinese (T) : "精確取樣編輯" */
|
||||||
static const char PROTOOLS_CLIP_NAME_SAMPLE_ACCURATE_EDIT_ZH_TW[] = "\xe7\xb2\xbe\xe7\xa2\xba\xe5\x8f\x96\xe6\xa8\xa3\xe7\xb7\xa8\xe8\xbc\xaf";
|
static const char PROTOOLS_CLIP_NAME_SAMPLE_ACCURATE_EDIT_ZH_TW[] = "\xe7\xb2\xbe\xe7\xa2\xba\xe5\x8f\x96\xe6\xa8\xa3\xe7\xb7\xa8\xe8\xbc\xaf";
|
||||||
|
|
||||||
#define debug(...) \
|
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_DEBUG, __VA_ARGS__)
|
|
||||||
|
|
||||||
#define warning(...) \
|
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_WARNING, __VA_ARGS__)
|
|
||||||
|
|
||||||
#define error(...) \
|
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_ERROR, __VA_ARGS__)
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
is_rendered_fade (const char* clipName);
|
is_rendered_fade (const char* clipName);
|
||||||
static int
|
static int
|
||||||
@ -76,7 +76,7 @@ protools_AAF (struct AAF_Iface* aafi)
|
|||||||
{
|
{
|
||||||
int probe = 0;
|
int probe = 0;
|
||||||
|
|
||||||
/* NOTE: CompanyName is "Digidesign, Inc." at least since ProTools 10.3.10.613, and still today */
|
/* NOTE: CompanyName is "Digidesign, Inc." at least since ProTools 10.3.10.613, and still today (2024) */
|
||||||
|
|
||||||
if (aafi->aafd->Identification.CompanyName && strcmp (aafi->aafd->Identification.CompanyName, "Digidesign, Inc.") == 0) {
|
if (aafi->aafd->Identification.CompanyName && strcmp (aafi->aafd->Identification.CompanyName, "Digidesign, Inc.") == 0) {
|
||||||
probe++;
|
probe++;
|
||||||
@ -149,7 +149,7 @@ remove_sampleAccurateEditClip (AAF_Iface* aafi, aafiAudioTrack* audioTrack, aafi
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
// else {
|
// else {
|
||||||
// warning( L"Can't remove SAE \"%s\" : left clip \"%s\" has not enough right handle : %lu but %lu is required",
|
// debug( L"SAE \"%s\" : left clip \"%s\" has not enough right handle : %lu but %lu is required",
|
||||||
// saeClip->essencePointerList->essenceFile->unique_name,
|
// saeClip->essencePointerList->essenceFile->unique_name,
|
||||||
// leftClip->essencePointerList->essenceFile->unique_name,
|
// leftClip->essencePointerList->essenceFile->unique_name,
|
||||||
// (essenceLength - leftClip->essence_offset - leftClip->len),
|
// (essenceLength - leftClip->essence_offset - leftClip->len),
|
||||||
@ -185,7 +185,7 @@ remove_sampleAccurateEditClip (AAF_Iface* aafi, aafiAudioTrack* audioTrack, aafi
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
// else {
|
// else {
|
||||||
// warning( L"Can't remove SAE \"%s\" : right clip \"%s\" has not enough left handle : %lu but %lu is required",
|
// debug( L"SAE \"%s\" : right clip \"%s\" has not enough left handle : %lu but %lu is required",
|
||||||
// saeClip->essencePointerList->essenceFile->unique_name,
|
// saeClip->essencePointerList->essenceFile->unique_name,
|
||||||
// rightClip->essencePointerList->essenceFile->unique_name,
|
// rightClip->essencePointerList->essenceFile->unique_name,
|
||||||
// rightClip->essence_offset,
|
// rightClip->essence_offset,
|
||||||
@ -404,7 +404,7 @@ protools_post_processing (AAF_Iface* aafi)
|
|||||||
aafiTimelineItem* audioItemNext = audioItem->next;
|
aafiTimelineItem* audioItemNext = audioItem->next;
|
||||||
|
|
||||||
if (audioItem->type != AAFI_AUDIO_CLIP) {
|
if (audioItem->type != AAFI_AUDIO_CLIP) {
|
||||||
audioItem = audioItem->next;
|
audioItem = audioItemNext;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -412,15 +412,21 @@ protools_post_processing (AAF_Iface* aafi)
|
|||||||
|
|
||||||
char* clipName = audioClip->essencePointerList->essenceFile->name;
|
char* clipName = audioClip->essencePointerList->essenceFile->name;
|
||||||
|
|
||||||
|
int previousClipCount = audioTrack->clipCount;
|
||||||
|
|
||||||
if ((aafi->ctx.options.protools & AAFI_PROTOOLS_OPT_REPLACE_CLIP_FADES) &&
|
if ((aafi->ctx.options.protools & AAFI_PROTOOLS_OPT_REPLACE_CLIP_FADES) &&
|
||||||
is_rendered_fade (clipName)) {
|
is_rendered_fade (clipName)) {
|
||||||
if (replace_clipFade (aafi, audioTrack, audioItem) > 0) {
|
replace_clipFade (aafi, audioTrack, audioItem);
|
||||||
|
|
||||||
|
if (previousClipCount != audioTrack->clipCount) {
|
||||||
audioItem = audioTrack->timelineItems;
|
audioItem = audioTrack->timelineItems;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
} else if ((aafi->ctx.options.protools & AAFI_PROTOOLS_OPT_REMOVE_SAMPLE_ACCURATE_EDIT) &&
|
} else if ((aafi->ctx.options.protools & AAFI_PROTOOLS_OPT_REMOVE_SAMPLE_ACCURATE_EDIT) &&
|
||||||
is_sample_accurate_edit (clipName)) {
|
is_sample_accurate_edit (clipName)) {
|
||||||
if (remove_sampleAccurateEditClip (aafi, audioTrack, audioItem)) {
|
remove_sampleAccurateEditClip (aafi, audioTrack, audioItem);
|
||||||
|
|
||||||
|
if (previousClipCount != audioTrack->clipCount) {
|
||||||
audioItem = audioTrack->timelineItems;
|
audioItem = audioTrack->timelineItems;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -26,13 +26,13 @@
|
|||||||
#include "aaf/RIFFParser.h"
|
#include "aaf/RIFFParser.h"
|
||||||
|
|
||||||
#define debug(...) \
|
#define debug(...) \
|
||||||
AAF_LOG (log, NULL, DEBUG_SRC_ID_AAF_IFACE, VERB_DEBUG, __VA_ARGS__)
|
AAF_LOG (log, NULL, LOG_SRC_ID_AAF_IFACE, VERB_DEBUG, __VA_ARGS__)
|
||||||
|
|
||||||
#define warning(...) \
|
#define warning(...) \
|
||||||
AAF_LOG (log, NULL, DEBUG_SRC_ID_AAF_IFACE, VERB_WARNING, __VA_ARGS__)
|
AAF_LOG (log, NULL, LOG_SRC_ID_AAF_IFACE, VERB_WARNING, __VA_ARGS__)
|
||||||
|
|
||||||
#define error(...) \
|
#define error(...) \
|
||||||
AAF_LOG (log, NULL, DEBUG_SRC_ID_AAF_IFACE, VERB_ERROR, __VA_ARGS__)
|
AAF_LOG (log, NULL, LOG_SRC_ID_AAF_IFACE, VERB_ERROR, __VA_ARGS__)
|
||||||
|
|
||||||
#define BE2LE32(val) \
|
#define BE2LE32(val) \
|
||||||
(((val >> 24) & 0xff) | ((val << 8) & 0xff0000) | ((val >> 8) & 0xff00) | ((val << 24) & 0xff000000))
|
(((val >> 24) & 0xff) | ((val << 8) & 0xff0000) | ((val >> 8) & 0xff00) | ((val << 24) & 0xff000000))
|
||||||
|
@ -30,13 +30,13 @@
|
|||||||
#include "aaf/log.h"
|
#include "aaf/log.h"
|
||||||
|
|
||||||
#define debug(...) \
|
#define debug(...) \
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_DEBUG, __VA_ARGS__)
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_DEBUG, __VA_ARGS__)
|
||||||
|
|
||||||
#define warning(...) \
|
#define warning(...) \
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_WARNING, __VA_ARGS__)
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_WARNING, __VA_ARGS__)
|
||||||
|
|
||||||
#define error(...) \
|
#define error(...) \
|
||||||
AAF_LOG (aafi->log, aafi, DEBUG_SRC_ID_AAF_IFACE, VERB_ERROR, __VA_ARGS__)
|
AAF_LOG (aafi->log, aafi, LOG_SRC_ID_AAF_IFACE, VERB_ERROR, __VA_ARGS__)
|
||||||
|
|
||||||
int
|
int
|
||||||
resolve_AAF (struct AAF_Iface* aafi)
|
resolve_AAF (struct AAF_Iface* aafi)
|
||||||
|
@ -36,13 +36,13 @@ typedef SSIZE_T ssize_t;
|
|||||||
#include "aaf/utils.h"
|
#include "aaf/utils.h"
|
||||||
|
|
||||||
#define debug(...) \
|
#define debug(...) \
|
||||||
AAF_LOG (log, NULL, DEBUG_SRC_ID_AAF_IFACE, VERB_DEBUG, __VA_ARGS__)
|
AAF_LOG (log, NULL, LOG_SRC_ID_AAF_IFACE, VERB_DEBUG, __VA_ARGS__)
|
||||||
|
|
||||||
#define warning(...) \
|
#define warning(...) \
|
||||||
AAF_LOG (log, NULL, DEBUG_SRC_ID_AAF_IFACE, VERB_WARNING, __VA_ARGS__)
|
AAF_LOG (log, NULL, LOG_SRC_ID_AAF_IFACE, VERB_WARNING, __VA_ARGS__)
|
||||||
|
|
||||||
#define error(...) \
|
#define error(...) \
|
||||||
AAF_LOG (log, NULL, DEBUG_SRC_ID_AAF_IFACE, VERB_ERROR, __VA_ARGS__)
|
AAF_LOG (log, NULL, LOG_SRC_ID_AAF_IFACE, VERB_ERROR, __VA_ARGS__)
|
||||||
|
|
||||||
#define IS_LOWALPHA(c) \
|
#define IS_LOWALPHA(c) \
|
||||||
((c >= 'a') && (c <= 'z'))
|
((c >= 'a') && (c <= 'z'))
|
||||||
|
@ -122,7 +122,7 @@ typedef struct aafPropertyDefinition {
|
|||||||
char* name;
|
char* name;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Looks like nobody cares about AAF standard TypeDefinition. All observed files
|
* Looks like nobody cares about AAF standard TypeDefinition. All observed files
|
||||||
* had incorrect values for Type's Name and Identification, even Avid's files.
|
* had incorrect values for Type's Name and Identification, even Avid's files.
|
||||||
* Thus, PDef->type should NOT be trusted.
|
* Thus, PDef->type should NOT be trusted.
|
||||||
*
|
*
|
||||||
|
@ -110,7 +110,6 @@ typedef enum aafiInterpolation_e {
|
|||||||
* Having two curves (AAFI_TRANS_TWO_CURVE) allows a cross fade to have one curve per fade.
|
* Having two curves (AAFI_TRANS_TWO_CURVE) allows a cross fade to have one curve per fade.
|
||||||
*
|
*
|
||||||
* A transition should have at least two points, one at time zero and one at time 1.
|
* A transition should have at least two points, one at time zero and one at time 1.
|
||||||
* TODO To finish
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
typedef struct aafiTransition {
|
typedef struct aafiTransition {
|
||||||
@ -270,7 +269,7 @@ typedef struct aafiAudioEssenceFile {
|
|||||||
* instead of name when exporting embedded essences.
|
* instead of name when exporting embedded essences.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
char* unique_name; // TODO: see creative_post.aaf
|
char* unique_name;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the URI path to the essence file, as specified in NetworkLocator::URLString.
|
* Holds the URI path to the essence file, as specified in NetworkLocator::URLString.
|
||||||
@ -377,7 +376,7 @@ typedef struct aafiAudioEssencePointer {
|
|||||||
|
|
||||||
typedef struct aafiVideoEssence {
|
typedef struct aafiVideoEssence {
|
||||||
char* original_file_path; // NetworkLocator::URLString should point to original essence file if external (and in some cases, points to the AAF itself if internal..)
|
char* original_file_path; // NetworkLocator::URLString should point to original essence file if external (and in some cases, points to the AAF itself if internal..)
|
||||||
char* usable_file_path; // TODO, not that used.. to be tweaked. ---- Holds the file path, once the essence has been exported, copied or linked.
|
char* usable_file_path; // Holds the file path, once the essence has been exported, copied or linked.
|
||||||
char* name; // MasterMob::Name -> file name
|
char* name; // MasterMob::Name -> file name
|
||||||
char* unique_name; // unique name generated from aafiVideoEssence->name. Sometimes, multiple files share the same names so this unique name should be used on export.
|
char* unique_name; // unique name generated from aafiVideoEssence->name. Sometimes, multiple files share the same names so this unique name should be used on export.
|
||||||
|
|
||||||
@ -755,21 +754,11 @@ typedef struct aafiMarker {
|
|||||||
} aafiMarker;
|
} aafiMarker;
|
||||||
|
|
||||||
typedef struct aafiContext {
|
typedef struct aafiContext {
|
||||||
/*
|
|
||||||
* Current MobSlot Segment's DataDefinition
|
|
||||||
* Mob::Slots > MobSlot::Segment > Component::DataDefinition
|
|
||||||
*/
|
|
||||||
|
|
||||||
// aafUID_t *DataDef;
|
|
||||||
|
|
||||||
/* Clip */
|
/* Clip */
|
||||||
aafObject* TopLevelCompositionMob;
|
aafObject* TopLevelCompositionMob;
|
||||||
|
|
||||||
aafiAudioTrack* current_track;
|
aafiAudioTrack* current_track;
|
||||||
|
|
||||||
// int current_track_number; // used only when missing MobSlot::PhysicalTrackNumber
|
|
||||||
|
|
||||||
// aafPosition_t current_pos;
|
|
||||||
aafiAudioClip* current_clip;
|
aafiAudioClip* current_clip;
|
||||||
aafiVideoClip* current_video_clip;
|
aafiVideoClip* current_video_clip;
|
||||||
int current_clip_is_muted;
|
int current_clip_is_muted;
|
||||||
@ -810,8 +799,7 @@ typedef struct aafiContext {
|
|||||||
char* dump_class_aaf_properties;
|
char* dump_class_aaf_properties;
|
||||||
char* dump_class_raw_properties;
|
char* dump_class_raw_properties;
|
||||||
char* media_location;
|
char* media_location;
|
||||||
// int forbid_nonlatin_filenames;
|
int mobid_essence_filename;
|
||||||
int mobid_essence_filename;
|
|
||||||
|
|
||||||
/* vendor specific */
|
/* vendor specific */
|
||||||
int protools;
|
int protools;
|
||||||
|
@ -30,12 +30,12 @@
|
|||||||
|
|
||||||
#define __FILENAME__ (strrchr (__FILE__, '/') ? strrchr (__FILE__, '/') + 1 : __FILE__)
|
#define __FILENAME__ (strrchr (__FILE__, '/') ? strrchr (__FILE__, '/') + 1 : __FILE__)
|
||||||
|
|
||||||
enum debug_source_id {
|
enum log_source_id {
|
||||||
DEBUG_SRC_ID_LIB_CFB,
|
LOG_SRC_ID_LIB_CFB,
|
||||||
DEBUG_SRC_ID_AAF_CORE,
|
LOG_SRC_ID_AAF_CORE,
|
||||||
DEBUG_SRC_ID_AAF_IFACE,
|
LOG_SRC_ID_AAF_IFACE,
|
||||||
DEBUG_SRC_ID_TRACE,
|
LOG_SRC_ID_TRACE,
|
||||||
DEBUG_SRC_ID_DUMP
|
LOG_SRC_ID_DUMP
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef enum verbosityLevel_e {
|
typedef enum verbosityLevel_e {
|
||||||
@ -49,7 +49,7 @@ typedef enum verbosityLevel_e {
|
|||||||
#define VERB_SUCCESS 99
|
#define VERB_SUCCESS 99
|
||||||
|
|
||||||
struct aafLog {
|
struct aafLog {
|
||||||
void (*debug_callback) (struct aafLog* log, void* ctxdata, int lib, int type, const char* srcfile, const char* srcfunc, int lineno, const char* msg, void* user);
|
void (*log_callback) (struct aafLog* log, void* ctxdata, int lib, int type, const char* srcfile, const char* srcfunc, int lineno, const char* msg, void* user);
|
||||||
|
|
||||||
FILE* fp;
|
FILE* fp;
|
||||||
verbosityLevel_e verb;
|
verbosityLevel_e verb;
|
||||||
@ -64,7 +64,7 @@ struct aafLog {
|
|||||||
char* _previous_msg;
|
char* _previous_msg;
|
||||||
size_t _previous_pos;
|
size_t _previous_pos;
|
||||||
|
|
||||||
int _tmp_dbg_msg_pos;
|
int _tmp_msg_pos;
|
||||||
|
|
||||||
void* user;
|
void* user;
|
||||||
};
|
};
|
||||||
@ -72,11 +72,11 @@ struct aafLog {
|
|||||||
#define AAF_LOG(log, ctxdata, lib, type, ...) \
|
#define AAF_LOG(log, ctxdata, lib, type, ...) \
|
||||||
laaf_write_log (log, ctxdata, lib, type, __FILENAME__, __func__, __LINE__, __VA_ARGS__)
|
laaf_write_log (log, ctxdata, lib, type, __FILENAME__, __func__, __LINE__, __VA_ARGS__)
|
||||||
|
|
||||||
#define LOG_BUFFER_WRITE(log, ...) \
|
#define LOG_BUFFER_WRITE(log, ...) \
|
||||||
log->_tmp_dbg_msg_pos = laaf_util_snprintf_realloc (&log->_msg, &log->_msg_size, log->_msg_pos, __VA_ARGS__); \
|
log->_tmp_msg_pos = laaf_util_snprintf_realloc (&log->_msg, &log->_msg_size, log->_msg_pos, __VA_ARGS__); \
|
||||||
log->_msg_pos += (log->_tmp_dbg_msg_pos < 0) ? 0 : (size_t)log->_tmp_dbg_msg_pos;
|
log->_msg_pos += (log->_tmp_msg_pos < 0) ? 0 : (size_t)log->_tmp_msg_pos;
|
||||||
|
|
||||||
#define DBG_BUFFER_RESET(log) \
|
#define LOG_BUFFER_RESET(log) \
|
||||||
log->_msg_pos = 0;
|
log->_msg_pos = 0;
|
||||||
|
|
||||||
struct aafLog*
|
struct aafLog*
|
||||||
@ -89,6 +89,6 @@ void
|
|||||||
laaf_log_callback (struct aafLog* log, void* ctxdata, int lib, int type, const char* srcfile, const char* srcfunc, int lineno, const char* msg, void* user);
|
laaf_log_callback (struct aafLog* log, void* ctxdata, int lib, int type, const char* srcfile, const char* srcfunc, int lineno, const char* msg, void* user);
|
||||||
|
|
||||||
void
|
void
|
||||||
laaf_write_log (struct aafLog* log, void* ctxdata, enum debug_source_id lib, enum verbosityLevel_e type, const char* dbgfile, const char* dbgfunc, int dbgline, const char* format, ...);
|
laaf_write_log (struct aafLog* log, void* ctxdata, enum log_source_id lib, enum verbosityLevel_e type, const char* srcfile, const char* srcfunc, int srcline, const char* format, ...);
|
||||||
|
|
||||||
#endif // !laaf_log_h__
|
#endif // !laaf_log_h__
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#define LIBAAF_VERSION "v1.0-1-gdef35bf"
|
#define LIBAAF_VERSION "v1.0-10-g13f0b0a"
|
||||||
|
@ -55,9 +55,9 @@ laaf_new_log (void)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
log->debug_callback = &laaf_log_callback;
|
log->log_callback = &laaf_log_callback;
|
||||||
log->fp = stdout;
|
log->fp = stdout;
|
||||||
log->ansicolor = 0;
|
log->ansicolor = 0;
|
||||||
|
|
||||||
return log;
|
return log;
|
||||||
}
|
}
|
||||||
@ -85,28 +85,28 @@ laaf_log_callback (struct aafLog* log, void* ctxdata, int libid, int type, const
|
|||||||
const char* color = "";
|
const char* color = "";
|
||||||
|
|
||||||
if (log->fp == NULL) {
|
if (log->fp == NULL) {
|
||||||
DBG_BUFFER_RESET (log);
|
LOG_BUFFER_RESET (log);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (libid) {
|
switch (libid) {
|
||||||
case DEBUG_SRC_ID_LIB_CFB:
|
case LOG_SRC_ID_LIB_CFB:
|
||||||
lib = "libCFB";
|
lib = "libCFB";
|
||||||
aafi = (AAF_Iface*)ctxdata;
|
aafi = (AAF_Iface*)ctxdata;
|
||||||
break;
|
break;
|
||||||
case DEBUG_SRC_ID_AAF_CORE:
|
case LOG_SRC_ID_AAF_CORE:
|
||||||
lib = "AAFCore";
|
lib = "AAFCore";
|
||||||
aafd = (AAF_Data*)ctxdata;
|
aafd = (AAF_Data*)ctxdata;
|
||||||
break;
|
break;
|
||||||
case DEBUG_SRC_ID_AAF_IFACE:
|
case LOG_SRC_ID_AAF_IFACE:
|
||||||
lib = "AAFIface";
|
lib = "AAFIface";
|
||||||
cfbd = (CFB_Data*)ctxdata;
|
cfbd = (CFB_Data*)ctxdata;
|
||||||
break;
|
break;
|
||||||
case DEBUG_SRC_ID_TRACE:
|
case LOG_SRC_ID_TRACE:
|
||||||
lib = "trace";
|
lib = "trace";
|
||||||
aafi = (AAF_Iface*)ctxdata;
|
aafi = (AAF_Iface*)ctxdata;
|
||||||
break;
|
break;
|
||||||
case DEBUG_SRC_ID_DUMP:
|
case LOG_SRC_ID_DUMP:
|
||||||
lib = "dump";
|
lib = "dump";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -132,7 +132,7 @@ laaf_log_callback (struct aafLog* log, void* ctxdata, int libid, int type, const
|
|||||||
|
|
||||||
const char* eol = "";
|
const char* eol = "";
|
||||||
|
|
||||||
if (libid != DEBUG_SRC_ID_TRACE && libid != DEBUG_SRC_ID_DUMP) {
|
if (libid != LOG_SRC_ID_TRACE && libid != LOG_SRC_ID_DUMP) {
|
||||||
#ifdef __MINGW32__
|
#ifdef __MINGW32__
|
||||||
fwprintf (log->fp, L"[%" WPRIs "%" WPRIs "%" WPRIs "] %" WPRIs "%" WPRIs ":%i in %" WPRIs "()%" WPRIs " : ",
|
fwprintf (log->fp, L"[%" WPRIs "%" WPRIs "%" WPRIs "] %" WPRIs "%" WPRIs ":%i in %" WPRIs "()%" WPRIs " : ",
|
||||||
color,
|
color,
|
||||||
@ -156,7 +156,7 @@ laaf_log_callback (struct aafLog* log, void* ctxdata, int libid, int type, const
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (libid != DEBUG_SRC_ID_DUMP) {
|
if (libid != LOG_SRC_ID_DUMP) {
|
||||||
eol = "\n";
|
eol = "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -173,7 +173,7 @@ laaf_log_callback (struct aafLog* log, void* ctxdata, int libid, int type, const
|
|||||||
|
|
||||||
fflush (log->fp);
|
fflush (log->fp);
|
||||||
|
|
||||||
DBG_BUFFER_RESET (log);
|
LOG_BUFFER_RESET (log);
|
||||||
|
|
||||||
/* avoids -Wunused-parameter -Wunused-but-set-variable */
|
/* avoids -Wunused-parameter -Wunused-but-set-variable */
|
||||||
(void)aafi;
|
(void)aafi;
|
||||||
@ -184,13 +184,13 @@ laaf_log_callback (struct aafLog* log, void* ctxdata, int libid, int type, const
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
laaf_write_log (struct aafLog* log, void* ctxdata, enum debug_source_id lib, enum verbosityLevel_e type, const char* dbgfile, const char* dbgfunc, int dbgline, const char* format, ...)
|
laaf_write_log (struct aafLog* log, void* ctxdata, enum log_source_id lib, enum verbosityLevel_e type, const char* srcfile, const char* srcfunc, int srcline, const char* format, ...)
|
||||||
{
|
{
|
||||||
if (!log) {
|
if (!log) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!log->debug_callback) {
|
if (!log->log_callback) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -275,7 +275,7 @@ laaf_write_log (struct aafLog* log, void* ctxdata, enum debug_source_id lib, enu
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
log->debug_callback (log, (void*)ctxdata, lib, type, dbgfile, dbgfunc, dbgline, log->_msg, log->user);
|
log->log_callback (log, (void*)ctxdata, lib, type, srcfile, srcfunc, srcline, log->_msg, log->user);
|
||||||
|
|
||||||
va_end (ap);
|
va_end (ap);
|
||||||
|
|
||||||
|
@ -307,9 +307,6 @@ laaf_util_relative_path (const char* filepath, const char* refpath)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// fprintf( stderr, "%s\n", filepath );
|
|
||||||
// fprintf( stderr, "%s\n", refpath );
|
|
||||||
|
|
||||||
int isWindowsPath = 0;
|
int isWindowsPath = 0;
|
||||||
int aWindowsPath = 0;
|
int aWindowsPath = 0;
|
||||||
int bWindowsPath = 0;
|
int bWindowsPath = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user