Update of /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/RegressionTest/TestFiles In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4173/RegressionTest/TestFiles Modified Files: EPEditRateTest2.xml EPDerivationTest.xml EPNameTest.xml EPEffectTest.xml EPEditRateTest4.xml EPDerivationChainWellFormed.dtd EPEditRateTest5.xml EPEditRateTest.xml EPDerivationTest.expected TestFileBuilder.h EPContainedTrackTest.xml EPEditRateTest6.xml InputParser.h EPTrackContentsTest.xml GNUmakefile EPEditRateTest3.xml TestFileBuilder.cpp InputParser.cpp EPDerivationChain.dtd Added Files: EPAnnotationTest.xml EPAnnotationTest.expected InputParserGen.sh InputParser.cpp.gen Log Message: Added a new test. Index: TestFileBuilder.h =================================================================== RCS file: /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/RegressionTest/TestFiles/TestFileBuilder.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** TestFileBuilder.h 21 Nov 2005 21:32:25 -0000 1.7 --- TestFileBuilder.h 24 Nov 2005 17:10:48 -0000 1.8 *************** *** 38,41 **** --- 38,43 ---- class AxParameterDef; class AxConstantValue; + class AxDescriptiveMarker; + class AxSourceReference; namespace aafanalyzer { *************** *** 48,51 **** --- 50,55 ---- enum TrackType { NONE, AUDIO, PICTURE, TIMECODE, EDGECODE, AUXILIARY }; + static const int INPUT_SEGMENT = 1; + static const int RENDERING = 2; TestFileBuilder( const char* outFile ); *************** *** 85,88 **** --- 89,94 ---- shared_ptr<AxComponent> CreateTransition( TrackType essenceType, const aafUID_t& uidNothing ); shared_ptr<AxComponent> CreateSequence( TrackType essenceType, const aafUID_t& uidNothing ); + shared_ptr<AxComponent> CreateCommentMarker( TrackType essenceType, const aafUID_t& uidNothing ); + shared_ptr<AxComponent> CreateDescriptiveMarker( TrackType essenceType, const aafUID_t& uidNothing ); //Type D: *************** *** 91,102 **** //Fill Components: //Type B: ! void InitializeSourceClip( shared_ptr<AxSegment> axSegment, AxMob& axMob ); //Type C: ! void AddToTransition( shared_ptr<AxObject> axObject, AxObject& axObj ); ! void AddToSequence( shared_ptr<AxObject> axObject, AxObject& axObj ); //Type D: ! void AddToOperationGroup( shared_ptr<AxSegment> axSegment, AxObject& axObj, int property ); //Mob Slots: --- 97,112 ---- //Fill Components: //Type B: ! void InitializeSourceClip( shared_ptr<AxSourceReference> parent, AxMob& child ); //Type C: ! void AddToTransition( shared_ptr<AxComponent> parent, AxComponent& child ); ! void AddToSequence( shared_ptr<AxComponent> parent, AxComponent& child ); ! void AddToCommentMarker( shared_ptr<AxComponent> parent, AxComponent& child ); //Type D: ! void AddToOperationGroup( shared_ptr<AxSegment> parent, AxSegment& child, int property ); ! ! //Comment: ! void AddComment( shared_ptr<AxComponent> axComponent, const AxString& name, const AxString& value ); //Mob Slots: *************** *** 108,111 **** --- 118,124 ---- void AttachConstantRationalParameter( AxOperationGroup& axOpGroup, const aafUID_t& paramDefId, aafUInt32 numerator, aafUInt32 denominator ); + //Interchange Objects: + void AttachDescriptiveFramework( shared_ptr<AxDescriptiveMarker> axMarker ); + private: Index: EPDerivationTest.expected =================================================================== RCS file: /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/RegressionTest/TestFiles/EPDerivationTest.expected,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** EPDerivationTest.expected 21 Nov 2005 15:29:49 -0000 1.4 --- EPDerivationTest.expected 24 Nov 2005 17:10:48 -0000 1.5 *************** *** 9,92 **** Name: Verify Mob Chain Desc: Verify the structure of one mob chain. ! Detail: Analyzing root composition mob "L01 Top Level" ! Result: Passed ! Passing Requirements: REQ_EP_017; REQ_EP_018; REQ_EP_019; REQ_EP_025; REQ_EP_026; REQ_EP_030; REQ_EP_031; REQ_EP_036; REQ_EP_045; REQ_EP_050; REQ_EP_055; REQ_EP_063; REQ_EP_064; REQ_EP_072; REQ_EP_076; REQ_EP_083 ! Warning Requirements: None ! Failing Requirements: None ! ! Name: MobChainVisitor ! Desc: Visit mobs and verify derivation order. [...2036 lines suppressed...] + Desc: Verify the structure of one mob chain. + Detail: Analyzing root composition mob "Missing EOC Recording Source: Top-Level" + Result: Failed + Reason: Visitor Failed - See "MobChainVisitor" Visitor for details. + Passing Requirements: REQ_EP_018; REQ_EP_019; REQ_EP_025; REQ_EP_026; REQ_EP_030; REQ_EP_031; REQ_EP_036; REQ_EP_045; REQ_EP_050; REQ_EP_055; REQ_EP_063; REQ_EP_064; REQ_EP_072; REQ_EP_076; REQ_EP_083 + Warning Requirements: None + Failing Requirements: REQ_EP_017 + + Name: MobChainVisitor + Desc: Visit mobs and verify derivation order. + Detail: OK - Transition to Top-Level Composition: "Missing EOC Recording Source: Top-Level" + Detail: OK - Transition to Clip: "Missing EOC Recording Source: Clip" + Detail: OK - Transition to File Source: "Missing EOC Recording Source: File Source" + Detail: OK - Transition to Recording Source: "Missing EOC Recording Source" + Result: Failed + Reason: End of derivation chain encountered without a zero-valued source clip or out of file reference at Source Mob: "Missing EOC Recording Source" + Passing Requirements: REQ_EP_018; REQ_EP_019; REQ_EP_025; REQ_EP_026; REQ_EP_030; REQ_EP_031; REQ_EP_036; REQ_EP_045; REQ_EP_050; REQ_EP_055; REQ_EP_063; REQ_EP_064; REQ_EP_072; REQ_EP_076; REQ_EP_083 + Warning Requirements: None + Failing Requirements: REQ_EP_017 + Index: EPEffectTest.xml =================================================================== RCS file: /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/RegressionTest/TestFiles/EPEffectTest.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** EPEffectTest.xml 21 Nov 2005 15:29:49 -0000 1.1 --- EPEffectTest.xml 24 Nov 2005 17:10:48 -0000 1.2 *************** *** 1,786 **** ! <?xml version="1.0" encoding="UTF-8"?> ! <!DOCTYPE aaf-file SYSTEM "EPDerivationChain.dtd"> ! ! <aaf-file> ! ! <!-- Test everything outside of a transition --> ! ! <top-level name="Video Dissolve not in Transition"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <sequence track-type="picture"> [...1543 lines suppressed...] ! </sequence> ! </timeline-mob-slot> ! </top-level> ! ! <top-level name="Speed Ratio Missing"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <sequence track-type="picture"> ! <eoc track-type="picture"/> ! <transition track-type="picture"> ! <video-dissolve track-type="picture"> ! <video-speed-control track-type="picture"/> ! </video-dissolve> ! </transition> ! <eoc track-type="picture"/> ! </sequence> ! </timeline-mob-slot> ! </top-level> ! ! ! </aaf-file> Index: EPDerivationChain.dtd =================================================================== RCS file: /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/RegressionTest/TestFiles/EPDerivationChain.dtd,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** EPDerivationChain.dtd 21 Nov 2005 21:32:25 -0000 1.7 --- EPDerivationChain.dtd 24 Nov 2005 17:10:48 -0000 1.8 *************** *** 1,179 **** ! <?xml version="1.0" encoding="UTF-8"?> ! <!ENTITY OPERATION_GROUP "mono-audio-dissolve"> ! <!ELEMENT aaf-file ( top-level | lower-level | sub-clip | adjusted-clip | template-clip | clip | file-source | recording-source | import-source | tape-source | film-source | auxiliary-source )+> ! ! <!-- Mobs --> ! ! <!ELEMENT top-level ( timeline-mob-slot | static-mob-slot | event-mob-slot | mono-audio-dissolve | bad-eoc )+> ! <!ATTLIST top-level name CDATA #IMPLIED> ! ! <!ELEMENT lower-level ( timeline-mob-slot | static-mob-slot | event-mob-slot | mono-audio-dissolve | bad-eoc )+> ! <!ATTLIST lower-level name CDATA #IMPLIED> ! ! <!ELEMENT sub-clip ( timeline-mob-slot | static-mob-slot | event-mob-slot | mono-audio-dissolve | bad-eoc )+> ! <!ATTLIST sub-clip name CDATA #IMPLIED> ! ! <!ELEMENT adjusted-clip ( timeline-mob-slot | static-mob-slot | event-mob-slot | mono-audio-dissolve | bad-eoc )+> ! <!ATTLIST adjusted-clip name CDATA #IMPLIED> ! ! <!ELEMENT template-clip ( timeline-mob-slot | static-mob-slot | event-mob-slot | mono-audio-dissolve | bad-eoc )+> ! <!ATTLIST template-clip name CDATA #IMPLIED> ! ! <!ELEMENT clip ( timeline-mob-slot | static-mob-slot | event-mob-slot | mono-audio-dissolve | bad-eoc )+> ! <!ATTLIST clip name CDATA #IMPLIED> ! ! <!ELEMENT file-source ( timeline-mob-slot | static-mob-slot | event-mob-slot | mono-audio-dissolve | bad-eoc )+> ! <!ATTLIST file-source ! name CDATA #IMPLIED ! sample-rate-numerator CDATA #REQUIRED ! sample-rate-denominator CDATA #REQUIRED ! > ! ! <!ELEMENT recording-source ( timeline-mob-slot | static-mob-slot | event-mob-slot | mono-audio-dissolve | bad-eoc )+> ! <!ATTLIST recording-source name CDATA #IMPLIED> ! ! <!ELEMENT import-source ( timeline-mob-slot | static-mob-slot | event-mob-slot | mono-audio-dissolve | bad-eoc )+> ! <!ATTLIST import-source name CDATA #IMPLIED> ! ! <!ELEMENT tape-source ( timeline-mob-slot | static-mob-slot | event-mob-slot | mono-audio-dissolve | bad-eoc )+> ! <!ATTLIST tape-source name CDATA #IMPLIED> ! ! <!ELEMENT film-source ( timeline-mob-slot | static-mob-slot | event-mob-slot | mono-audio-dissolve | bad-eoc )+> ! <!ATTLIST film-source name CDATA #IMPLIED> ! ! <!ELEMENT auxiliary-source ( timeline-mob-slot | static-mob-slot | event-mob-slot | mono-audio-dissolve | bad-eoc )+> ! <!ATTLIST auxiliary-source name CDATA #IMPLIED> ! ! <!-- Type A Components --> ! ! <!ELEMENT timecode EMPTY> ! <!ATTLIST timecode track-type ( timecode ) #REQUIRED> ! ! <!ELEMENT edgecode EMPTY> ! <!ATTLIST edgecode track-type ( edgecode ) #REQUIRED> ! ! <!ELEMENT timecode-stream-12m EMPTY> ! <!ATTLIST timecode-stream-12m track-type ( timecode ) #REQUIRED> ! ! <!ELEMENT eoc EMPTY> ! <!ATTLIST eoc track-type ( none | audio | picture | auxiliary ) #REQUIRED> ! ! <!ELEMENT oof EMPTY> ! <!ATTLIST oof track-type ( none | audio | picture | auxiliary ) #REQUIRED> ! ! <!-- Type B Components --> ! ! <!ELEMENT source-clip ( top-level | lower-level | sub-clip | adjusted-clip | template-clip | clip | file-source | recording-source | import-source | tape-source | film-source | auxiliary-source )> ! <!ATTLIST source-clip track-type ( none | audio | picture | auxiliary ) #REQUIRED> ! ! <!-- Type C Components --> ! <!ELEMENT transition ( video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )> ! <!ATTLIST transition track-type ( none | audio | picture | auxiliary ) #REQUIRED> ! ! <!ELEMENT sequence ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | transition | timecode-stream-12m )+> ! <!ATTLIST sequence track-type ( none | audio | picture | auxiliary ) #REQUIRED> ! ! <!-- Type D components --> ! ! <!-- ! Operation Groups: ! In Specification: ! Contain 1 SourceReference (pre-rendered version) ! n Parameters ! m Segments ! In XML: ! Contain 1 Segment ! --> ! ! <!ELEMENT video-dissolve ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST video-dissolve track-type ( picture ) #REQUIRED> ! ! <!ELEMENT smpte-video-wipe ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST smpte-video-wipe track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-speed-control ( speed-ratio?, ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )* )> ! <!ATTLIST video-speed-control track-type ( picture ) #REQUIRED> ! ! <!ELEMENT speed-ratio EMPTY> ! <!ATTLIST speed-ratio ! numerator CDATA #REQUIRED ! denominator CDATA #REQUIRED ! > ! ! <!ELEMENT video-repeat ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST video-repeat track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-flip ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST video-flip track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-flop ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST video-flop track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-flip-flop ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST video-flip-flop track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-position ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST video-position track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-crop ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST video-crop track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-scale ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST video-scale track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-rotate ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST video-rotate track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-corner-pinning ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST video-corner-pinning track-type ( picture ) #REQUIRED> ! ! <!ELEMENT alpha-with-video-key ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST alpha-with-video-key track-type ( picture ) #REQUIRED> ! ! <!ELEMENT separate-alpha-key ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST separate-alpha-key track-type ( picture ) #REQUIRED> ! ! <!ELEMENT luminance-key ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST luminance-key track-type ( picture ) #REQUIRED> ! ! <!ELEMENT chroma-key ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST chroma-key track-type ( picture ) #REQUIRED> ! ! <!ELEMENT mono-audio-gain ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST mono-audio-gain track-type ( audio ) #REQUIRED> ! ! <!ELEMENT mono-audio-pan ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST mono-audio-pan track-type ( audio ) #REQUIRED> ! ! <!ELEMENT mono-audio-dissolve ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST mono-audio-dissolve track-type ( audio ) #REQUIRED> ! ! <!ELEMENT two-parameter-mono-audio-dissolve ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | sequence | timecode-stream-12m )*> ! <!ATTLIST two-parameter-mono-audio-dissolve track-type ( audio ) #REQUIRED> ! ! <!-- Mob Slots --> ! ! <!ELEMENT timeline-mob-slot ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | timecode | edgecode | sequence | timecode-stream-12m )> ! <!ATTLIST timeline-mob-slot ! edit-rate-numerator CDATA #REQUIRED ! edit-rate-denominator CDATA #REQUIRED ! name CDATA #IMPLIED ! physical-track-number CDATA #IMPLIED ! > ! ! <!ELEMENT static-mob-slot ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | timecode | edgecode | sequence | timecode-stream-12m )> ! <!ATTLIST static-mob-slot ! name CDATA #IMPLIED ! physical-track-number CDATA #IMPLIED ! > ! ! <!ELEMENT event-mob-slot ( source-clip | eoc | oof | video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve | timecode | edgecode | sequence | timecode-stream-12m )> ! <!ATTLIST event-mob-slot ! edit-rate-numerator CDATA #REQUIRED ! edit-rate-denominator CDATA #REQUIRED ! name CDATA #IMPLIED ! physical-track-number CDATA #IMPLIED ! > ! ! <!-- End a derivation chain on a mob --> <!ELEMENT bad-eoc EMPTY> \ No newline at end of file --- 1,205 ---- ! <?xml version="1.0" encoding="UTF-8"?> ! ! <!ENTITY % MOB "top-level | lower-level | sub-clip | adjusted-clip | template-clip | clip | file-source | recording-source | import-source | tape-source | film-source | auxiliary-source"> ! <!ENTITY % MOB_SLOT "timeline-mob-slot | static-mob-slot | event-mob-slot"> ! <!ENTITY % OPERATION_GROUP "video-dissolve | smpte-video-wipe | video-speed-control | video-repeat | video-flip | video-flop | video-flip-flop | video-position | video-crop | video-scale | video-rotate | video-corner-pinning | alpha-with-video-key | separate-alpha-key | luminance-key | chroma-key | mono-audio-gain | mono-audio-pan | mono-audio-dissolve | two-parameter-mono-audio-dissolve"> ! <!ENTITY % SOURCE_REFERENCE "source-clip | eoc | oof"> ! <!ENTITY % SEGMENT "sequence | timecode | timecode-stream-12m | edgecode | comment-marker | descriptive-marker | %SOURCE_REFERENCE; | %OPERATION_GROUP;"> ! <!ENTITY % COMPONENT "transition | %SEGMENT;"> ! <!ENTITY % COMMENTS_AND_COMPONENTS "( comment | %COMPONENT; )*"> ! <!ENTITY % COMMENTS_AND_SEGMENTS "( comment | %SEGMENT; )*"> ! <!ENTITY % ESSENCE_TYPE "none | audio | picture | timecode | edgecode | auxiliary"> ! ! <!ELEMENT aaf-file ( %MOB; )+> ! ! <!-- Mobs --> ! ! <!ELEMENT top-level ( %MOB_SLOT; | bad-eoc )+> ! <!ATTLIST top-level name CDATA #IMPLIED> ! ! <!ELEMENT lower-level ( %MOB_SLOT; | bad-eoc )+> ! <!ATTLIST lower-level name CDATA #IMPLIED> ! ! <!ELEMENT sub-clip ( %MOB_SLOT; | bad-eoc )+> ! <!ATTLIST sub-clip name CDATA #IMPLIED> ! ! <!ELEMENT adjusted-clip ( %MOB_SLOT; | bad-eoc )+> ! <!ATTLIST adjusted-clip name CDATA #IMPLIED> ! ! <!ELEMENT template-clip ( %MOB_SLOT; | bad-eoc )+> ! <!ATTLIST template-clip name CDATA #IMPLIED> ! ! <!ELEMENT clip ( %MOB_SLOT; | bad-eoc )+> ! <!ATTLIST clip name CDATA #IMPLIED> ! ! <!ELEMENT file-source ( %MOB_SLOT; | bad-eoc )+> ! <!ATTLIST file-source ! name CDATA #IMPLIED ! sample-rate-numerator CDATA #REQUIRED ! sample-rate-denominator CDATA #REQUIRED ! > ! ! <!ELEMENT recording-source ( %MOB_SLOT; | bad-eoc )+> ! <!ATTLIST recording-source name CDATA #IMPLIED> ! ! <!ELEMENT import-source ( %MOB_SLOT; | bad-eoc )+> ! <!ATTLIST import-source name CDATA #IMPLIED> ! ! <!ELEMENT tape-source ( %MOB_SLOT; | bad-eoc )+> ! <!ATTLIST tape-source name CDATA #IMPLIED> ! ! <!ELEMENT film-source ( %MOB_SLOT; | bad-eoc )+> ! <!ATTLIST film-source name CDATA #IMPLIED> ! ! <!ELEMENT auxiliary-source ( %MOB_SLOT; | bad-eoc )+> ! <!ATTLIST auxiliary-source name CDATA #IMPLIED> ! ! <!-- Comments --> ! <!ELEMENT comment EMPTY> ! <!ATTLIST comment ! name CDATA #REQUIRED ! value CDATA #REQUIRED ! > ! ! <!-- Type A Components --> ! ! <!ELEMENT timecode ( comment* )> ! <!ATTLIST timecode track-type ( timecode ) #REQUIRED> ! ! <!ELEMENT edgecode ( comment* )> ! <!ATTLIST edgecode track-type ( edgecode ) #REQUIRED> ! ! <!ELEMENT timecode-stream-12m ( comment* )> ! <!ATTLIST timecode-stream-12m track-type ( timecode ) #REQUIRED> ! ! <!ELEMENT eoc ( comment* )> ! <!ATTLIST eoc track-type ( %ESSENCE_TYPE; ) #REQUIRED> ! ! <!ELEMENT oof ( comment* )> ! <!ATTLIST oof track-type ( %ESSENCE_TYPE; ) #REQUIRED> ! ! <!-- Type B Components --> ! ! <!ELEMENT source-clip ( comment*, ( %MOB; ), comment* )> ! <!ATTLIST source-clip track-type ( none | audio | picture | auxiliary ) #REQUIRED> ! ! <!-- Type C Components --> ! <!ELEMENT transition ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST transition track-type ( %ESSENCE_TYPE; ) #REQUIRED> ! ! <!ELEMENT sequence ( comment*, ( %COMPONENT; ), %COMMENTS_AND_COMPONENTS; )> ! <!ATTLIST sequence track-type ( %ESSENCE_TYPE; ) #REQUIRED> ! ! <!ELEMENT comment-marker ( comment*, ( %SOURCE_REFERENCE; )?, comment* )> ! <!ATTLIST comment-marker track-type ( %ESSENCE_TYPE; ) #REQUIRED> ! ! <!ELEMENT descriptive-marker ( comment*, ( ( ( %SOURCE_REFERENCE; )?, comment*, descriptive-framework? ) | ( descriptive-framework?, comment*, ( %SOURCE_REFERENCE; )? ) ), comment* )> ! <!ATTLIST descriptive-marker track-type ( %ESSENCE_TYPE; ) #REQUIRED> ! ! <!-- Type D components --> ! ! <!-- ! Operation Groups: ! In Specification: ! Contain 1 SourceReference (pre-rendered version) ! n Parameters ! m Segments ! In XML: ! Contain 1 Segment ! --> ! ! <!ELEMENT video-dissolve ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST video-dissolve track-type ( picture ) #REQUIRED> ! ! <!ELEMENT smpte-video-wipe ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST smpte-video-wipe track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-speed-control ( %COMMENTS_AND_COMPONENTS;, speed-ratio?, %COMMENTS_AND_COMPONENTS; )> ! <!ATTLIST video-speed-control track-type ( picture ) #REQUIRED> ! ! <!ELEMENT speed-ratio EMPTY> ! <!ATTLIST speed-ratio ! numerator CDATA #REQUIRED ! denominator CDATA #REQUIRED ! > ! ! <!ELEMENT video-repeat ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST video-repeat track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-flip ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST video-flip track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-flop ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST video-flop track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-flip-flop ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST video-flip-flop track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-position ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST video-position track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-crop ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST video-crop track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-scale ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST video-scale track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-rotate ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST video-rotate track-type ( picture ) #REQUIRED> ! ! <!ELEMENT video-corner-pinning ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST video-corner-pinning track-type ( picture ) #REQUIRED> ! ! <!ELEMENT alpha-with-video-key ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST alpha-with-video-key track-type ( picture ) #REQUIRED> ! ! <!ELEMENT separate-alpha-key ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST separate-alpha-key track-type ( picture ) #REQUIRED> ! ! <!ELEMENT luminance-key ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST luminance-key track-type ( picture ) #REQUIRED> ! ! <!ELEMENT chroma-key ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST chroma-key track-type ( picture ) #REQUIRED> ! ! <!ELEMENT mono-audio-gain ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST mono-audio-gain track-type ( audio ) #REQUIRED> ! ! <!ELEMENT mono-audio-pan ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST mono-audio-pan track-type ( audio ) #REQUIRED> ! ! <!ELEMENT mono-audio-dissolve ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST mono-audio-dissolve track-type ( audio ) #REQUIRED> ! ! <!ELEMENT two-parameter-mono-audio-dissolve ( %COMMENTS_AND_SEGMENTS; )> ! <!ATTLIST two-parameter-mono-audio-dissolve track-type ( audio ) #REQUIRED> ! ! <!-- Mob Slots --> ! ! <!ELEMENT timeline-mob-slot ( %SEGMENT; )> ! <!ATTLIST timeline-mob-slot ! edit-rate-numerator CDATA #REQUIRED ! edit-rate-denominator CDATA #REQUIRED ! name CDATA #IMPLIED ! physical-track-number CDATA #IMPLIED ! > ! ! <!ELEMENT static-mob-slot ( %SEGMENT; )> ! <!ATTLIST static-mob-slot ! name CDATA #IMPLIED ! physical-track-number CDATA #IMPLIED ! > ! ! <!ELEMENT event-mob-slot ( %SEGMENT; )> ! <!ATTLIST event-mob-slot ! edit-rate-numerator CDATA #REQUIRED ! edit-rate-denominator CDATA #REQUIRED ! name CDATA #IMPLIED ! physical-track-number CDATA #IMPLIED ! > ! ! <!-- Other Interchange Objects --> ! <!ELEMENT descriptive-framework EMPTY> ! ! <!-- End a derivation chain on a mob --> <!ELEMENT bad-eoc EMPTY> \ No newline at end of file Index: EPEditRateTest6.xml =================================================================== RCS file: /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/RegressionTest/TestFiles/EPEditRateTest6.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EPEditRateTest6.xml 21 Nov 2005 15:29:49 -0000 1.2 --- EPEditRateTest6.xml 24 Nov 2005 17:10:48 -0000 1.3 *************** *** 1,31 **** ! <?xml version="1.0" encoding="UTF-8"?> ! <!DOCTYPE aaf-file SYSTEM "EPDerivationChain.dtd"> ! ! <aaf-file> ! ! <!-- Test one constant edit rate and a different constant sample rate --> ! ! <clip name="Clip 1"> ! <timeline-mob-slot edit-rate-denominator="24" edit-rate-numerator="600"> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="1200000"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </timeline-mob-slot> ! </clip> ! <clip name="Clip 2"> ! <timeline-mob-slot edit-rate-denominator="24" edit-rate-numerator="600"> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="1200000"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </timeline-mob-slot> ! </clip> ! ! </aaf-file> --- 1,31 ---- ! <?xml version="1.0" encoding="UTF-8"?> ! <!DOCTYPE aaf-file SYSTEM "EPDerivationChain.dtd"> ! ! <aaf-file> ! ! <!-- Test one constant edit rate and a different constant sample rate --> ! ! <clip name="Clip 1"> ! <timeline-mob-slot edit-rate-denominator="24" edit-rate-numerator="600"> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="1200000"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </timeline-mob-slot> ! </clip> ! <clip name="Clip 2"> ! <timeline-mob-slot edit-rate-denominator="24" edit-rate-numerator="600"> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="1200000"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </timeline-mob-slot> ! </clip> ! ! </aaf-file> Index: EPContainedTrackTest.xml =================================================================== RCS file: /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/RegressionTest/TestFiles/EPContainedTrackTest.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** EPContainedTrackTest.xml 21 Nov 2005 21:32:25 -0000 1.4 --- EPContainedTrackTest.xml 24 Nov 2005 17:10:48 -0000 1.5 *************** *** 1,1783 **** ! <?xml version="1.0" encoding="UTF-8"?> ! <!DOCTYPE aaf-file SYSTEM "EPDerivationChain.dtd"> ! ! <aaf-file> ! ! <!-- Test Top-Level Compositions --> ! ! <top-level name="One Primary"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1" physical-track-number="1"> ! <timecode track-type="timecode"/> [...3537 lines suppressed...] ! <source-clip track-type="auxiliary"> ! <template-clip> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="auxiliary"/> ! </timeline-mob-slot> ! </template-clip> ! </source-clip> ! </timeline-mob-slot> ! <static-mob-slot> ! <source-clip track-type="auxiliary"> ! <template-clip> ! <static-mob-slot> ! <eoc track-type="auxiliary"/> ! </static-mob-slot> ! </template-clip> ! </source-clip> ! </static-mob-slot> ! </auxiliary-source> ! ! </aaf-file> Index: GNUmakefile =================================================================== RCS file: /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/RegressionTest/TestFiles/GNUmakefile,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** GNUmakefile 21 Nov 2005 15:29:49 -0000 1.7 --- GNUmakefile 24 Nov 2005 17:10:48 -0000 1.8 *************** *** 95,100 **** env LD_LIBRARY_PATH=$(AAFSDKBINDIR):$(LD_LIBRARY_PATH) $(AAFSDKBINDIR)/BuildTestFile$(EXE) EPEffectTest.xml EPEffectTest.aaf env LD_LIBRARY_PATH=$(AAFSDKBINDIR):/usr/local/lib:$(LD_LIBRARY_PATH) $(AAFSDKBINDIR)/AAFAnalyzer$(EXE) EPEffectTest.aaf ../../Requirements/AAFRequirements.xml >> EPEffectTest.temp ! grep -A `expr \`expr \\\`wc -l EPEffectTest.temp | sed 's_\([0-9]*\).*_\1_'\\\`\` - \`expr \\\`grep -n "Name: Edit Protocol Effect Test" EPEffectTest.temp | sed 's_\([0-9]*\).*_\1_'\\\`\`` "Name: Edit Protocol Effect Test" EPEffectTest.temp >> EPEffectTest.results @echo "Comparing EPEffectTest Expected Results (EPEffectTest.expected) to Actual Results (EPEffectTest.results)" diff EPEffectTest.expected EPEffectTest.results @echo "End of Test" \ No newline at end of file --- 95,106 ---- env LD_LIBRARY_PATH=$(AAFSDKBINDIR):$(LD_LIBRARY_PATH) $(AAFSDKBINDIR)/BuildTestFile$(EXE) EPEffectTest.xml EPEffectTest.aaf env LD_LIBRARY_PATH=$(AAFSDKBINDIR):/usr/local/lib:$(LD_LIBRARY_PATH) $(AAFSDKBINDIR)/AAFAnalyzer$(EXE) EPEffectTest.aaf ../../Requirements/AAFRequirements.xml >> EPEffectTest.temp ! grep -A `expr \`expr \\\`grep -n "Name: Edit Protocol Annotation Test" EPEffectTest.temp | sed 's_\([0-9]*\).*_\1_' \\\`\` - \`expr \\\`grep -n "Name: Edit Protocol Effect Test" EPEffectTest.temp | sed 's_\([0-9]*\).*_\1_'\\\`\` - 1` "Name: Edit Protocol Effect Test" EPEffectTest.temp >> EPEffectTest.results @echo "Comparing EPEffectTest Expected Results (EPEffectTest.expected) to Actual Results (EPEffectTest.results)" diff EPEffectTest.expected EPEffectTest.results + @echo "End of Test" + env LD_LIBRARY_PATH=$(AAFSDKBINDIR):$(LD_LIBRARY_PATH) $(AAFSDKBINDIR)/BuildTestFile$(EXE) EPAnnotationTest.xml EPAnnotationTest.aaf + env LD_LIBRARY_PATH=$(AAFSDKBINDIR):/usr/local/lib:$(LD_LIBRARY_PATH) $(AAFSDKBINDIR)/AAFAnalyzer$(EXE) EPAnnotationTest.aaf ../../Requirements/AAFRequirements.xml >> EPAnnotationTest.temp + grep -A `expr \`expr \\\`wc -l EPAnnotationTest.temp | sed 's_\([0-9]*\).*_\1_'\\\`\` - \`expr \\\`grep -n "Name: Edit Protocol Annotation Test" EPAnnotationTest.temp | sed 's_\([0-9]*\).*_\1_'\\\`\`` "Name: Edit Protocol Annotation Test" EPAnnotationTest.temp >> EPAnnotationTest.results + @echo "Comparing EPAnnotationTest Expected Results (EPAnnotationTest.expected) to Actual Results (EPAnnotationTest.results)" + diff EPAnnotationTest.expected EPAnnotationTest.results @echo "End of Test" \ No newline at end of file Index: EPEditRateTest5.xml =================================================================== RCS file: /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/RegressionTest/TestFiles/EPEditRateTest5.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EPEditRateTest5.xml 21 Nov 2005 15:29:49 -0000 1.2 --- EPEditRateTest5.xml 24 Nov 2005 17:10:48 -0000 1.3 *************** *** 1,31 **** ! <?xml version="1.0" encoding="UTF-8"?> ! <!DOCTYPE aaf-file SYSTEM "EPDerivationChain.dtd"> ! ! <aaf-file> ! ! <!-- Test all static tracks --> ! ! <clip name="Clip 1"> ! <static-mob-slot> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="600"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </static-mob-slot> ! </clip> ! <clip name="Clip 2"> ! <static-mob-slot> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="1200000"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </static-mob-slot> ! </clip> ! ! </aaf-file> --- 1,31 ---- ! <?xml version="1.0" encoding="UTF-8"?> ! <!DOCTYPE aaf-file SYSTEM "EPDerivationChain.dtd"> ! ! <aaf-file> ! ! <!-- Test all static tracks --> ! ! <clip name="Clip 1"> ! <static-mob-slot> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="600"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </static-mob-slot> ! </clip> ! <clip name="Clip 2"> ! <static-mob-slot> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="1200000"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </static-mob-slot> ! </clip> ! ! </aaf-file> --- NEW FILE: EPAnnotationTest.expected --- Name: Edit Protocol Annotation Test Desc: Verify that all annotations in an AAF file are legal. Result: Failed Reason: Test Failed - See "Edit Protocol Annotation Visitor" Visitor for details Passing Requirements: None Warning Requirements: None Failing Requirements: REQ_EP_147; REQ_EP_149; REQ_EP_150 Name: Edit Protocol Annotation Visitor Desc: Visit components to make sure they do not have illegal annotations. Result: Failed Reason: Passing Requirements: None Warning Requirements: None Failing Requirements: REQ_EP_147; REQ_EP_149; REQ_EP_150 Name: Edit Protocol Annotation Visitor Desc: - Result: Failed Reason: Mob slot with ID = 1 of Top-Level Composition: "Illegal User Comments" contains a Component that illegally uses the Component::UserComments property. Passing Requirements: None Warning Requirements: None Failing Requirements: REQ_EP_147 Name: Edit Protocol Annotation Visitor Desc: - Result: Failed Reason: Mob slot with ID = 1 of Top-Level Composition: "CommentMarker in Essence Track" is an essence track and uses CommentMarkers for annotations. Passing Requirements: None Warning Requirements: None Failing Requirements: REQ_EP_149 Name: Edit Protocol Annotation Visitor Desc: - Result: Failed Reason: Mob slot with ID = 1 of Top-Level Composition: "CommentMarker nested in Timeline Mob Slot" is not an Event Mob Slot but contains a CommentMarker. Passing Requirements: None Warning Requirements: None Failing Requirements: REQ_EP_150 Name: Edit Protocol Annotation Visitor Desc: - Result: Failed Reason: Mob slot with ID = 1 of Top-Level Composition: "CommentMarker in Timeline Mob Slot" is not an Event Mob Slot but contains a CommentMarker. Passing Requirements: None Warning Requirements: None Failing Requirements: REQ_EP_150 Name: Edit Protocol Annotation Visitor Desc: - Result: Failed Reason: Mob slot with ID = 1 of Top-Level Composition: "CommentMarker nested in Static Mob Slot" is not an Event Mob Slot but contains a CommentMarker. Passing Requirements: None Warning Requirements: None Failing Requirements: REQ_EP_150 Name: Edit Protocol Annotation Visitor Desc: - Result: Failed Reason: Mob slot with ID = 1 of Top-Level Composition: "CommentMarker in Static Mob Slot" is not an Event Mob Slot but contains a CommentMarker. Passing Requirements: None Warning Requirements: None Failing Requirements: REQ_EP_150 Index: EPEditRateTest4.xml =================================================================== RCS file: /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/RegressionTest/TestFiles/EPEditRateTest4.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EPEditRateTest4.xml 21 Nov 2005 15:29:49 -0000 1.2 --- EPEditRateTest4.xml 24 Nov 2005 17:10:48 -0000 1.3 *************** *** 1,31 **** ! <?xml version="1.0" encoding="UTF-8"?> ! <!DOCTYPE aaf-file SYSTEM "EPDerivationChain.dtd"> ! ! <aaf-file> ! ! <!-- Test one static audio track --> ! ! <clip name="Clip 1"> ! <timeline-mob-slot edit-rate-denominator="24" edit-rate-numerator="600"> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="600"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </timeline-mob-slot> ! </clip> ! <clip name="Clip 2"> ! <static-mob-slot> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="1200000"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </static-mob-slot> ! </clip> ! ! </aaf-file> --- 1,31 ---- ! <?xml version="1.0" encoding="UTF-8"?> ! <!DOCTYPE aaf-file SYSTEM "EPDerivationChain.dtd"> ! ! <aaf-file> ! ! <!-- Test one static audio track --> ! ! <clip name="Clip 1"> ! <timeline-mob-slot edit-rate-denominator="24" edit-rate-numerator="600"> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="600"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </timeline-mob-slot> ! </clip> ! <clip name="Clip 2"> ! <static-mob-slot> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="1200000"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </static-mob-slot> ! </clip> ! ! </aaf-file> --- NEW FILE: InputParserGen.sh --- #!/bin/bash # This script generates a file used by InputParser, using EPDerivationChain.dtd OPERATION_GROUP_PARAMS=`grep "<\!ENTITY % OPERATION_GROUP" EPDerivationChain.dtd | sed 's/.* \"//' | sed 's/\">//' | sed 's/ | / /g'` SRC_REF_PARAMS=`grep "<\!ENTITY % SOURCE_REFERENCE" EPDerivationChain.dtd | sed 's/.* \"//' | sed 's/\">//' | sed 's/ | / /g'` SEGMENT_PARAMS=`grep "<\!ENTITY % SEGMENT" EPDerivationChain.dtd | sed 's/.* \"//' | sed 's/\">//' | sed 's/ | / /g' | sed 's/%OPERATION_GROUP;/'"$OPERATION_GROUP_PARAMS"'/' | sed 's/%SOURCE_REFERENCE;/'"$SRC_REF_PARAMS"'/'` NON_OG_SEGMENT_PARAMS=`grep "<\!ENTITY % SEGMENT" EPDerivationChain.dtd | sed 's/.* \"//' | sed 's/\">//' | sed 's/ | / /g' | sed 's/%OPERATION_GROUP;//'` NON_OG_COMPONENT_PARAMS=`grep "<\!ENTITY % COMPONENT" EPDerivationChain.dtd | sed 's/.* \"//' | sed 's/\">//' | sed 's/ | / /g' | sed 's/%SEGMENT;/'"$NON_OG_SEGMENT_PARAMS"'/'` MOB_PARAMS=`grep "<\!ENTITY % MOB" EPDerivationChain.dtd | sed 's/.* \"//' | sed 's/\">//' | sed 's/ | / /g'` ESSENCE_PARAMS=`grep "<\!ENTITY % ESSENCE_TYPE" EPDerivationChain.dtd | sed 's/.* \"//' | sed 's/\">//' | sed 's/ | / /g'` OUTHEADERFILE=InputParser.cpp.gen rm -f InputParser.cpp.gen ####GENERATE THE HEADER FILE METHODS exec 4>$OUTHEADERFILE # Populate create segment map ( for operation groups ) for ogparams in $OPERATION_GROUP_PARAMS do echo ' _createSegmentMap[L"'$ogparams'"] = &TestFileBuilder::CreateOperationGroup;' >&4 done echo >&4 # Populate fill segment map (for operation groups) for ogparams in $OPERATION_GROUP_PARAMS do echo ' _fillSegmentMapD[L"'$ogparams'"] = &TestFileBuilder::AddToOperationGroup;' >&4 done echo >&4 # Populate type D property map (for operation groups) for ogparams in $OPERATION_GROUP_PARAMS do for segparams in $SEGMENT_PARAMS do echo ' _typeDPropertyMap[TypeDPair( L"'$ogparams'", L"'$segparams'" )] = TestFileBuilder::INPUT_SEGMENT;' >&4 done echo >&4 done # Populate effect map (for non-operation group components) for compparams in $NON_OG_COMPONENT_PARAMS do echo ' _effectMap[L"'$compparams'"] = kAAFOperationDef_Unknown;' >&4 done echo >&4 # Populate the rational parameter map with default (blank) values for mobparams in $MOB_PARAMS do echo ' _optRationalParam[L"'$mobparams'"] = L"";' >&4 done echo >&4 # Populate the essence map for essenceparams in $ESSENCE_PARAMS do upper=`exec echo $essenceparams | tr '[a-z]' '[A-Z]'` echo ' _essenceMap[L"'$essenceparams'"] = TestFileBuilder::'$upper';' >&4 done # Populate the essence map echo >&4 Index: EPEditRateTest.xml =================================================================== RCS file: /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/RegressionTest/TestFiles/EPEditRateTest.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** EPEditRateTest.xml 21 Nov 2005 15:29:49 -0000 1.3 --- EPEditRateTest.xml 24 Nov 2005 17:10:48 -0000 1.4 *************** *** 1,3142 **** ! <?xml version="1.0" encoding="UTF-8"?> ! <!DOCTYPE aaf-file SYSTEM "EPDerivationChain.dtd"> ! ! <aaf-file> ! ! <!-- Test exact ratios --> ! ! <top-level name="Audio 24000/1001 Top Level"> ! <timeline-mob-slot edit-rate-denominator="1001" edit-rate-numerator="24000"> ! <source-clip track-type="audio"> [...6255 lines suppressed...] ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </timeline-mob-slot> ! </clip> ! <clip name="Clip 2"> ! <timeline-mob-slot edit-rate-denominator="24" edit-rate-numerator="600"> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="600"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </timeline-mob-slot> ! </clip> ! ! </aaf-file> Index: EPEditRateTest3.xml =================================================================== RCS file: /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/RegressionTest/TestFiles/EPEditRateTest3.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EPEditRateTest3.xml 21 Nov 2005 15:29:49 -0000 1.2 --- EPEditRateTest3.xml 24 Nov 2005 17:10:48 -0000 1.3 *************** *** 1,31 **** ! <?xml version="1.0" encoding="UTF-8"?> ! <!DOCTYPE aaf-file SYSTEM "EPDerivationChain.dtd"> ! ! <aaf-file> ! ! <!-- Test one incorrect audio sample rate --> ! ! <clip name="Clip 1"> ! <timeline-mob-slot edit-rate-denominator="24" edit-rate-numerator="600"> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="600"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </timeline-mob-slot> ! </clip> ! <clip name="Clip 2"> ! <timeline-mob-slot edit-rate-denominator="24" edit-rate-numerator="600"> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="1200000"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </timeline-mob-slot> ! </clip> ! ! </aaf-file> --- 1,31 ---- ! <?xml version="1.0" encoding="UTF-8"?> ! <!DOCTYPE aaf-file SYSTEM "EPDerivationChain.dtd"> ! ! <aaf-file> ! ! <!-- Test one incorrect audio sample rate --> ! ! <clip name="Clip 1"> ! <timeline-mob-slot edit-rate-denominator="24" edit-rate-numerator="600"> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="600"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </timeline-mob-slot> ! </clip> ! <clip name="Clip 2"> ! <timeline-mob-slot edit-rate-denominator="24" edit-rate-numerator="600"> ! <source-clip track-type="audio"> ! <file-source name="File Source 1" sample-rate-denominator="24" sample-rate-numerator="1200000"> ! <timeline-mob-slot edit-rate-denominator="1" edit-rate-numerator="1"> ! <eoc track-type="none"/> ! </timeline-mob-slot> ! </file-source> ! </source-clip> ! </timeline-mob-slot> ! </clip> ! ! </aaf-file> Index: TestFileBuilder.cpp =================================================================== RCS file: /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/RegressionTest/TestFiles/TestFileBuilder.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** TestFileBuilder.cpp 21 Nov 2005 21:32:25 -0000 1.7 --- TestFileBuilder.cpp 24 Nov 2005 17:10:48 -0000 1.8 *************** *** 36,39 **** --- 36,40 ---- #include <AxParameter.h> #include <AxMetaDef.h> + #include <AxDescriptiveFramework.h> //AAF files *************** *** 486,489 **** --- 487,491 ---- shared_ptr<AxSequence> axSequence( new AxSequence( AxCreateInstance<IAAFSequence>( axDictionary ) ) ); + axSequence->SetLength( 0 ); AddDataDef( *axSequence, essenceType ); *************** *** 492,498 **** } ! shared_ptr<AxComponent> TestFileBuilder::CreateOperationGroup( TrackType essenceType, const aafUID_t& opDefId ) { AxHeader axHeader( _axFile.getHeader() ); AxDictionary axDictionary( axHeader.GetDictionary() ); --- 494,523 ---- } ! shared_ptr<AxComponent> TestFileBuilder::CreateCommentMarker( TrackType essenceType, const aafUID_t& uidNothing ) ! { ! AxHeader axHeader( _axFile.getHeader() ); ! AxDictionary axDictionary( axHeader.GetDictionary() ); ! ! shared_ptr<AxCommentMarker> axCommentMarker( new AxCommentMarker( AxCreateInstance<IAAFCommentMarker>( axDictionary ) ) ); ! ! AddDataDef( *axCommentMarker, essenceType ); ! ! return axCommentMarker; ! } ! ! shared_ptr<AxComponent> TestFileBuilder::CreateDescriptiveMarker( TrackType essenceType, const aafUID_t& uidNothing ) { + AxHeader axHeader( _axFile.getHeader() ); + AxDictionary axDictionary( axHeader.GetDictionary() ); + + shared_ptr<AxDescriptiveMarker> axDesMarker( new AxDescriptiveMarker( AxCreateInstance<IAAFDescriptiveMarker>( axDictionary ) ) ); + + AddDataDef( *axDesMarker, essenceType ); + return axDesMarker; + } + + shared_ptr<AxComponent> TestFileBuilder::CreateOperationGroup( TrackType essenceType, const aafUID_t& opDefId ) + { AxHeader axHeader( _axFile.getHeader() ); AxDictionary axDictionary( axHeader.GetDictionary() ); *************** *** 514,524 **** */ ! void TestFileBuilder::InitializeSourceClip( shared_ptr<AxSegment> axSegment, AxMob& axMob ) { ! shared_ptr<AxSourceClip> axSrcClip = dynamic_pointer_cast<AxSourceClip>( axSegment ); aafSourceRef_t srcRef; ! srcRef.sourceID = axMob.GetMobID(); srcRef.sourceSlotID = 1; srcRef.startTime = 0; --- 539,549 ---- */ ! void TestFileBuilder::InitializeSourceClip( shared_ptr<AxSourceReference> parent, AxMob& child ) { ! shared_ptr<AxSourceClip> axSrcClip = dynamic_pointer_cast<AxSourceClip>( parent ); aafSourceRef_t srcRef; ! srcRef.sourceID = child.GetMobID(); srcRef.sourceSlotID = 1; srcRef.startTime = 0; *************** *** 529,558 **** } ! void TestFileBuilder::AddToTransition( shared_ptr<AxObject> axObject, AxObject& axObj ) { ! shared_ptr<AxTransition> axTransition = dynamic_pointer_cast<AxTransition>( axObject ); ! shared_ptr<AxOperationGroup> axOpGroup( new AxOperationGroup( AxQueryInterface<IAAFObject, IAAFOperationGroup>( axObj ) ) ); axTransition->SetOperationGroup( *axOpGroup ); } ! void TestFileBuilder::AddToSequence( shared_ptr<AxObject> axObject, AxObject& axObj ) { ! shared_ptr<AxSequence> axSequence = dynamic_pointer_cast<AxSequence>( axObject ); ! shared_ptr<AxComponent> axComponent( new AxComponent( AxQueryInterface<IAAFObject, IAAFComponent>( axObj ) ) ); ! axSequence->AppendComponent( *axComponent ); } ! void TestFileBuilder::AddToOperationGroup( shared_ptr<AxSegment> axSegment, AxObject& axObj, int property ) { ! shared_ptr<AxOperationGroup> axOpGroup = dynamic_pointer_cast<AxOperationGroup>( axSegment ); ! shared_ptr<AxSegment> axChildSegment( new AxSegment( AxQueryInterface<IAAFObject, IAAFSegment>( axObj ) ) ); ! axChildSegment->SetDataDef( axOpGroup->GetDataDef() ); ! ! axOpGroup->AppendInputSegment( *axChildSegment ); } --- 554,602 ---- } ! void TestFileBuil... [truncated message content] |