00001 cpp_quote("//=---------------------------------------------------------------------=")
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
00027 cpp_quote("
00028 cpp_quote("
00029 cpp_quote("
00030 cpp_quote("
00031
00032 #ifndef DO_NO_IMPORTS
00033 import "unknwn.idl";
00034 #endif
00035
00036 #ifndef DO_NO_IMPORTS
00037 import "objidl.idl";
00038 #endif
00039
00040 #ifndef DO_NO_IMPORTS
00041 import "AAF.idl";
00042 #endif
00043
00044 #ifndef DO_NO_IMPORTS
00045 import "AAFPluginTypes.idl";
00046 #endif
00047
00048 interface IAAFPlugin;
00049 interface IAAFClassExtension;
00050 interface IAAFEssenceStream;
00051 interface IAAFEssenceDataStream;
00052 interface IAAFEssenceCodec;
00053 interface IAAFEssenceCodec2;
00054 interface IAAFMultiEssenceCodec;
00055 interface IAAFEssenceContainer;
00056 interface IAAFInterpolator;
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00077
00078
00079 [
00080 object,
00081 uuid(3631F7A4-9121-11d2-8088-006008143e6f),
00082 helpstring("IAAFPlugin Interface"),
00083 pointer_default(unique)
00084 ]
00085 interface IAAFPlugin : IUnknown
00086 {
00087
00088
00089
00090
00091
00092
00116 HRESULT CountDefinitions (
00117 [out] aafUInt32 * pDefCount);
00118
00119
00120
00121
00122
00155 HRESULT GetIndexedDefinitionID (
00156 [in] aafUInt32 index,
00157 [out] aafUID_t * pPluginID);
00158
00159
00160
00161
00162
00185 HRESULT GetPluginDescriptorID (
00186 [out] aafUID_t * pPluginID);
00187
00188
00189
00190
00191
00225 HRESULT GetIndexedDefinitionObject (
00226 [in] aafUInt32 index,
00227 [in] IAAFDictionary * pDictionary,
00228 [out] IAAFDefObject ** pDefObject);
00229
00230
00231
00232
00233
00260 HRESULT CreateDescriptor (
00261 [in] IAAFDictionary * pDictionary,
00262 [out] IAAFPluginDef ** pPluginDef);
00263
00264 }
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00285 [
00286 object,
00287 uuid(65C07344-DF36-11d3-8008-00104bc9156d),
00288 helpstring("IAAFClassExtension Interface"),
00289 pointer_default(unique)
00290 ]
00291 interface IAAFClassExtension : IUnknown
00292 {
00293
00294
00295
00296
00297
00298
00318 HRESULT RegisterDefinitions (
00319 [in] IAAFDictionary * pDictionary);
00320
00321 }
00322
00323
00324
00325
00326
00327
00328
00329
00330
00350
00351
00352 [
00353 object,
00354 uuid(83402902-9146-11d2-8088-006008143e6f),
00355 helpstring("IAAFEssenceStream Interface"),
00356 pointer_default(unique)
00357 ]
00358 interface IAAFEssenceStream : IUnknown
00359 {
00360
00361
00362
00363
00364
00365
00386 HRESULT Write (
00387 [in] aafUInt32 bytes,
00388 [out, size_is(bytes)] aafDataBuffer_t buffer,
00389 [out,ref] aafUInt32 * bytesWritten);
00390
00391
00392
00393
00394
00395
00416 HRESULT Read (
00417 [in] aafUInt32 buflen,
00418 [out, size_is(buflen), length_is(*pBytesRead)] aafDataBuffer_t pBuffer,
00419 [out,ref] aafUInt32 * pBytesRead);
00420
00421
00422
00423
00424
00429 HRESULT Seek (
00430 [in] aafPosition_t byteOffset);
00441
00442
00443
00444
00445
00460 HRESULT SeekRelative (
00461 [in] aafInt32 byteOffset);
00462
00463
00464
00465
00466
00481 HRESULT GetPosition (
00482 [out] aafPosition_t * pPosition);
00483
00484
00485
00486
00487
00502 HRESULT GetLength (
00503 [out] aafLength_t * pLength);
00504
00511
00512
00513
00514
00515
00530 HRESULT FlushCache ();
00531
00532
00533
00534
00535
00548 HRESULT SetCacheSize (
00549 [in] aafUInt32 itsSize);
00550
00551 }
00552
00553
00554
00555
00556
00557
00558
00559
00560
00561
00585 [
00586 object,
00587 uuid(CDDB6AB1-98DC-11d2-808a-006008143e6f),
00588 helpstring("IAAFEssenceDataStream Interface"),
00589 pointer_default(unique)
00590 ]
00591 interface IAAFEssenceDataStream : IUnknown
00592 {
00593
00594
00595
00596
00597
00598
00603 HRESULT Init (
00604 [in] IUnknown * essenceData);
00605
00606 }
00607
00608
00609
00610
00611
00612
00613
00614
00615
00616
00617
00618
00640
00641
00646 [
00647 object,
00648 uuid(3631F7A2-9121-11d2-8088-006008143e6f),
00649 helpstring("IAAFEssenceCodec Interface"),
00650 pointer_default(unique)
00651 ]
00652 interface IAAFEssenceCodec : IUnknown
00653 {
00654
00660
00661
00662
00663
00664
00665
00689 HRESULT SetEssenceAccess (
00690 [in] IAAFEssenceAccess * pEssenceAccess);
00691
00692
00693
00694
00695
00696
00697
00715 HRESULT CountFlavours (
00716 [out] aafUInt32* pCount);
00717
00718
00719
00720
00721
00722
00745 HRESULT GetIndexedFlavourID (
00746 [in] aafUInt32 index,
00747 [out] aafUID_t * pVariant);
00748
00749
00750
00751
00752
00753
00771 HRESULT CountDataDefinitions (
00772 [out] aafUInt32* pCount);
00773
00774
00775
00776
00777
00778
00798 HRESULT GetIndexedDataDefinition (
00799 [in] aafUInt32 index,
00800 [out] aafUID_t * pDataDefID);
00801
00802
00803
00804
00805
00806
00824 HRESULT GetMaxCodecDisplayNameLength (
00825 [out] aafUInt32* pBufSize);
00826
00827
00828
00829
00830
00831
00848 HRESULT GetCodecDisplayName (
00849 [in, ref] aafUID_constref flavour,
00850 [out, string, size_is(bufSize)] aafCharacter * pName,
00851 [in] aafUInt32 bufSize);
00852
00853
00862
00863
00864
00865
00866
00867
00897 HRESULT CountChannels (
00898 [in] IAAFSourceMob * fileMob,
00899 [in, ref] aafUID_constref essenceKind,
00900 [in] IAAFEssenceStream * stream,
00901 [out] aafUInt16 * pNumChannels);
00902
00903
00904
00905
00906
00907
00935 HRESULT GetSelectInfo (
00936 [in] IAAFSourceMob * fileMob,
00937 [in] IAAFEssenceStream * stream,
00938 [out] aafSelectInfo_t * pSelectInfo);
00939
00940
00941
00942
00943
00944
00975 HRESULT ValidateEssence (
00976 [in] IAAFSourceMob * fileMob,
00977 [in] IAAFEssenceStream * stream,
00978 [in] aafCheckVerbose_t verbose,
00979 [in] aafCheckWarnings_t outputWarnings,
00980 [in] aafUInt32 bufSize,
00981 [out, size_is(bufSize), length_is(*pBytesRead)] aafCharacter * pErrorText,
00982 [out] aafUInt32* pBytesRead);
00983
00984
00985
00986
00987
00988
01016 HRESULT Create (
01017 [in] IAAFSourceMob * fileMob,
01018 [in, ref] aafUID_constref flavour,
01019 [in, ref] aafUID_constref essenceKind,
01020 [in, ref] aafRational_constref sampleRate,
01021 [in] IAAFEssenceStream * stream,
01022 [in] aafCompressEnable_t compEnable);
01023
01024
01025
01026
01027
01028
01052 HRESULT Open (
01053 [in] IAAFSourceMob * fileMob,
01054 [in] aafMediaOpenMode_t openMode,
01055 [in] IAAFEssenceStream * stream,
01056 [in] aafCompressEnable_t compEnable);
01057
01058
01064
01065
01066
01067
01068
01069
01087 HRESULT CountSamples (
01088 [in, ref] aafUID_constref essenceKind,
01089 [out] aafLength_t * pNumSamples);
01090
01091
01092
01093
01094
01095
01128 HRESULT WriteSamples (
01129 [in] aafUInt32 nSamples,
01130 [in] aafUInt32 buflen,
01131 [in,size_is(buflen)] aafDataBuffer_t buffer,
01132 [out, ref] aafUInt32 * samplesWritten,
01133 [out, ref] aafUInt32 * bytesWritten);
01134
01135
01136
01137
01138
01139
01170 HRESULT ReadSamples (
01171 [in] aafUInt32 nSamples,
01172 [in] aafUInt32 buflen,
01173 [out, size_is(buflen),length_is(*bytesRead)] aafDataBuffer_t buffer,
01174 [out, ref] aafUInt32 * samplesRead,
01175 [out, ref] aafUInt32 * bytesRead);
01176
01177
01178
01179
01180
01181
01198 HRESULT Seek (
01199 [in] aafPosition_t sampleFrame);
01200
01201
01202
01203
01204
01205
01233 HRESULT CompleteWrite (
01234 [in] IAAFSourceMob * pFileMob);
01235
01236
01241
01242
01243
01244
01245
01246
01263 HRESULT CreateDescriptorFromStream (
01264 [in] IAAFEssenceStream * pStream,
01265 [in] IAAFSourceMob * pSourceMob);
01266
01267
01268
01269
01270
01271
01286 HRESULT GetCurrentEssenceStream (
01287 [out] IAAFEssenceStream ** ppStream);
01288
01289
01290
01291
01292
01293
01324 HRESULT PutEssenceFormat (
01325 [in] IAAFEssenceFormat * pFormat);
01326
01327
01328
01329
01330
01331
01364 HRESULT GetEssenceFormat (
01365 [in] IAAFEssenceFormat * pFormatTemplate,
01366 [out] IAAFEssenceFormat ** ppNewFormat);
01367
01368
01369
01370
01371
01372
01395 HRESULT GetDefaultEssenceFormat (
01396 [out] IAAFEssenceFormat ** ppNewFormat);
01397
01398
01399
01400
01401
01402
01418 HRESULT GetEssenceDescriptorID (
01419 [out] aafUID_t * pDescriptorID);
01420
01421
01422
01423
01424
01425
01441 HRESULT GetEssenceDataID (
01442 [out] aafUID_t * pEssenceDataID);
01443
01444
01445
01446
01447
01448
01468 HRESULT GetIndexedSampleSize (
01469 [in, ref] aafUID_constref essenceDefID,
01470 [in] aafPosition_t sampleOffset,
01471 [out] aafLength_t * pLength);
01472
01473
01474
01475
01476
01477
01496 HRESULT GetLargestSampleSize (
01497 [in, ref] aafUID_constref essenceDefID,
01498 [out] aafLength_t * pLength);
01499
01500
01501
01502
01503 }
01504
01505
01506
01507
01508
01509
01510
01515
01516
01520 [
01521 object,
01522 uuid(8888F7A2-9121-11d2-8088-006008143e6f),
01523 helpstring("IAAFEssenceCodec2 Interface"),
01524 pointer_default(unique)
01525 ]
01526 interface IAAFEssenceCodec2 : IUnknown
01527 {
01528
01529
01530
01531
01532
01533
01534
01552 HRESULT SetFlavour (
01553 [in, ref] aafUID_constref flavour);
01554
01555 }
01556
01557
01558
01559
01560
01561
01562
01563
01564
01565
01566
01588
01589
01593 [
01594 object,
01595 uuid(7F93992D-DDA3-11d3-8008-00104bc9156d),
01596 helpstring("IAAFMultiEssenceCodec Interface"),
01597 pointer_default(unique)
01598 ]
01599 interface IAAFMultiEssenceCodec : IUnknown
01600 {
01601
01602
01608
01609
01618
01619
01620
01621
01622
01623
01651 HRESULT MultiCreate (
01652 [in] IAAFSourceMob * fileMob,
01653 [in, ref] aafUID_constref flavour,
01654 [in] IAAFEssenceStream * stream,
01655 [in] aafCompressEnable_t compEnable,
01656 [in] aafUInt32 numParms,
01657 [in, size_is(numParms)] aafmMultiCreate_t * createParms);
01658
01659
01660
01661
01662
01663
01683 HRESULT MultiOpen (
01684 [in] IAAFSourceMob * fileMob,
01685 [in] aafMediaOpenMode_t openMode,
01686 [in] IAAFEssenceStream * stream,
01687 [in] aafCompressEnable_t compEnable);
01688
01689
01695
01696
01697
01698
01699
01700
01701
01702
01737 HRESULT WriteBlocks (
01738 [in] aafDeinterleave_t inter,
01739 [in] aafUInt16 xferBlockCount,
01740 [in, size_is(xferBlockCount)] aafmMultiXfer_t * pTransferParm,
01741 [out, size_is(xferBlockCount)] aafmMultiResult_t * pResultParm);
01742
01743
01744
01745
01746
01779 HRESULT ReadBlocks (
01780 [in] aafDeinterleave_t inter,
01781 [in] aafUInt16 xferBlockCount,
01782 [out, size_is(xferBlockCount)] aafmMultiXfer_t * pTransferParm,
01783 [out, size_is(xferBlockCount)] aafmMultiResult_t * pResultParm);
01784 }
01785
01786
01787
01788
01789
01790
01791
01792
01805
01806 [
01807 object,
01808 uuid(a7337031-c103-11d2-808a-006008143e6f),
01809 helpstring("IAAFEssenceContainer Interface"),
01810 pointer_default(unique)
01811 ]
01812 interface IAAFEssenceContainer : IUnknown
01813 {
01814
01815
01816
01817
01818
01840 HRESULT CreateEssenceStream (
01841 [in, string] aafCharacter_constptr pName,
01842 [in] aafMobID_constptr pMobID,
01843 [out, retval] IAAFEssenceStream ** ppEssenceStream);
01844
01845
01846
01847
01848
01849
01871 HRESULT CreateEssenceStreamWriteOnly (
01872 [in, string] aafCharacter_constptr pPath,
01873 [in] aafMobID_constptr pMobID,
01874 [out, retval] IAAFEssenceStream ** ppEssenceStream);
01875
01876
01877
01878
01879
01880
01904 HRESULT OpenEssenceStreamReadOnly (
01905 [in, string] aafCharacter_constptr pFilePath,
01906 [in] aafMobID_constptr pMobID,
01907 [out, retval] IAAFEssenceStream ** ppEssenceStream);
01908
01909
01910
01911
01912
01913
01937 HRESULT OpenEssenceStreamAppend (
01938 [in, string] aafCharacter_constptr pFilePath,
01939 [in] aafMobID_constptr pMobID,
01940 [out, retval] IAAFEssenceStream ** ppEssenceStream);
01941 }
01942
01943
01944
01945
01946
01947
01948
01949
01950
01970
01971
01975 [
01976 object,
01977 uuid(75C6CDF2-0D67-11d3-80A9-006008143e6f),
01978 helpstring("IAAFInterpolator Interface"),
01979 pointer_default(unique)
01980 ]
01981 interface IAAFInterpolator : IUnknown
01982 {
01983
01984
01990
01991
01992
01993
01994
02015 HRESULT GetNumTypesSupported (
02016 [out] aafUInt32* pCount);
02017
02018
02019
02020
02021
02022
02049 HRESULT GetIndexedSupportedType (
02050 [in] aafUInt32 index,
02051 [out] IAAFTypeDef ** ppType);
02052
02053
02054
02055
02056
02080 HRESULT GetTypeDefinition (
02081 [out] IAAFTypeDef ** ppTypeDef);
02082
02083
02084
02085
02086
02087
02105 HRESULT SetTypeDefinition (
02106 [in] IAAFTypeDef * pTypeDef);
02107
02108
02109
02110
02111
02112
02136 HRESULT GetParameter (
02137 [out] IAAFParameter ** ppParameter);
02138
02139
02140
02141
02142
02143
02161 HRESULT SetParameter (
02162 [in] IAAFParameter * pParameter);
02163
02164
02165
02166
02167
02168
02196 HRESULT InterpolateOne (
02197 [in] aafRational_t * pInputValue,
02198 [in] aafUInt32 valueSize,
02199 [out, size_is(valueSize),length_is(*bytesRead)] aafDataBuffer_t pValue,
02200 [out] aafUInt32* bytesRead);
02201
02202
02203
02204
02205
02206
02240 HRESULT InterpolateMany (
02241 [in] aafRational_t * pStartInputValue,
02242 [in] aafRational_t * pInputStep,
02243 [in] aafUInt32 generateCount,
02244 [out] aafMemPtr_t pOutputValue,
02245 [out] aafUInt32 * pResultCount);
02246 }
02247