00001
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 cpp_quote("
00028 cpp_quote("
00029 cpp_quote("
00030 cpp_quote("
00031 cpp_quote("
00032 cpp_quote("
00033 cpp_quote("
00034 cpp_quote("
00035 cpp_quote("
00036 cpp_quote("
00037 cpp_quote("
00038 cpp_quote("
00039
00040 cpp_quote("
00041 cpp_quote("
00042 cpp_quote("
00043 cpp_quote("
00044
00045 #ifndef DO_NO_IMPORTS
00046 import "unknwn.idl";
00047 #endif
00048
00049 #ifndef DO_NO_IMPORTS
00050 import "objidl.idl";
00051 #endif
00052
00053 #ifndef DO_NO_IMPORTS
00054 import "AAF.idl";
00055 #endif
00056
00057 #ifndef DO_NO_IMPORTS
00058 import "AAFPluginTypes.idl";
00059 #endif
00060
00061 interface IAAFClassExtension;
00062 interface IAAFEssenceCodec;
00063 interface IAAFEssenceCodec2;
00064 interface IAAFEssenceCodec3;
00065 interface IAAFEssenceContainer;
00066 interface IAAFEssenceDataStream;
00067 interface IAAFEssenceDataStream2;
00068 interface IAAFEssenceStream;
00069 interface IAAFInterpolator;
00070 interface IAAFMultiEssenceCodec;
00071 interface IAAFPlugin;
00072
00073
00074
00075
00076
00077
00078
00079
00080
00091 [
00092 object,
00093 uuid(65C07344-DF36-11d3-8008-00104bc9156d),
00094 helpstring("IAAFClassExtension Interface"),
00095 pointer_default(unique)
00096 ]
00097 interface IAAFClassExtension : IUnknown
00098 {
00099
00100
00101
00102
00103
00104
00124 HRESULT RegisterDefinitions (
00125 [in] IAAFDictionary * pDictionary);
00126
00127 }
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00162
00163
00167 [
00168 object,
00169 uuid(3631F7A2-9121-11d2-8088-006008143e6f),
00170 helpstring("IAAFEssenceCodec Interface"),
00171 pointer_default(unique)
00172 ]
00173 interface IAAFEssenceCodec : IUnknown
00174 {
00175
00181
00182
00183
00184
00185
00186
00210 HRESULT SetEssenceAccess (
00211 [in] IAAFEssenceAccess * pEssenceAccess);
00212
00213
00214
00215
00216
00217
00218
00236 HRESULT CountFlavours (
00237 [out] aafUInt32* pCount);
00238
00239
00240
00241
00242
00243
00266 HRESULT GetIndexedFlavourID (
00267 [in] aafUInt32 index,
00268 [out] aafUID_t * pVariant);
00269
00270
00271
00272
00273
00274
00292 HRESULT CountDataDefinitions (
00293 [out] aafUInt32* pCount);
00294
00295
00296
00297
00298
00299
00319 HRESULT GetIndexedDataDefinition (
00320 [in] aafUInt32 index,
00321 [out] aafUID_t * pDataDefID);
00322
00323
00324
00325
00326
00327
00345 HRESULT GetMaxCodecDisplayNameLength (
00346 [out] aafUInt32* pBufSize);
00347
00348
00349
00350
00351
00352
00369 HRESULT GetCodecDisplayName (
00370 [in, ref] aafUID_constref flavour,
00371 [out, string, size_is(bufSize)] aafCharacter * pName,
00372 [in] aafUInt32 bufSize);
00373
00374
00383
00384
00385
00386
00387
00388
00418 HRESULT CountChannels (
00419 [in] IAAFSourceMob * fileMob,
00420 [in, ref] aafUID_constref essenceKind,
00421 [in] IAAFEssenceStream * stream,
00422 [out] aafUInt16 * pNumChannels);
00423
00424
00425
00426
00427
00428
00456 HRESULT GetSelectInfo (
00457 [in] IAAFSourceMob * fileMob,
00458 [in] IAAFEssenceStream * stream,
00459 [out] aafSelectInfo_t * pSelectInfo);
00460
00461
00462
00463
00464
00465
00496 HRESULT ValidateEssence (
00497 [in] IAAFSourceMob * fileMob,
00498 [in] IAAFEssenceStream * stream,
00499 [in] aafCheckVerbose_t verbose,
00500 [in] aafCheckWarnings_t outputWarnings,
00501 [in] aafUInt32 bufSize,
00502 [out, size_is(bufSize), length_is(*pBytesRead)] aafCharacter * pErrorText,
00503 [out] aafUInt32* pBytesRead);
00504
00505
00506
00507
00508
00509
00537 HRESULT Create (
00538 [in] IAAFSourceMob * fileMob,
00539 [in, ref] aafUID_constref flavour,
00540 [in, ref] aafUID_constref essenceKind,
00541 [in, ref] aafRational_constref sampleRate,
00542 [in] IAAFEssenceStream * stream,
00543 [in] aafCompressEnable_t compEnable);
00544
00545
00546
00547
00548
00549
00573 HRESULT Open (
00574 [in] IAAFSourceMob * fileMob,
00575 [in] aafMediaOpenMode_t openMode,
00576 [in] IAAFEssenceStream * stream,
00577 [in] aafCompressEnable_t compEnable);
00578
00579
00585
00586
00587
00588
00589
00590
00608 HRESULT CountSamples (
00609 [in, ref] aafUID_constref essenceKind,
00610 [out] aafLength_t * pNumSamples);
00611
00612
00613
00614
00615
00616
00649 HRESULT WriteSamples (
00650 [in] aafUInt32 nSamples,
00651 [in] aafUInt32 buflen,
00652 [in,size_is(buflen)] aafDataBuffer_t buffer,
00653 [out, ref] aafUInt32 * samplesWritten,
00654 [out, ref] aafUInt32 * bytesWritten);
00655
00656
00657
00658
00659
00660
00691 HRESULT ReadSamples (
00692 [in] aafUInt32 nSamples,
00693 [in] aafUInt32 buflen,
00694 [out, size_is(buflen),length_is(*bytesRead)] aafDataBuffer_t buffer,
00695 [out, ref] aafUInt32 * samplesRead,
00696 [out, ref] aafUInt32 * bytesRead);
00697
00698
00699
00700
00701
00702
00719 HRESULT Seek (
00720 [in] aafPosition_t sampleFrame);
00721
00722
00723
00724
00725
00726
00754 HRESULT CompleteWrite (
00755 [in] IAAFSourceMob * pFileMob);
00756
00757
00762
00763
00764
00765
00766
00767
00784 HRESULT CreateDescriptorFromStream (
00785 [in] IAAFEssenceStream * pStream,
00786 [in] IAAFSourceMob * pSourceMob);
00787
00788
00789
00790
00791
00792
00807 HRESULT GetCurrentEssenceStream (
00808 [out] IAAFEssenceStream ** ppStream);
00809
00810
00811
00812
00813
00814
00845 HRESULT PutEssenceFormat (
00846 [in] IAAFEssenceFormat * pFormat);
00847
00848
00849
00850
00851
00852
00885 HRESULT GetEssenceFormat (
00886 [in] IAAFEssenceFormat * pFormatTemplate,
00887 [out] IAAFEssenceFormat ** ppNewFormat);
00888
00889
00890
00891
00892
00893
00916 HRESULT GetDefaultEssenceFormat (
00917 [out] IAAFEssenceFormat ** ppNewFormat);
00918
00919
00920
00921
00922
00923
00939 HRESULT GetEssenceDescriptorID (
00940 [out] aafUID_t * pDescriptorID);
00941
00942
00943
00944
00945
00946
00962 HRESULT GetEssenceDataID (
00963 [out] aafUID_t * pEssenceDataID);
00964
00965
00966
00967
00968
00969
00989 HRESULT GetIndexedSampleSize (
00990 [in, ref] aafUID_constref essenceDefID,
00991 [in] aafPosition_t sampleOffset,
00992 [out] aafLength_t * pLength);
00993
00994
00995
00996
00997
00998
01017 HRESULT GetLargestSampleSize (
01018 [in, ref] aafUID_constref essenceDefID,
01019 [out] aafLength_t * pLength);
01020
01021
01022
01023
01024
01025
01026
01027 }
01028
01029
01030
01031
01032
01033
01034
01035
01036
01037
01065 [
01066 object,
01067 uuid(8888F7A2-9121-11d2-8088-006008143e6f),
01068 helpstring("IAAFEssenceCodec2 Interface"),
01069 pointer_default(unique)
01070 ]
01071 interface IAAFEssenceCodec2 : IUnknown
01072 {
01073
01074
01075
01076
01077
01078
01079
01080
01081
01105 HRESULT SetEssenceAccess (
01106 [in] IAAFEssenceAccess * pEssenceAccess);
01107
01108
01109
01110
01111
01112
01113
01131 HRESULT CountFlavours (
01132 [out] aafUInt32* pCount);
01133
01134
01135
01136
01137
01138
01161 HRESULT GetIndexedFlavourID (
01162 [in] aafUInt32 index,
01163 [out] aafUID_t * pVariant);
01164
01165
01166
01167
01168
01169
01187 HRESULT CountDataDefinitions (
01188 [out] aafUInt32* pCount);
01189
01190
01191
01192
01193
01194
01214 HRESULT GetIndexedDataDefinition (
01215 [in] aafUInt32 index,
01216 [out] aafUID_t * pDataDefID);
01217
01218
01219
01220
01221
01222
01240 HRESULT GetMaxCodecDisplayNameLength (
01241 [out] aafUInt32* pBufSize);
01242
01243
01244
01245
01246
01247
01264 HRESULT GetCodecDisplayName (
01265 [in, ref] aafUID_constref flavour,
01266 [out, string, size_is(bufSize)] aafCharacter * pName,
01267 [in] aafUInt32 bufSize);
01268
01269
01278
01279
01280
01281
01282
01283
01313 HRESULT CountChannels (
01314 [in] IAAFSourceMob * fileMob,
01315 [in, ref] aafUID_constref essenceKind,
01316 [in] IAAFEssenceStream * stream,
01317 [out] aafUInt16 * pNumChannels);
01318
01319
01320
01321
01322
01323
01351 HRESULT GetSelectInfo (
01352 [in] IAAFSourceMob * fileMob,
01353 [in] IAAFEssenceStream * stream,
01354 [out] aafSelectInfo_t * pSelectInfo);
01355
01356
01357
01358
01359
01360
01391 HRESULT ValidateEssence (
01392 [in] IAAFSourceMob * fileMob,
01393 [in] IAAFEssenceStream * stream,
01394 [in] aafCheckVerbose_t verbose,
01395 [in] aafCheckWarnings_t outputWarnings,
01396 [in] aafUInt32 bufSize,
01397 [out, size_is(bufSize), length_is(*pBytesRead)] aafCharacter * pErrorText,
01398 [out] aafUInt32* pBytesRead);
01399
01400
01401
01402
01403
01404
01432 HRESULT Create (
01433 [in] IAAFSourceMob * fileMob,
01434 [in, ref] aafUID_constref flavour,
01435 [in, ref] aafUID_constref essenceKind,
01436 [in, ref] aafRational_constref sampleRate,
01437 [in] IAAFEssenceStream * stream,
01438 [in] aafCompressEnable_t compEnable);
01439
01440
01441
01442
01443
01444
01468 HRESULT Open (
01469 [in] IAAFSourceMob * fileMob,
01470 [in] aafMediaOpenMode_t openMode,
01471 [in] IAAFEssenceStream * stream,
01472 [in] aafCompressEnable_t compEnable);
01473
01474
01480
01481
01482
01483
01484
01485
01503 HRESULT CountSamples (
01504 [in, ref] aafUID_constref essenceKind,
01505 [out] aafLength_t * pNumSamples);
01506
01507
01508
01509
01510
01511
01544 HRESULT WriteSamples (
01545 [in] aafUInt32 nSamples,
01546 [in] aafUInt32 buflen,
01547 [in,size_is(buflen)] aafDataBuffer_t buffer,
01548 [out, ref] aafUInt32 * samplesWritten,
01549 [out, ref] aafUInt32 * bytesWritten);
01550
01551
01552
01553
01554
01555
01586 HRESULT ReadSamples (
01587 [in] aafUInt32 nSamples,
01588 [in] aafUInt32 buflen,
01589 [out, size_is(buflen),length_is(*bytesRead)] aafDataBuffer_t buffer,
01590 [out, ref] aafUInt32 * samplesRead,
01591 [out, ref] aafUInt32 * bytesRead);
01592
01593
01594
01595
01596
01597
01614 HRESULT Seek (
01615 [in] aafPosition_t sampleFrame);
01616
01617
01618
01619
01620
01621
01649 HRESULT CompleteWrite (
01650 [in] IAAFSourceMob * pFileMob);
01651
01652
01657
01658
01659
01660
01661
01662
01679 HRESULT CreateDescriptorFromStream (
01680 [in] IAAFEssenceStream * pStream,
01681 [in] IAAFSourceMob * pSourceMob);
01682
01683
01684
01685
01686
01687
01702 HRESULT GetCurrentEssenceStream (
01703 [out] IAAFEssenceStream ** ppStream);
01704
01705
01706
01707
01708
01709
01740 HRESULT PutEssenceFormat (
01741 [in] IAAFEssenceFormat * pFormat);
01742
01743
01744
01745
01746
01747
01780 HRESULT GetEssenceFormat (
01781 [in] IAAFEssenceFormat * pFormatTemplate,
01782 [out] IAAFEssenceFormat ** ppNewFormat);
01783
01784
01785
01786
01787
01788
01811 HRESULT GetDefaultEssenceFormat (
01812 [out] IAAFEssenceFormat ** ppNewFormat);
01813
01814
01815
01816
01817
01818
01834 HRESULT GetEssenceDescriptorID (
01835 [out] aafUID_t * pDescriptorID);
01836
01837
01838
01839
01840
01841
01857 HRESULT GetEssenceDataID (
01858 [out] aafUID_t * pEssenceDataID);
01859
01860
01861
01862
01863
01864
01884 HRESULT GetIndexedSampleSize (
01885 [in, ref] aafUID_constref essenceDefID,
01886 [in] aafPosition_t sampleOffset,
01887 [out] aafLength_t * pLength);
01888
01889
01890
01891
01892
01893
01912 HRESULT GetLargestSampleSize (
01913 [in, ref] aafUID_constref essenceDefID,
01914 [out] aafLength_t * pLength);
01915
01916
01917
01918
01919
01920
01938 HRESULT SetFlavour (
01939 [in, ref] aafUID_constref flavour);
01940
01941 }
01942
01943
01944
01945
01946
01947
01948
01949
01950
01951
01952
01980 [
01981 object,
01982 uuid(F375A58F-EB6A-49C7-90A2-7937329AE0E4),
01983 helpstring("IAAFEssenceCodec3 Interface"),
01984 pointer_default(unique)
01985 ]
01986 interface IAAFEssenceCodec3 : IUnknown
01987 {
01988
01989
01990
01991
01992
01993
01994
01995
01996
02020 HRESULT SetEssenceAccess (
02021 [in] IAAFEssenceAccess * pEssenceAccess);
02022
02023
02024
02025
02026
02027
02028
02046 HRESULT CountFlavours (
02047 [out] aafUInt32* pCount);
02048
02049
02050
02051
02052
02053
02076 HRESULT GetIndexedFlavourID (
02077 [in] aafUInt32 index,
02078 [out] aafUID_t * pVariant);
02079
02080
02081
02082
02083
02084
02102 HRESULT CountDataDefinitions (
02103 [out] aafUInt32* pCount);
02104
02105
02106
02107
02108
02109
02129 HRESULT GetIndexedDataDefinition (
02130 [in] aafUInt32 index,
02131 [out] aafUID_t * pDataDefID);
02132
02133
02134
02135
02136
02137
02155 HRESULT GetMaxCodecDisplayNameLength (
02156 [out] aafUInt32* pBufSize);
02157
02158
02159
02160
02161
02162
02179 HRESULT GetCodecDisplayName (
02180 [in, ref] aafUID_constref flavour,
02181 [out, string, size_is(bufSize)] aafCharacter * pName,
02182 [in] aafUInt32 bufSize);
02183
02184
02193
02194
02195
02196
02197
02198
02228 HRESULT CountChannels (
02229 [in] IAAFSourceMob * fileMob,
02230 [in, ref] aafUID_constref essenceKind,
02231 [in] IAAFEssenceStream * stream,
02232 [out] aafUInt16 * pNumChannels);
02233
02234
02235
02236
02237
02238
02266 HRESULT GetSelectInfo (
02267 [in] IAAFSourceMob * fileMob,
02268 [in] IAAFEssenceStream * stream,
02269 [out] aafSelectInfo_t * pSelectInfo);
02270
02271
02272
02273
02274
02275
02306 HRESULT ValidateEssence (
02307 [in] IAAFSourceMob * fileMob,
02308 [in] IAAFEssenceStream * stream,
02309 [in] aafCheckVerbose_t verbose,
02310 [in] aafCheckWarnings_t outputWarnings,
02311 [in] aafUInt32 bufSize,
02312 [out, size_is(bufSize), length_is(*pBytesRead)] aafCharacter * pErrorText,
02313 [out] aafUInt32* pBytesRead);
02314
02315
02316
02317
02318
02319
02347 HRESULT Create (
02348 [in] IAAFSourceMob * fileMob,
02349 [in, ref] aafUID_constref flavour,
02350 [in, ref] aafUID_constref essenceKind,
02351 [in, ref] aafRational_constref sampleRate,
02352 [in] IAAFEssenceStream * stream,
02353 [in] aafCompressEnable_t compEnable);
02354
02355
02356
02357
02358
02359
02383 HRESULT Open (
02384 [in] IAAFSourceMob * fileMob,
02385 [in] aafMediaOpenMode_t openMode,
02386 [in] IAAFEssenceStream * stream,
02387 [in] aafCompressEnable_t compEnable);
02388
02389
02395
02396
02397
02398
02399
02400
02418 HRESULT CountSamples (
02419 [in, ref] aafUID_constref essenceKind,
02420 [out] aafLength_t * pNumSamples);
02421
02422
02423
02424
02425
02426
02459 HRESULT WriteSamples (
02460 [in] aafUInt32 nSamples,
02461 [in] aafUInt32 buflen,
02462 [in,size_is(buflen)] aafDataBuffer_t buffer,
02463 [out, ref] aafUInt32 * samplesWritten,
02464 [out, ref] aafUInt32 * bytesWritten);
02465
02466
02467
02468
02469
02470
02501 HRESULT ReadSamples (
02502 [in] aafUInt32 nSamples,
02503 [in] aafUInt32 buflen,
02504 [out, size_is(buflen),length_is(*bytesRead)] aafDataBuffer_t buffer,
02505 [out, ref] aafUInt32 * samplesRead,
02506 [out, ref] aafUInt32 * bytesRead);
02507
02508
02509
02510
02511
02512
02529 HRESULT Seek (
02530 [in] aafPosition_t sampleFrame);
02531
02532
02533
02534
02535
02536
02564 HRESULT CompleteWrite (
02565 [in] IAAFSourceMob * pFileMob);
02566
02567
02572
02573
02574
02575
02576
02577
02594 HRESULT CreateDescriptorFromStream (
02595 [in] IAAFEssenceStream * pStream,
02596 [in] IAAFSourceMob * pSourceMob);
02597
02598
02599
02600
02601
02602
02617 HRESULT GetCurrentEssenceStream (
02618 [out] IAAFEssenceStream ** ppStream);
02619
02620
02621
02622
02623
02624
02655 HRESULT PutEssenceFormat (
02656 [in] IAAFEssenceFormat * pFormat);
02657
02658
02659
02660
02661
02662
02695 HRESULT GetEssenceFormat (
02696 [in] IAAFEssenceFormat * pFormatTemplate,
02697 [out] IAAFEssenceFormat ** ppNewFormat);
02698
02699
02700
02701
02702
02703
02726 HRESULT GetDefaultEssenceFormat (
02727 [out] IAAFEssenceFormat ** ppNewFormat);
02728
02729
02730
02731
02732
02733
02749 HRESULT GetEssenceDescriptorID (
02750 [out] aafUID_t * pDescriptorID);
02751
02752
02753
02754
02755
02756
02772 HRESULT GetEssenceDataID (
02773 [out] aafUID_t * pEssenceDataID);
02774
02775
02776
02777
02778
02779
02799 HRESULT GetIndexedSampleSize (
02800 [in, ref] aafUID_constref essenceDefID,
02801 [in] aafPosition_t sampleOffset,
02802 [out] aafLength_t * pLength);
02803
02804
02805
02806
02807
02808
02827 HRESULT GetLargestSampleSize (
02828 [in, ref] aafUID_constref essenceDefID,
02829 [out] aafLength_t * pLength);
02830
02831
02832
02833
02834
02835
02853 HRESULT SetFlavour (
02854 [in, ref] aafUID_constref flavour);
02855
02856
02857
02858
02859
02860
02882 HRESULT IsCompressionSupported (
02883 [in] aafUID_constref compression,
02884 [out,retval] aafBoolean_t* pIsSupported);
02885
02886 }
02887
02888
02889
02890
02891
02892
02893
02894
02907
02908 [
02909 object,
02910 uuid(a7337031-c103-11d2-808a-006008143e6f),
02911 helpstring("IAAFEssenceContainer Interface"),
02912 pointer_default(unique)
02913 ]
02914 interface IAAFEssenceContainer : IUnknown
02915 {
02916
02917
02918
02919
02920
02942 HRESULT CreateEssenceStream (
02943 [in, string] aafCharacter_constptr pName,
02944 [in] aafMobID_constptr pMobID,
02945 [out, retval] IAAFEssenceStream ** ppEssenceStream);
02946
02947
02948
02949
02950
02951
02973 HRESULT CreateEssenceStreamWriteOnly (
02974 [in, string] aafCharacter_constptr pPath,
02975 [in] aafMobID_constptr pMobID,
02976 [out, retval] IAAFEssenceStream ** ppEssenceStream);
02977
02978
02979
02980
02981
02982
03006 HRESULT OpenEssenceStreamReadOnly (
03007 [in, string] aafCharacter_constptr pFilePath,
03008 [in] aafMobID_constptr pMobID,
03009 [out, retval] IAAFEssenceStream ** ppEssenceStream);
03010
03011
03012
03013
03014
03015
03039 HRESULT OpenEssenceStreamAppend (
03040 [in, string] aafCharacter_constptr pFilePath,
03041 [in] aafMobID_constptr pMobID,
03042 [out, retval] IAAFEssenceStream ** ppEssenceStream);
03043 }
03044
03045
03046
03047
03048
03049
03050
03051
03052
03076 [
03077 object,
03078 uuid(CDDB6AB1-98DC-11d2-808a-006008143e6f),
03079 helpstring("IAAFEssenceDataStream Interface"),
03080 pointer_default(unique)
03081 ]
03082 interface IAAFEssenceDataStream : IUnknown
03083 {
03084
03085
03086
03087
03088
03089
03094 HRESULT Init (
03095 [in] IUnknown * essenceData);
03096
03097 }
03098
03099
03100
03101
03102
03103
03104
03105
03106
03107
03139 [
03140 object,
03141 uuid(F8C9C2A1-DD6B-4e10-884F-012AF43550BC),
03142 helpstring("IAAFEssenceDataStream2 Interface"),
03143 pointer_default(unique)
03144 ]
03145
03146 interface IAAFEssenceDataStream2 : IUnknown
03147 {
03148
03149
03150
03151
03152
03153
03158 HRESULT Init (
03159 [in] IUnknown * essenceData);
03160
03161
03162
03163
03164
03186 HRESULT GetEssenceData (
03187 [out,retval] IAAFEssenceData ** ppEssenceData);
03188
03189
03190
03191
03192
03238 HRESULT SetEssenceElementKey (
03239 [in, ref] aafUID_constref eek,
03240 [in] aafUInt8 eeKind,
03241 [in] aafUInt8 eeCount,
03242 [in] aafUInt8 eeType,
03243 [in] aafUInt8 eeIndex,
03244 [in] aafSlotID_t sourceSlotID);
03245
03246
03247
03248
03249
03277 HRESULT GetEssenceElementKey (
03278 [out] aafUID_t * pEssenceElementKey);
03279
03280 }
03281
03282
03283
03284
03285
03286
03287
03288
03289
03290
03310
03311
03312 [
03313 object,
03314 uuid(83402902-9146-11d2-8088-006008143e6f),
03315 helpstring("IAAFEssenceStream Interface"),
03316 pointer_default(unique)
03317 ]
03318 interface IAAFEssenceStream : IUnknown
03319 {
03320
03321
03322
03323
03324
03325
03346 HRESULT Write (
03347 [in] aafUInt32 bytes,
03348 [out, size_is(bytes)] aafDataBuffer_t buffer,
03349 [out,ref] aafUInt32 * bytesWritten);
03350
03351
03352
03353
03354
03355
03376 HRESULT Read (
03377 [in] aafUInt32 buflen,
03378 [out, size_is(buflen), length_is(*pBytesRead)] aafDataBuffer_t pBuffer,
03379 [out,ref] aafUInt32 * pBytesRead);
03380
03381
03382
03383
03384
03389 HRESULT Seek (
03390 [in] aafPosition_t byteOffset);
03401
03402
03403
03404
03405
03420 HRESULT SeekRelative (
03421 [in] aafInt32 byteOffset);
03422
03423
03424
03425
03426
03441 HRESULT GetPosition (
03442 [out] aafPosition_t * pPosition);
03443
03444
03445
03446
03447
03462 HRESULT GetLength (
03463 [out] aafLength_t * pLength);
03464
03471
03472
03473
03474
03475
03490 HRESULT FlushCache ();
03491
03492
03493
03494
03495
03508 HRESULT SetCacheSize (
03509 [in] aafUInt32 itsSize);
03510
03511 }
03512
03513
03514
03515
03516
03517
03518
03519
03520
03521
03541
03542
03546 [
03547 object,
03548 uuid(75C6CDF2-0D67-11d3-80A9-006008143e6f),
03549 helpstring("IAAFInterpolator Interface"),
03550 pointer_default(unique)
03551 ]
03552 interface IAAFInterpolator : IUnknown
03553 {
03554
03555
03561
03562
03563
03564
03565
03586 HRESULT GetNumTypesSupported (
03587 [out] aafUInt32* pCount);
03588
03589
03590
03591
03592
03593
03620 HRESULT GetIndexedSupportedType (
03621 [in] aafUInt32 index,
03622 [out] IAAFTypeDef ** ppType);
03623
03624
03625
03626
03627
03651 HRESULT GetTypeDefinition (
03652 [out] IAAFTypeDef ** ppTypeDef);
03653
03654
03655
03656
03657
03658
03676 HRESULT SetTypeDefinition (
03677 [in] IAAFTypeDef * pTypeDef);
03678
03679
03680
03681
03682
03683
03707 HRESULT GetParameter (
03708 [out] IAAFParameter ** ppParameter);
03709
03710
03711
03712
03713
03714
03732 HRESULT SetParameter (
03733 [in] IAAFParameter * pParameter);
03734
03735
03736
03737
03738
03739
03767 HRESULT InterpolateOne (
03768 [in] aafRational_t * pInputValue,
03769 [in] aafUInt32 valueSize,
03770 [out, size_is(valueSize),length_is(*bytesRead)] aafDataBuffer_t pValue,
03771 [out] aafUInt32* bytesRead);
03772
03773
03774
03775
03776
03777
03811 HRESULT InterpolateMany (
03812 [in] aafRational_t * pStartInputValue,
03813 [in] aafRational_t * pInputStep,
03814 [in] aafUInt32 generateCount,
03815 [out] aafMemPtr_t pOutputValue,
03816 [out] aafUInt32 * pResultCount);
03817 }
03818
03819
03820
03821
03822
03823
03824
03825
03826
03827
03828
03850
03851
03855 [
03856 object,
03857 uuid(7F93992D-DDA3-11d3-8008-00104bc9156d),
03858 helpstring("IAAFMultiEssenceCodec Interface"),
03859 pointer_default(unique)
03860 ]
03861 interface IAAFMultiEssenceCodec : IUnknown
03862 {
03863
03864
03870
03871
03880
03881
03882
03883
03884
03885
03913 HRESULT MultiCreate (
03914 [in] IAAFSourceMob * fileMob,
03915 [in, ref] aafUID_constref flavour,
03916 [in] IAAFEssenceStream * stream,
03917 [in] aafCompressEnable_t compEnable,
03918 [in] aafUInt32 numParms,
03919 [in, size_is(numParms)] aafmMultiCreate_t * createParms);
03920
03921
03922
03923
03924
03925
03945 HRESULT MultiOpen (
03946 [in] IAAFSourceMob * fileMob,
03947 [in] aafMediaOpenMode_t openMode,
03948 [in] IAAFEssenceStream * stream,
03949 [in] aafCompressEnable_t compEnable);
03950
03951
03957
03958
03959
03960
03961
03962
03963
03964
03999 HRESULT WriteBlocks (
04000 [in] aafDeinterleave_t inter,
04001 [in] aafUInt16 xferBlockCount,
04002 [in, size_is(xferBlockCount)] aafmMultiXfer_t * pTransferParm,
04003 [out, size_is(xferBlockCount)] aafmMultiResult_t * pResultParm);
04004
04005
04006
04007
04008
04041 HRESULT ReadBlocks (
04042 [in] aafDeinterleave_t inter,
04043 [in] aafUInt16 xferBlockCount,
04044 [out, size_is(xferBlockCount)] aafmMultiXfer_t * pTransferParm,
04045 [out, size_is(xferBlockCount)] aafmMultiResult_t * pResultParm);
04046 }
04047
04048
04049
04050
04051
04052
04053
04054
04055
04056
04057
04058
04059
04068
04069
04070 [
04071 object,
04072 uuid(3631F7A4-9121-11d2-8088-006008143e6f),
04073 helpstring("IAAFPlugin Interface"),
04074 pointer_default(unique)
04075 ]
04076 interface IAAFPlugin : IUnknown
04077 {
04078
04079
04080
04081
04082
04083
04107 HRESULT CountDefinitions (
04108 [out] aafUInt32 * pDefCount);
04109
04110
04111
04112
04113
04146 HRESULT GetIndexedDefinitionID (
04147 [in] aafUInt32 index,
04148 [out] aafUID_t * pPluginID);
04149
04150
04151
04152
04153
04176 HRESULT GetPluginDescriptorID (
04177 [out] aafUID_t * pPluginID);
04178
04179
04180
04181
04182
04216 HRESULT GetIndexedDefinitionObject (
04217 [in] aafUInt32 index,
04218 [in] IAAFDictionary * pDictionary,
04219 [out] IAAFDefObject ** pDefObject);
04220
04221
04222
04223
04224
04251 HRESULT CreateDescriptor (
04252 [in] IAAFDictionary * pDictionary,
04253 [out] IAAFPluginDef ** pPluginDef);
04254
04255 }
04256