00001
00002 cpp_quote("//=---------------------------------------------------------------------=")
00003 cpp_quote("
00004 cpp_quote("
00005 cpp_quote("
00006 cpp_quote("
00007 cpp_quote("
00008 cpp_quote("
00009 cpp_quote("
00010 cpp_quote("
00011 cpp_quote("
00012 cpp_quote("
00013 cpp_quote("
00014 cpp_quote("
00015 cpp_quote("
00016 cpp_quote("
00017 cpp_quote("
00018 cpp_quote("
00019 cpp_quote("
00020 cpp_quote("
00021 cpp_quote("
00022 cpp_quote("
00023 cpp_quote("
00024 cpp_quote("
00025 cpp_quote("
00026 cpp_quote("
00027
00028
00029
00030 #ifndef DO_NO_IMPORTS
00031 import "wtypes.idl";
00032 #endif
00033
00034 [
00035 uuid(B1A2137B-1A7D-11D2-BF78-00104BC9156D),
00036 pointer_default(unique)
00037 ]
00038
00039 interface IAAFTypes
00040 {
00041
00042 cpp_quote("/*")
00043 cpp_quote(" * Basic types that don't depend on other types.")
00044 cpp_quote(" */")
00045
00046
00047 cpp_quote("#if 0")
00048 cpp_quote("// MIDL only defintion for 64 bit integer")
00049
00050 #if ((!defined(MIDL_PASS) || defined(__midl)) && (!defined(_M_IX86) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64)))
00051
00052 typedef signed char aafInt8;
00053 typedef signed short int aafInt16;
00054 typedef signed int aafInt32;
00055
00056 typedef unsigned char aafUInt8;
00057 typedef unsigned short int aafUInt16;
00058 typedef unsigned int aafUInt32;
00059
00060 typedef hyper aafInt64;
00061 typedef unsigned hyper aafUInt64;
00062
00063 typedef wchar_t aafWChar;
00064 typedef wchar_t aafCharacter;
00065
00066 #else
00067 #error Using an incompatible midl host compiler!
00068 #endif
00069
00070 cpp_quote("#else")
00071 cpp_quote("#include \"AAFPlatform.h\"")
00072
00073 cpp_quote("#endif
00074
00075
00076 typedef unsigned char * aafMemPtr_t;
00077
00078 typedef aafInt32 AAFRESULT;
00079
00080 cpp_quote("#ifndef NULL")
00081 cpp_quote("#ifdef __cplusplus")
00082 cpp_quote("#define NULL (0L)")
00083 cpp_quote("#else")
00084 cpp_quote("#define NULL ((void *)0L)")
00085 cpp_quote("#endif")
00086 cpp_quote("#endif")
00087
00088 typedef aafInt32 aafBoolean_t;
00089 typedef enum _aafBoolean_e
00090 {
00091 kAAFFalse = 0,
00092 kAAFTrue = 1
00093 } aafBoolean_e;
00094
00095 cpp_quote("#ifndef MAX_NUM_RGBA_COMPS")
00096 cpp_quote("#define MAX_NUM_RGBA_COMPS 8 ")
00097 cpp_quote("#if 0")
00098 typedef aafInt32 aafMAX_NUM_RGBA_COMPS;
00099 typedef enum _aafMAX_NUM_RGBA_COMPS_e
00100 {
00101 MAX_NUM_RGBA_COMPS = 8
00102 } aafMAX_NUM_RGBA_COMPS_e;
00103 cpp_quote("#endif")
00104 cpp_quote("#endif")
00105
00106
00107 cpp_quote("#if 0")
00108 typedef [string] aafCharacter * aafString_t;
00109 cpp_quote("#endif")
00110 cpp_quote("typedef aafCharacter * aafString_t;")
00111
00112 cpp_quote("
00113
00114
00115
00116
00117
00118
00119
00120
00121 ")
00122
00123 cpp_quote("")
00124 typedef aafInt64 aafLength_t;
00125
00126 cpp_quote("")
00127 typedef aafInt64 aafPosition_t;
00128 typedef aafInt64 aafFrameOffset_t;
00129 typedef aafInt64 aafFrameLength_t;
00130 typedef aafUInt32 aafSlotID_t;
00131
00132 typedef aafUInt32 aafNumSlots_t;
00133 typedef struct _aafUID_t aafClassID_t;
00134 typedef aafUInt8 *aafDataValue_t;
00135
00136
00137 typedef aafUInt8 *aafDataBuffer_t;
00138
00139
00140 cpp_quote("")
00141 typedef struct _aafUID_t aafArgIDType_t;
00142
00143 cpp_quote("")
00144 typedef struct _aafUID_t aafHardwarePlatform_t;
00145 typedef struct _aafUID_t aafEngine_t;
00146 typedef struct _aafUID_t aafPluginAPI_t;
00147 typedef struct _aafUID_t aafCodecID_t;
00148
00149 cpp_quote("")
00150 typedef aafUInt8 aafCompSizeArray_t[MAX_NUM_RGBA_COMPS];
00151 typedef aafInt8 aafCompArray_t[MAX_NUM_RGBA_COMPS];
00152 typedef aafInt32 aafVideoLineMap_t[2];
00153 typedef aafInt32 aafJPEGTableID_t;
00154
00155 cpp_quote("
00156
00157
00158
00159 ")
00160
00161 typedef aafInt32 aafFileRev_t;
00162 typedef enum _aafFileRev_e
00163 {
00164 kAAFRev1 = 0,
00165 kAAFRev2 = 1
00166 } aafFileRev_e;
00167
00168 typedef aafInt32 aafMediaOpenMode_t;
00169 typedef enum _aafMediaOpenMode_e
00170 {
00171 kAAFMediaOpenReadOnly = 0,
00172 kAAFMediaOpenAppend = 1
00173 } aafMediaOpenMode_e;
00174
00175 typedef aafInt32 aafFieldDom_t;
00176 typedef enum _aafFieldDom_e
00177 {
00178 kAAFDominantField1 = 0,
00179 kAAFDominantField2 = 1,
00180 kAAFNoDominant = 2
00181 } aafFieldDom_e;
00182
00183 typedef aafInt32 aafFieldTop_t;
00184 typedef enum _aafFieldTop_e
00185 {
00186 kAAFTopField1 = 0,
00187 kAAFTopField2 = 1,
00188 kAAFTopFieldNone = 2
00189 } aafFieldTop_e;
00190
00191 typedef aafInt32 aafAlphaTransparency_t;
00192 typedef enum _aafAlphaTransparency_e
00193 {
00194 kAAFMinValueTransparent = 0,
00195 kAAFMaxValueTransparent = 1
00196 } aafAlphaTransparency_e;
00197
00198 typedef aafInt32 aafFieldNumber_t;
00199 typedef enum _aafFieldNumber_e
00200 {
00201 kAAFUnspecifiedField = 0,
00202 kAAFFieldOne = 1,
00203 kAAFFieldTwo = 2
00204 } aafFieldNumber_e;
00205
00206 typedef aafInt32 aafPixelFormat_t;
00207 typedef enum _aafPixelFormat_e
00208 {
00209 kAAFPixNone = 0,
00210 kAAFPixRGBA = 1,
00211 kAAFPixYUV = 2
00212 } aafPixelFormat_e;
00213
00214
00215 typedef aafInt32 aafFileExistence_t;
00216 typedef enum _aafFileExistence_e
00217 {
00218 kAAFFileExistence_new = 1,
00219 kAAFFileExistence_existing = 2
00220 } aafFileExistence_e;
00221
00222
00223 typedef aafInt32 aafFileAccess_t;
00224 typedef enum _aafFileAccess_e
00225 {
00226 kAAFFileAccess_none = 0,
00227 kAAFFileAccess_read = 1 << 0,
00228 kAAFFileAccess_write = 1 << 1,
00229 kAAFFileAccess_modify = kAAFFileAccess_read | kAAFFileAccess_write
00230 } aafFileAccess_e;
00231
00232
00233 typedef aafInt32 aafJPEGcomponent_t;
00234 cpp_quote("#if 0")
00235 typedef enum _aafJPEGcomponent_e
00236 {
00237 kAAFJcLuminance = 0,
00238 kAAFJcChrominance = 1,
00239 kAAFJcLuminanceFP16 = 2,
00240 kAAFJcChrominanceFP16 = 3
00241 } aafJPEGcomponent_e;
00242 cpp_quote("#endif")
00243
00244 cpp_quote("typedef enum _aafJPEGcomponent_e")
00245 cpp_quote("{")
00246 cpp_quote("kAAFJcLuminance = 0,")
00247 cpp_quote("kAAFJcChrominance = 1")
00248 cpp_quote("#if ! defined(STANDARD_JPEG_Q)")
00249 cpp_quote(", kAAFJcLuminanceFP16 = 2,")
00250 cpp_quote("kAAFJcChrominanceFP16 = 3")
00251 cpp_quote("#endif")
00252 cpp_quote("} aafJPEGcomponent_e;")
00253
00254 typedef aafInt32 aafCompressEnable_t;
00255 typedef enum _aafCompressEnable_e
00256 {
00257 kAAFCompressionEnable = 0, /*--cf ? Replaced SDK with AAF */
00258 kAAFCompressionDisable = 1 /*--cf ? Replaced SDK with AAF */
00259 } aafCompressEnable_e;
00260
00261 typedef aafInt32 aafFileFormat_t;
00262 typedef enum _aafFileFormat_e
00263 {
00264 kAAFEssence = 0, /*--cf changed iMedia to Essense as per Tom's request */
00265 kAAFForeignMedia = 1
00266 } aafFileFormat_e;
00267
00268 typedef aafInt32 aafDropType_t;
00269 typedef enum _aafDropType_e
00270 {
00271 kAAFTcNonDrop = 0,
00272 kAAFTcDrop = 1
00273 } aafDropType_e;
00274
00275 typedef aafInt32 aafFrameLayout_t;
00276 typedef enum _aafFrameLayout_e
00277 {
00278 kAAFFullFrame = 0,
00279 kAAFSeparateFields = 1,
00280 kAAFOneField = 2,
00281 kAAFMixedFields = 3,
00282 kAAFSegmentedFrame = 4
00283 } aafFrameLayout_e;
00284
00285 typedef aafInt32 aafElectroSpatialFormulation_t;
00286 typedef enum _aafElectroSpatialFormulation_e
00287 {
00288 kAAFEsDefault = 0,
00289 kAAFEsTwoChannelMode = 1,
00290 kAAFEsSingleChannelMode = 2,
00291 kAAFEsPrimarySecondaryMode = 3,
00292 kAAFEsStereophonicMode = 4,
00293 kAAFEsSingleChannelDoubleSamplingFrequencyMode = 7,
00294 kAAFEsStereoLeftChannelDoubleSamplingFrequencyMode = 8,
00295 kAAFEsStereoRightChannelDoubleSamplingFrequencyMode = 9,
00296 kAAFEsMultiChannelMode = 15
00297 } aafElectroSpatialFormulation_e;
00298
00299 typedef aafInt32 aafSignalStandard_t;
00300 typedef enum _aafSignalStandard_e
00301 {
00302 kAAFSignalNone = 0,
00303 kAAFSignalITU601 = 1,
00304 kAAFSignalITU1358 = 2,
00305 kAAFSignalSMPTE347M = 3,
00306 kAAFSignalSMPTE274M = 4,
00307 kAAFSignalSMPTE296M = 5,
00308 kAAFSignalSMPTE349M = 6
00309 } aafSignalStandard_e;
00310
00311 typedef aafInt32 aafScanningDirection_t;
00312 typedef enum _aafScanningDirection_e
00313 {
00314 kAAFScanningLeftToRightTopToBottom = 0,
00315 kAAFScanningRightToLeftTopToBottom = 1,
00316 kAAFScanningLeftToRightBottomToTop = 2,
00317 kAAFScanningRightToLeftBottomToTop = 3,
00318 kAAFScanningTopToBottomLeftToRight = 4,
00319 kAAFScanningTopToBottomRightToLeft = 5,
00320 kAAFScanningBottomToTopLeftToRight = 6,
00321 kAAFScanningBottomToTopRightToLeft = 7
00322 } aafScanningDirection_e;
00323
00324 typedef aafInt32 aafColorSiting_t;
00325 typedef enum _aafColorSiting_e
00326 {
00327 kAAFCoSiting = 0,
00328 kAAFAveraging = 1,
00329 kAAFThreeTap = 2
00330 } aafColorSiting_e;
00331
00332 typedef aafInt32 aafPropertyOpt_t;
00333 typedef enum _aafPropertyOpt_e
00334 {
00335 kAAFPropRequired = 0,
00336 kAAFPropOptional = 1
00337 } aafPropertyOpt_e;
00338
00339 typedef aafInt32 AAFDataDefinitionMatch_t;
00340 typedef enum _AAFDataDefinitionMatch_e
00341 {
00342 kAAFExactMatch = 0,
00343 kAAFConvertTo = 1,
00344 kAAFConvertFrom = 2
00345 } AAFDataDefinitionMatch_e;
00346
00347 typedef aafInt32 aafAppendOption_t;
00348 typedef enum _aafAppendOption_e
00349 {
00350 kAAFAppend = 0,
00351 kAAFForceOverwrite = 1
00352 } aafAppendOption_e;
00353
00354 typedef aafInt32 aafReferenceType_t;
00355 typedef enum _aafReferenceType_e
00356 {
00357 kAAFRefLimitMinimum = 0,
00358 kAAFRefLimitMaximum = 1,
00359 kAAFRefMinimum = 2,
00360 kAAFRefMaximum = 3,
00361 kAAFRefEnumvalue = 4
00362 } aafReferenceType_e;
00363
00364 typedef aafInt32 aafSwapNeeded_t;
00365 typedef enum _aafSwapNeeded_e
00366 {
00367 kAAFSwapIfNeeded = 0,
00368 kAAFNeverSwap = 1
00369 } aafSwapNeeded_e;
00370
00371 typedef aafInt32 aafTimecodeSourceType_t;
00372 typedef enum _aafTimecodeSourceType_e
00373 {
00374 kAAFTimecodeLTC = 0,
00375 kAAFTimecodeVITC = 1
00376 } aafTimecodeSourceType_e;
00377
00378 cpp_quote("
00379
00380
00381
00382 ")
00383 typedef aafInt32 aafMobKind_t;
00384 typedef enum _aafMobKind_e
00385 {
00386 kAAFCompMob = 0,
00387 kAAFMasterMob = 1,
00388 kAAFFileMob = 2,
00389 kAAFTapeMob = 3,
00390 kAAFFilmMob = 4,
00391 kAAFPrimaryMob = 5,
00392 kAAFAllMob = 6,
00393 kAAFPhysicalMob = 7
00394 } aafMobKind_e;
00395
00396 typedef aafInt32 aafOperationChoice_t;
00397 typedef enum _aafOperationChoice_e
00398 {
00399 kAAFFindNull = 0,
00400 kAAFFindIncoming = 1,
00401 kAAFFindOutgoing = 2,
00402 kAAFFindRender = 3,
00403 kAAFFindOperationSrc1 = 4,
00404 kAAFFindOperationSrc2 = 5,
00405 kAAFFindOperationSrc3 = 6,
00406 kAAFFindOperationSrc4 = 7,
00407 kAAFFindOperationSrc5 = 8,
00408 kAAFFindOperationSrc6 = 9,
00409 kAAFFindOperationSrc7 = 10,
00410 kAAFFindOperationSrc8 = 11
00411 } aafOperationChoice_e;
00412
00413 typedef aafInt32 aafDepend_t;
00414 typedef enum _aafDepend_e
00415 {
00416 kAAFNoFollowDepend = 0,
00417 kAAFFollowDepend = 1
00418 } aafDepend_e;
00419
00420 typedef aafInt32 aafIncMedia_t;
00421 typedef enum _aafIncMedia_e
00422 {
00423 kAAFNoIncludeMedia = 0,
00424 kAAFIncludeMedia = 1
00425 } aafIncMedia_e;
00426
00427 cpp_quote("")
00428 typedef aafInt32 aafIndexType_t;
00429 typedef enum _aafIndexType_e
00430 {
00431 kAAFCompMobIndex = 0,
00432 kAAFSourceMobIndex = 1,
00433 kAAFMediaIndex = 2,
00434 kAAFPrimaryMobIndex = 3
00435 } aafIndexType_e;
00436
00437 cpp_quote("")
00438 typedef aafInt32 aafFadeType_t;
00439 typedef enum _aafFadeType_e
00440 {
00441 kAAFFadeNone = 0,
00442 kAAFFadeLinearAmp = 1,
00443 kAAFFadeLinearPower = 2
00444 } aafFadeType_e;
00445
00446 typedef aafInt32 aafAudioSampleType_t;
00447 typedef enum _aafAudioSampleType_e
00448 {
00449 kAAFOffsetBinary = 0,
00450 kAAFSignedMagnitude = 1
00451 } aafAudioSampleType_e;
00452
00453 typedef aafInt32 aafTapeCaseType_t;
00454 typedef enum _aafTapeCaseType_e
00455 {
00456 kAAFTapeCaseNull = 0,
00457 kAAFThreeFourthInchVideoTape = 1,
00458 kAAFVHSVideoTape = 2,
00459 kAAF8mmVideoTape = 3,
00460 kAAFBetacamVideoTape = 4,
00461 kAAFCompactCassette = 5,
00462 kAAFDATCartridge = 6,
00463 kAAFNagraAudioTape = 7
00464 } aafTapeCaseType_e;
00465
00466 typedef aafInt32 aafVideoSignalType_t;
00467 typedef enum _aafVideoSignalType_e
00468 {
00469 kAAFVideoSignalNull = 0,
00470 kAAFNTSCSignal = 1,
00471 kAAFPALSignal = 2,
00472 kAAFSECAMSignal = 3
00473 } aafVideoSignalType_e;
00474
00475 typedef aafInt32 aafTapeFormatType_t;
00476 typedef enum _aafTapeFormatType_e
00477 {
00478 kAAFTapeFormatNull = 0,
00479 kAAFBetacamFormat = 1,
00480 kAAFBetacamSPFormat = 2,
00481 kAAFVHSFormat = 3,
00482 kAAFSVHSFormat = 4,
00483 kAAF8mmFormat = 5,
00484 kAAFHi8Format = 6
00485 } aafTapeFormatType_e;
00486
00487 typedef aafInt32 aafAttributeKind_t;
00488 typedef enum _aafAttributeKind_e
00489 {
00490 kAAFNullAttribute = 0,
00491 kAAFIntegerAttribute = 1,
00492 kAAFStringAttribute = 2,
00493 kAAFObjectAttribute = 3
00494 } aafAttributeKind_e;
00495
00496 typedef aafInt32 aafPulldownKind_t;
00497 typedef enum _aafPulldownKind_e
00498 {
00499 kAAFTwoThreePD = 0,
00500 kAAFPALPD = 1,
00501 kAAFOneToOneNTSC = 2,
00502 kAAFOneToOnePAL = 3
00503 } aafPulldownKind_e;
00504
00505 typedef aafInt32 aafPhaseFrame_t;
00506
00507 typedef aafInt32 aafPulldownDir_t;
00508 typedef enum _aafPulldownDir_e
00509 {
00510 kAAFTapeToFilmSpeed = 0,
00511 kAAFFilmToTapeSpeed = 1
00512 } aafPulldownDir_e;
00513
00514 typedef struct _aafMobComment_t
00515 {
00516 aafString_t category;
00517 aafString_t comment;
00518 } aafMobComment_t;
00519
00520 typedef aafInt32 aafRGBAComponentKind_t;
00521 typedef enum _aafRGBAComponentKind_e
00522 {
00523 kAAFCompNone = 0x30,
00524 kAAFCompAlpha = 0x41,
00525 kAAFCompBlue = 0x42,
00526 kAAFCompFill = 0x46,
00527 kAAFCompGreen = 0x47,
00528 kAAFCompPalette = 0x50,
00529 kAAFCompRed = 0x52,
00530 kAAFCompNull = 0x0
00531 } aafRGBAComponentKind_e;
00532
00533 typedef struct _aafRGBAComponent_t
00534 {
00535 aafRGBAComponentKind_t Code;
00536 aafUInt8 Size;
00537 } aafRGBAComponent_t;
00538
00539
00540
00541 cpp_quote("
00542
00543
00544
00545 ")
00546 typedef aafInt32 aafInterpKind_t;
00547 typedef enum _aafInterpKind_e
00548 {
00549 kAAFConstInterp = 1,
00550 kAAFLinearInterp = 2
00551 } aafInterpKind_e;
00552
00553 typedef aafInt32 aafEditHint_t;
00554 typedef enum _aafEditHint_e
00555 {
00556 kAAFNoEditHint = 0,
00557 kAAFProportional = 1,
00558 kAAFRelativeLeft = 2,
00559 kAAFRelativeRight = 3,
00560 kAAFRelativeFixed = 4
00561 } aafEditHint_e;
00562
00563 typedef aafInt32 aafProductReleaseType_t;
00564 typedef enum _aafProductReleaseType_e
00565 {
00566 kAAFVersionUnknown = 0,
00567 kAAFVersionReleased = 1,
00568 kAAFVersionDebug = 2,
00569 kAAFVersionPatched = 3,
00570 kAAFVersionBeta = 4,
00571 kAAFVersionPrivateBuild = 5
00572 } aafProductReleaseType_e;
00573
00574 cpp_quote("
00575
00576
00577
00578 ")
00579 typedef struct _aafVersionType_t
00580 {
00581 aafInt8 major;
00582 aafInt8 minor;
00583 } aafVersionType_t;
00584
00585 typedef struct _aafProductVersion_t
00586 {
00587 aafUInt16 major;
00588 aafUInt16 minor;
00589 aafUInt16 tertiary;
00590 aafUInt16 patchLevel;
00591 aafProductReleaseType_t type;
00592 } aafProductVersion_t;
00593
00594 typedef struct _aafUID_t
00595 {
00596 // aafUInt32 value[4]; // binary compatibility with GUID/CLSID and IID structures.
00597 aafUInt32 Data1;
00598 aafUInt16 Data2;
00599 aafUInt16 Data3;
00600 aafUInt8 Data4[8];
00601 } aafUID_t;
00602
00603 typedef struct _aafMobID_t
00604 {
00605 aafUInt8 SMPTELabel[12]; // 12-bytes of label prefix
00606 aafUInt8 length;
00607 aafUInt8 instanceHigh;
00608 aafUInt8 instanceMid;
00609 aafUInt8 instanceLow;
00610 struct _aafUID_t material;
00611 } aafMobID_t;
00612
00613
00614
00615 typedef struct _aafProductIdentification_t
00616 {
00617 aafCharacter * companyName;
00618 aafCharacter * productName;
00619 aafCharacter * productVersionString;
00620 aafUID_t productID;
00621 aafCharacter * platform; // optional
00622 aafProductVersion_t * productVersion; // optional
00623 } aafProductIdentification_t;
00624
00625 cpp_quote("extern const aafProductVersion_t AAFReferenceImplementationVersion;")
00626
00627
00628
00629 typedef struct _aafDateStruct_t
00630 {
00631 aafInt16 year; /* range -32,767 to +32767 */
00632 aafUInt8 month; /* range: 1-12, inclusive */
00633 aafUInt8 day; /* range: 1-31, inclusive */
00634 } aafDateStruct_t;
00635
00636 typedef struct _aafTimeStruct_t
00637 {
00638 aafUInt8 hour; /* range 0-23 inclusive */
00639 aafUInt8 minute; /* range 0-59 inclusive */
00640 aafUInt8 second; /* range 0-59 inclusive */
00641 aafUInt8 fraction; /* range 0..99 inclusive; accuracy: .01 sec */
00642 } aafTimeStruct_t;
00643
00644 typedef struct _aafTimeStamp_t
00645 {
00646 aafDateStruct_t date;
00647 aafTimeStruct_t time;
00648 } aafTimeStamp_t;
00649
00650
00651
00652 typedef struct _aafRational_t
00653 {
00654 aafInt32 numerator;
00655 aafInt32 denominator;
00656 } aafRational_t;
00657
00658 typedef struct _aafRect_t
00659 {
00660 aafInt32 xOffset;
00661 aafInt32 yOffset;
00662 aafInt32 xSize;
00663 aafInt32 ySize;
00664 } aafRect_t;
00665
00666 typedef struct _aafmMultiXfer_t
00667 {
00668 aafUID_t * mediaKind; /* IN -- */
00669 aafInt16 subTrackNum; /* IN - The physical output channel */
00670 aafUInt32 numSamples; /* IN -- */
00671 aafUInt32 buflen; /* IN -- */
00672 aafDataBuffer_t buffer; /* IN/OUT -- */
00673 } aafmMultiXfer_t;
00674
00675 typedef struct _aafmMultiResult_t
00676 {
00677 aafUInt32 bytesXfered; /* OUT -- */
00678 aafUInt32 samplesXfered; /* OUT */
00679 } aafmMultiResult_t;
00680
00681 typedef struct _aafmMultiCreate_t
00682 {
00683 const aafUID_t * mediaKind; /* IN -- */
00684 aafInt16 subTrackNum; /* IN - The physical output channel */
00685 aafInt32 slotID; /* IN -- */
00686 aafRational_t sampleRate;
00687 } aafmMultiCreate_t;
00688
00689 cpp_quote("")
00690 typedef aafInt32 aafEdgeType_t;
00691 typedef enum _aafEdgeType_e
00692 {
00693 kAAFEtNull = 0,
00694 kAAFEtKeycode = 1,
00695 kAAFEtEdgenum4 = 2,
00696 kAAFEtEdgenum5 = 3,
00697 kAAFEtHeaderSize = 8
00698 } aafEdgeType_e;
00699
00700 typedef aafInt32 aafFilmType_t;
00701 typedef enum _aafFilmType_e
00702 {
00703 kAAFFtNull = 0,
00704 kAAFFt35MM = 1,
00705 kAAFFt16MM = 2,
00706 kAAFFt8MM = 3,
00707 kAAFFt65MM = 4
00708 } aafFilmType_e;
00709
00710 typedef aafInt32 aafDirectionCode_t;
00711 typedef enum _aafDirectionCode_e
00712 {
00713 kAAFDirCodeRight = 0,
00714 kAAFDirCodeUpperRight = 1,
00715 kAAFDirCodeUp = 2,
00716 kAAFDirCodeUpperLeft = 3,
00717 kAAFDirCodeLeft = 4,
00718 kAAFDirCodeLowerLeft = 5,
00719 kAAFDirCodeDown = 6,
00720 kAAFDirCodeLowerRight = 7
00721 } aafDirectionCode_e;
00722
00723 typedef aafInt32 aafColorSpace_t;
00724 typedef enum _aafColorSpace_e
00725 {
00726 kAAFColorSpaceRGB = 0,
00727 kAAFColorSpaceYUV = 1,
00728 kAAFColorSpaceYIQ = 2,
00729 kAAFColorSpaceHSI = 3,
00730 kAAFColorSpaceHSV = 4,
00731 kAAFColorSpaceYCrCb = 5,
00732 kAAFColorSpaceYDrDb = 6,
00733 kAAFColorSpaceCMYK = 7
00734 } aafColorSpace_e;
00735
00736 typedef struct _aafTimecode_t
00737 {
00738 aafFrameOffset_t startFrame;
00739 aafDropType_t drop;
00740 aafUInt16 fps; /* frames per second */
00741 } aafTimecode_t;
00742
00743 typedef aafUInt8 aafEdgecodeHeader_t[kAAFEtHeaderSize];
00744
00745 typedef struct _aafEdgecode_t
00746 {
00747 aafFrameOffset_t startFrame;
00748 aafFilmType_t filmKind;
00749 aafEdgeType_t codeFormat;
00750 aafEdgecodeHeader_t header;
00751 } aafEdgecode_t;
00752
00753 cpp_quote("")
00754 typedef struct _aafSourceRef_t
00755 {
00756 aafMobID_t sourceID;
00757 aafSlotID_t sourceSlotID;
00758 aafPosition_t startTime;
00759 } aafSourceRef_t;
00760
00761
00762 typedef struct _aafDefaultFade_t
00763 {
00764 aafLength_t fadeLength;
00765 aafFadeType_t fadeType;
00766 aafRational_t fadeEditUnit;
00767 aafBoolean_t valid; /* Are the above fields valid? */
00768 } aafDefaultFade_t;
00769
00770 cpp_quote("
00771
00772
00773
00774 ")
00775 //typedef aafInt16(*aafCriteriaProc_t)(IAAFFile * file,
00776 // IAAFObject * mdes,
00777 // aafCodecID_t codecID);
00778
00779 typedef aafInt32 aafCriteriaType_t;
00780 typedef enum _aafCriteriaType_e
00781 {
00782 kAAFAnyRepresentation = 0,
00783 kAAFFastestRepresentation = 1,
00784 kAAFBestFidelityRepresentation = 2,
00785 kAAFSmallestRepresentation = 3 //, Jeff may add this one back.
00786 // kAAFUseRepresentationProc = 4
00787 } aafCriteriaType_e;
00788
00789 typedef struct _aafMediaCriteria_t
00790 {
00791 aafCriteriaType_t type;
00792 // aafCriteriaProc_t proc;
00793 } aafMediaCriteria_t;
00794
00795 cpp_quote("
00796
00797
00798
00799 ")
00800
00801 typedef aafInt32 aafSearchTag_t;
00802 typedef enum _aafSearchTag_e
00803 {
00804 kAAFNoSearch = 0,
00805 kAAFByMobID = 1,
00806 kAAFByMobKind = 2,
00807 kAAFByName = 3,
00808 kAAFByClass = 4,
00809 kAAFByDataDef = 5,
00810 kAAFByMediaCrit = 6,
00811 kAAFByUsageCode = 7,
00812 kAAFByMasterMobUsageCode = 8,
00813 kAAFBySourceMobUsageCode = 9,
00814 kAAFByCompositionMobUsageCode = 10
00815 } aafSearchTag_e;
00816
00817
00818 cpp_quote("#if 0")
00819 typedef struct _aafSearchCrit_t
00820 {
00821
00822 aafSearchTag_t searchTag;
00823 [switch_is(searchTag)] union
00824 {
00825 [case(kAAFByMobID)]
00826 aafMobID_t mobID; // shouldn't this be a pointer?
00827 [case(kAAFByMobKind)]
00828 aafMobKind_t mobKind;
00829 [case(kAAFByName)]
00830 aafString_t name;
00831 [case(kAAFByClass)]
00832 aafClassID_t objClass; // shouldn't this be a pointer?
00833 [case(kAAFByDataDef)]
00834 aafUID_t datadef; // shouldn't this be a pointer?
00835 [case(kAAFByMediaCrit)]
00836 aafCriteriaType_t mediaCrit;
00837 [default] ;
00838 } ;
00839
00840 } aafSearchCrit_t;
00841 cpp_quote("#endif")
00842 cpp_quote("
00843 cpp_quote("typedef struct _aafSearchCrit_t")
00844 cpp_quote("{")
00845 cpp_quote(" aafSearchTag_t searchTag;")
00846 cpp_quote(" union")
00847 cpp_quote(" {")
00848 cpp_quote(" aafMobID_t mobID;
00849 cpp_quote(" aafMobKind_t mobKind;")
00850 cpp_quote(" aafString_t name;")
00851 cpp_quote(" aafClassID_t objClass;
00852 cpp_quote(" aafUID_t datadef;
00853 cpp_quote(" aafCriteriaType_t mediaCrit;")
00854 cpp_quote(" aafUID_t usageCode;")
00855 cpp_quote(" } tags;")
00856 cpp_quote("} aafSearchCrit_t;")
00857
00858
00859
00860 typedef aafInt32 aafDefinitionKind_t;
00861 typedef enum _aafDefinitionKind_e
00862 {
00863 kAAFClassDefinition = 1,
00864 kAAFPropertyDefinition = 2,
00865 kAAFTypeDefinition = 4,
00866 kAAFDataDefinition = 8,
00867 kAAFOperationDefinition = 16,
00868 kAAFAllDefinitions = -1
00869 } aafDefinitionKind_e;
00870
00871 typedef aafInt32 aafDefinitionCritType_t;
00872 typedef enum _aafDefinitionCritType_e
00873 {
00874 kAAFNoDefSearch = 0,
00875 kAAFByDefKind = 1,
00876 kAAFByDefName = 2,
00877 kAAFByDefClass = 3
00878 } aafDefinitionCritType_e;
00879
00880 typedef struct _aafDefinitionCrit_t
00881 {
00882 aafDefinitionCritType_t type;
00883 union
00884 {
00885 aafDefinitionKind_t defKind;
00886 aafString_t name;
00887 aafClassID_t objClass;
00888 } tags;
00889 } aafDefinitionCrit_t;
00890
00891 typedef aafInt32 aafIdentificationCritType_t;
00892 typedef enum _aafIdentificationCritType_e
00893 {
00894 kAAFNoIdSearch = 0,
00895 kAAFByIdProductID = 1,
00896 kAAFByIdGeneration = 2,
00897 kAAFByIdRefImplVersion = 3
00898 } aafIdentificationCritType_e;
00899
00900 typedef struct _aafIdentificationCrit_t
00901 {
00902 aafIdentificationCritType_t type;
00903 union
00904 {
00905 aafUID_t productID;
00906 aafUID_t generation;
00907 aafProductVersion_t referenceImplementationVersion;
00908 } tags;
00909 } aafIdentificationCrit_t;
00910
00911
00912 cpp_quote("/************************************************************")
00913 cpp_quote(" *")
00914 cpp_quote(" * Data Types for Searching the Class Dictionary")
00915 cpp_quote(" *")
00916 cpp_quote(" *************************************************************/")
00917
00918 typedef aafInt32 aafSearchDictionaryTag_t;
00919 typedef enum _aafSearchDictionaryTag_e
00920 {
00921 kAAFAllClasses = 0,
00922 kAAFByClassID = 1,
00923 kAAFByParentClassID = 2,
00924 kAAFByPropertyID = 3,
00925 kAAFByTypeID = 4,
00926 kAAFByClassName = 5
00927 } aafSearchDictionaryTag_e;
00928
00929
00930
00931
00932
00933
00934 typedef aafInt32 eAAFByteOrder_t;
00935 typedef enum _eAAFByteOrder_e
00936 {
00937
00938
00939
00940 kAAFByteOrderLittle = 0,
00941
00942
00943
00944
00945 kAAFByteOrderBig = 1
00946
00947 } eAAFByteOrder_e;
00948
00949
00950 cpp_quote("#if 0")
00951 typedef struct _aafSearchDictionaryCrit_t
00952 {
00953
00954 aafSearchDictionaryTag_t searchTag;
00955 [switch_is(searchTag)] union
00956 {
00957 [case(kAAFByClassID)]
00958 aafUID_t * classID;
00959 [case(kAAFByParentClassID)]
00960 aafUID_t * parentClassID;
00961 [case(kAAFByPropertyID)]
00962 aafUID_t * propertyID;
00963 [case(kAAFByTypeID)]
00964 aafUID_t * typeID;
00965 [case(kAAFByClassName)]
00966 aafString_t name;
00967 [default] ;
00968 } ;
00969
00970 } aafSearchDictionaryCrit_t;
00971
00972
00973
00974
00975
00976
00977
00978 cpp_quote("#endif")
00979 cpp_quote("
00980 cpp_quote("typedef struct _aafSearchDictionaryCrit_t")
00981 cpp_quote("{")
00982 cpp_quote(" aafSearchDictionaryTag_t searchTag;")
00983 cpp_quote(" union ")
00984 cpp_quote(" {")
00985 cpp_quote(" aafUID_t * classID;")
00986 cpp_quote(" aafUID_t * parentClassID;")
00987 cpp_quote(" aafUID_t * propertyID;")
00988 cpp_quote(" aafUID_t * typeID;")
00989 cpp_quote(" aafString_t name;")
00990 cpp_quote(" } tags;")
00991 cpp_quote("} aafSearchDictionaryCrit_t;")
00992
00993
00994
00995 typedef aafInt32 eAAFTypeCategory_t;
00996 typedef enum _eAAFTypeCategory_e
00997 {
00998 kAAFTypeCatUnknown = 0, // can only occur in damaged files
00999 kAAFTypeCatInt = 1, // any integral type
01000 kAAFTypeCatCharacter = 2, // any character type
01001 kAAFTypeCatStrongObjRef = 3, // strong object reference
01002 kAAFTypeCatWeakObjRef = 4, // weak object reference
01003 kAAFTypeCatRename = 5, // renamed type
01004 kAAFTypeCatEnum = 6, // enumerated type
01005 kAAFTypeCatFixedArray = 7, // fixed-size array
01006 kAAFTypeCatVariableArray = 8, // variably-sized array
01007 kAAFTypeCatSet = 9, // set of strong object references or
01008 // set of weak object references
01009 kAAFTypeCatRecord = 10, // a structured type
01010 kAAFTypeCatStream = 11, // potentially huge amount of data
01011 kAAFTypeCatString = 12, // null-terminated variably-sized
01012 // array of characters
01013 kAAFTypeCatExtEnum = 13, // extendible enumerated type
01014 kAAFTypeCatIndirect = 14, // type must be determined at runtime
01015 kAAFTypeCatOpaque = 15, // type can be determined at runtime
01016 kAAFTypeCatEncrypted = 16 // type can be determined at runtime
01017 // but bits are encrypted
01018 } eAAFTypeCategory_e;
01019
01020
01021 // typedefs to make things more consistent
01022 typedef aafBoolean_t aafBool;
01023 typedef aafColorSiting_t aafColorSitingType_t;
01024 typedef aafEditHint_t aafEditHintType_t;
01025 typedef aafFrameLayout_t aafLayoutType_t;
01026 typedef aafTimecodeSourceType_t aafTCSource_t;
01027 typedef aafPulldownDir_t aafPulldownDirectionType_t;
01028 typedef aafPulldownKind_t aafPulldownKindType_t;
01029 typedef aafSignalStandard_t aafSignalStandardType_t;
01030 typedef aafScanningDirection_t aafScanningDirectionType_t;
01031
01032
01033 cpp_quote("")
01034 cpp_quote("#ifndef STDMETHODCALLTYPE")
01035 cpp_quote(" #ifndef _MSC_VER")
01036 cpp_quote(" #ifdef __SC__")
01037 cpp_quote(" #define STDMETHODCALLTYPE _cdecl")
01038 cpp_quote(" #else")
01039 cpp_quote(" #define STDMETHODCALLTYPE")
01040 cpp_quote(" #endif")
01041 cpp_quote(" #else")
01042 cpp_quote(" #define STDMETHODCALLTYPE __stdcall")
01043 cpp_quote(" #endif")
01044 cpp_quote("#endif")
01045
01046
01047
01048 cpp_quote("#if 0")
01049 #if defined(__midl)
01050 /* MIDL 2.0 definitions */
01051 typedef aafArgIDType_t * aafArgIDType_constref;
01052 typedef aafEdgecodeHeader_t * aafEdgecodeHeader_constref;
01053 typedef aafEdgecode_t * aafEdgecode_constref;
01054 typedef aafEngine_t * aafEngine_constref;
01055 typedef aafHardwarePlatform_t * aafHardwarePlatform_constref;
01056 typedef aafMediaCriteria_t * aafMediaCriteria_constref;
01057 typedef aafPluginAPI_t * aafPluginAPI_constref;
01058 typedef aafPosition_t * aafPosition_constref;
01059 typedef aafProductIdentification_t * aafProductIdentification_constref;
01060 typedef aafProductVersion_t * aafProductVersion_constref;
01061 typedef aafRect_t * aafRect_constref;
01062 typedef aafSourceRef_t * aafSourceRef_constref;
01063 typedef aafTimecode_t * aafTimecode_constref;
01064 typedef aafLength_t * aafLength_constref;
01065 typedef aafRational_t * aafRational_constref;
01066 typedef aafTimeStamp_t * aafTimeStamp_constref;
01067 typedef aafUID_t * aafUID_constref;
01068 typedef aafMobID_t * aafMobID_constref;
01069 typedef aafVersionType_t * aafVersionType_constref;
01070 #else
01071 /* MIDL 1.1 definitions */
01072 typedef aafArgIDType_t aafArgIDType_constref;
01073 typedef aafEdgecodeHeader_t aafEdgecodeHeader_constref;
01074 typedef aafEdgecode_t aafEdgecode_constref;
01075 typedef aafEngine_t aafEngine_constref;
01076 typedef aafHardwarePlatform_t aafHardwarePlatform_constref;
01077 typedef aafMediaCriteria_t aafMediaCriteria_constref;
01078 typedef aafPluginAPI_t aafPluginAPI_constref;
01079 typedef aafPosition_t aafPosition_constref;
01080 typedef aafProductIdentification_t aafProductIdentification_constref;
01081 typedef aafProductVersion_t aafProductVersion_constref;
01082 typedef aafRect_t aafRect_constref;
01083 typedef aafSourceRef_t aafSourceRef_constref;
01084 typedef aafTimecode_t aafTimecode_constref;
01085 typedef aafLength_t aafLength_constref;
01086 typedef aafRational_t aafRational_constref;
01087 typedef aafTimeStamp_t aafTimeStamp_constref;
01088 typedef aafUID_t aafUID_constref;
01089 typedef aafMobID_t aafMobID_constref;
01090 typedef aafVersionType_t aafVersionType_constref;
01091 #endif
01092
01093 typedef unsigned char * aafMemConstPtr_t;
01094 typedef aafCharacter * aafCharacter_constptr;
01095 typedef aafMediaCriteria_t * aafMediaCriteria_constptr;
01096 typedef aafOperationChoice_t * aafOperationChoice_constptr;
01097 typedef aafProductVersion_t * aafProductVersion_constptr;
01098 typedef aafProductIdentification_t * aafProductIdentification_constptr;
01099 typedef aafSearchCrit_t * aafSearchCrit_constptr;
01100 typedef aafUID_t * aafUID_constptr;
01101 typedef aafMobID_t * aafMobID_constptr;
01102
01103 cpp_quote("#endif
01104
01105 cpp_quote("#if defined(__cplusplus)")
01106 cpp_quote("#define aafArgIDType_constref const aafArgIDType_t &")
01107 cpp_quote("#define aafEdgecodeHeader_constref const aafEdgecodeHeader_t &")
01108 cpp_quote("#define aafEdgecode_constref const aafEdgecode_t &")
01109 cpp_quote("#define aafEngine_constref const aafEngine_t &")
01110 cpp_quote("#define aafHardwarePlatform_constref const aafHardwarePlatform_t &")
01111 cpp_quote("#define aafLength_constref const aafLength_t &")
01112 cpp_quote("#define aafMediaCriteria_constref const aafMediaCriteria_t &")
01113 cpp_quote("#define aafPluginAPI_constref const aafPluginAPI_t &")
01114 cpp_quote("#define aafPosition_constref const aafPosition_t &")
01115 cpp_quote("#define aafProductIdentification_constref const aafProductIdentification_t &")
01116 cpp_quote("#define aafProductVersion_constref const aafProductVersion_t &")
01117 cpp_quote("#define aafRational_constref const aafRational_t &")
01118 cpp_quote("#define aafRect_constref const aafRect_t &")
01119 cpp_quote("#define aafSourceRef_constref const aafSourceRef_t &")
01120 cpp_quote("#define aafTimeStamp_constref const aafTimeStamp_t &")
01121 cpp_quote("#define aafTimecode_constref const aafTimecode_t &")
01122 cpp_quote("#define aafUID_constref const aafUID_t &")
01123 cpp_quote("#define aafMobID_constref const aafMobID_t &")
01124 cpp_quote("#define aafVersionType_constref const aafVersionType_t &")
01125 cpp_quote("#else
01126 cpp_quote("#define aafArgIDType_constref const aafArgIDType_t * const")
01127 cpp_quote("#define aafEdgecodeHeader_constref const aafEdgecodeHeader_t * const")
01128 cpp_quote("#define aafEdgecode_constref const aafEdgecode_t * const")
01129 cpp_quote("#define aafEngine_constref const aafEngine_t * const")
01130 cpp_quote("#define aafHardwarePlatform_constref const aafHardwarePlatform_t * const")
01131 cpp_quote("#define aafLength_constref const aafLength_t * const")
01132 cpp_quote("#define aafMediaCriteria_constref const aafMediaCriteria_t * const")
01133 cpp_quote("#define aafPluginAPI_constref const aafPluginAPI_t * const")
01134 cpp_quote("#define aafPosition_constref const aafPosition_t * const")
01135 cpp_quote("#define aafProductIdentification_constref const aafProductIdentification_t * const")
01136 cpp_quote("#define aafProductVersion_constref const aafProductVersion_t * const")
01137 cpp_quote("#define aafRational_constref const aafRational_t * const")
01138 cpp_quote("#define aafRect_constref const aafRect_t * const")
01139 cpp_quote("#define aafSourceRef_constref const aafSourceRef_t * const")
01140 cpp_quote("#define aafTimeStamp_constref const aafTimeStamp_t * const")
01141 cpp_quote("#define aafTimecode_constref const aafTimecode_t * const")
01142 cpp_quote("#define aafUID_constref const aafUID_t * const")
01143 cpp_quote("#define aafMobID_constref const aafMobID_t * const")
01144 cpp_quote("#define aafVersionType_constref const aafVersionType_t * const")
01145 cpp_quote("#endif
01146
01147 cpp_quote("#define aafMemConstPtr_t const unsigned char *")
01148 cpp_quote("#define aafCharacter_constptr const aafCharacter *")
01149 cpp_quote("#define aafMediaCriteria_constptr const aafMediaCriteria_t *")
01150 cpp_quote("#define aafOperationChoice_constptr const aafOperationChoice_t *")
01151 cpp_quote("#define aafProductVersion_constptr const aafProductVersion_t *")
01152 cpp_quote("#define aafProductIdentification_constptr const aafProductIdentification_t *")
01153 cpp_quote("#define aafSearchCrit_constptr const aafSearchCrit_t *")
01154 cpp_quote("#define aafUID_constptr const aafUID_t *")
01155 cpp_quote("#define aafMobID_constptr const aafMobID_t *")
01156
01157 }