From: Andrew K. <aja...@us...> - 2005-11-30 16:49:23
|
Update of /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/Doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31766/Doc Modified Files: EditProtocolTests_Assumptions_and_Issues.txt AnalyzerDocumentation.txt assumptions_and_issues_in_context.txt AAFTestProgram.xml.zip Log Message: Added new tests. Added new requirements to existing tests Index: AAFTestProgram.xml.zip =================================================================== RCS file: /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/Doc/AAFTestProgram.xml.zip,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 Binary files /tmp/cvsnBeoMf and /tmp/cvsvl3vsE differ Index: EditProtocolTests_Assumptions_and_Issues.txt =================================================================== RCS file: /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/Doc/EditProtocolTests_Assumptions_and_Issues.txt,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** EditProtocolTests_Assumptions_and_Issues.txt 24 Nov 2005 17:10:47 -0000 1.7 --- EditProtocolTests_Assumptions_and_Issues.txt 30 Nov 2005 16:49:10 -0000 1.8 *************** *** 6,10 **** available, REQ_EP_063 is being used to specify an invalid reference from a file source. ! 2. REQ_EP_063 only deals with references to import, tape and film sources, not file sources. This was discussed in the conference call on September 26 --- 6,10 ---- available, REQ_EP_063 is being used to specify an invalid reference from a file source. ! 2. REQ_EP_063 only deals with references to import, tape and film sources, not file sources. This was discussed in the conference call on September 26 *************** *** 12,16 **** REQ_EP_063 is being used to specify that a reference from a file source to another file source is valid. ! 3. REQ_EP_064 states "if a file source does not have one of the above sources, then it shall reference and include a recording source." This is currently --- 12,16 ---- REQ_EP_063 is being used to specify that a reference from a file source to another file source is valid. ! 3. REQ_EP_064 states "if a file source does not have one of the above sources, then it shall reference and include a recording source." This is currently *************** *** 19,23 **** being interpreted as an if and only if, therefore, a file source may have a(n) file/import/tape/file source as well as a recording source. ! 4. The Edit Protocol does not specify what types of references an import source is allowed to reference. REQ_EP_076 states that "if an import --- 19,23 ---- being interpreted as an if and only if, therefore, a file source may have a(n) file/import/tape/file source as well as a recording source. ! 4. The Edit Protocol does not specify what types of references an import source is allowed to reference. REQ_EP_076 states that "if an import *************** *** 27,31 **** requirement is available, REQ_EP_076 is being used to specify an invalid reference from an import source. ! 5. The Edit Protocol does not specify what type of references a tape source is allowed to reference. REQ_EP_083 states that "if a tape source has a film --- 27,31 ---- requirement is available, REQ_EP_076 is being used to specify an invalid reference from an import source. ! 5. The Edit Protocol does not specify what type of references a tape source is allowed to reference. REQ_EP_083 states that "if a tape source has a film *************** *** 34,43 **** more appropriate requirement is available, REQ_EP_083 is being used to specify an invalid reference from a tape source. ! 6. The Edit Protocol does not specify what type of references a film source is allowed to reference. Currently, a test will fail, although all requirements will appear to have passed if a film source is not the end of the derivation chain. ! 7. Currently a test will fail if a CompositionMob does not have a UsageCode property. However, there is no requirement in the Edit Protocol that --- 34,43 ---- more appropriate requirement is available, REQ_EP_083 is being used to specify an invalid reference from a tape source. ! 6. The Edit Protocol does not specify what type of references a film source is allowed to reference. Currently, a test will fail, although all requirements will appear to have passed if a film source is not the end of the derivation chain. ! 7. Currently a test will fail if a CompositionMob does not have a UsageCode property. However, there is no requirement in the Edit Protocol that *************** *** 46,50 **** A possible solution is to fail the requirement that specifies acceptable references out of the "current node." ! 8. Currently a test will fail if a CompositionMob or a MasterMob has an unknown UsageCode property. However, there is no requirement in the Edit --- 46,50 ---- A possible solution is to fail the requirement that specifies acceptable references out of the "current node." ! 8. Currently a test will fail if a CompositionMob or a MasterMob has an unknown UsageCode property. However, there is no requirement in the Edit *************** *** 53,57 **** pass. A possible solution is to fail the requirement that specifies acceptable references out of the "current node." ! 9. Currently a test will fail if a SourceMob has no descriptor. However, the Edit Protocol does not specify that a SourceMob must have a descriptor. --- 53,57 ---- pass. A possible solution is to fail the requirement that specifies acceptable references out of the "current node." ! 9. Currently a test will fail if a SourceMob has no descriptor. However, the Edit Protocol does not specify that a SourceMob must have a descriptor. *************** *** 59,63 **** possible solution is to fail the requirement that specifies acceptable references out of the "current node." ! 10. Currently a test will fail if a SourceMob has an "invalid" descriptor (ie. Auxiliary). However, the Edit Protocol does not specify that a SourceMob --- 59,63 ---- possible solution is to fail the requirement that specifies acceptable references out of the "current node." ! 10. Currently a test will fail if a SourceMob has an "invalid" descriptor (ie. Auxiliary). However, the Edit Protocol does not specify that a SourceMob *************** *** 65,69 **** requirements will appear to pass. A possible solution is to fail the requirement that specifies acceptable references out of the "current node." ! 11. Currently a test will fail if a SourceClip does not have a SourceReference property. However, the Edit Protocol does not specify that a SourceClip --- 65,69 ---- requirements will appear to pass. A possible solution is to fail the requirement that specifies acceptable references out of the "current node." ! 11. Currently a test will fail if a SourceClip does not have a SourceReference property. However, the Edit Protocol does not specify that a SourceClip *************** *** 71,75 **** all requirements will appear to pass. A possible solution is to fail the requirement that specifies acceptable references out of the "current node." ! 12. Tests will currently fail if the first "node" in the derivation chain is anything other than a top-level composition. REQ_EP_030 states that "a --- 71,75 ---- all requirements will appear to pass. A possible solution is to fail the requirement that specifies acceptable references out of the "current node." ! 12. Tests will currently fail if the first "node" in the derivation chain is anything other than a top-level composition. REQ_EP_030 states that "a *************** *** 81,85 **** will be considered as the first "node" in a derivation chain. Unreferenced SourceMobs, MasterMobs and SourceClips will never be tested. ! 13. REQ_EP_026, REQ_EP_031, REQ_EP_036 and REQ_EP_045 state that top-level, lower-level, sub-clip and adjusted-clip compositions respectively "shall --- 81,85 ---- will be considered as the first "node" in a derivation chain. Unreferenced SourceMobs, MasterMobs and SourceClips will never be tested. ! 13. REQ_EP_026, REQ_EP_031, REQ_EP_036 and REQ_EP_045 state that top-level, lower-level, sub-clip and adjusted-clip compositions respectively "shall *************** *** 89,93 **** these compositions is the end of a chain, the test will fail, however, all requirements will appear to pass. ! 14. As was discussed in the conference call on September 26, 2005, REQ_EP_031 does not specify a lower-level composition can reference another --- 89,93 ---- these compositions is the end of a chain, the test will fail, however, all requirements will appear to pass. ! 14. As was discussed in the conference call on September 26, 2005, REQ_EP_031 does not specify a lower-level composition can reference another *************** *** 96,105 **** therefore, REQ_EP_031 is used to specify a valid reference from one lower-level composition to another. ! 15. As was discussed during the conference call on September 26, 2005, the figure in Section 6.1 makes it appear that a Clip may be the end of the derivation chain. Until further information is avaliable, the test will assume that it is valid for a clip to be the end of the derivation chain. ! 16. Requirements REQ_EP_025, REQ_EP_030, REQ_EP_034, REQ_EP_043, REQ_EP_049, REQ_EP_054, REQ_EP_058, REQ_EP_071, REQ_EP_074, REQ_EP_080, REQ_EP_085 and --- 96,105 ---- therefore, REQ_EP_031 is used to specify a valid reference from one lower-level composition to another. ! 15. As was discussed during the conference call on September 26, 2005, the figure in Section 6.1 makes it appear that a Clip may be the end of the derivation chain. Until further information is avaliable, the test will assume that it is valid for a clip to be the end of the derivation chain. ! 16. Requirements REQ_EP_025, REQ_EP_030, REQ_EP_034, REQ_EP_043, REQ_EP_049, REQ_EP_054, REQ_EP_058, REQ_EP_071, REQ_EP_074, REQ_EP_080, REQ_EP_085 and *************** *** 110,176 **** rewritten as "Let an adjusted-clip composistion be defined as a CompositionMob with Mob::UsageCode property equal to Usage_AdjustedClip" ! 17. REQ_EP_013, REQ_EP_014 and REQ_EP_039 are all classified as file requirements but they seem dependant on an importing or exporting application. ! 18. REQ_EP_023 and REQ_EP_097 are optional ("MAY") requirements. There is no way they can present a warning or a failure - they are not currently being tested. ! 19. REQ_EP_028 does not specify if physical track numbers may be repeated. Until further information is avaliable, it is assumed that they can not be repeated. ! 20. REQ_EP_028 does not specify if reserved physical track numbers are legal values. Until further information is avaliable, it is assumed that they are illegal. ! 21. REQ_EP_028 does not specify if physical track numbers outside the range 1-6 are legal. Until further information is avaliable, it is assumed that they are illegal. ! 22. REQ_EP_082 does not specify if physical track numbers may be repeated. Until further information is avaliable, it is assumed that they can not be repeated. ! 23. REQ_EP_082 does not specify if reserved physical track numbers are legal values. Until further information is avaliable, it is assumed that they are illegal. ! 24. REQ_EP_082 does not specify if physical track numbers outside the range 1-12 are legal. Until further information is avaliable, it is assumed that they are illegal. ! 25. REQ_EP_087 does not specify if physical track numbers may be repeated. Until further information is avaliable, it is assumed that they can not be repeated. ! 26. REQ_EP_087 does not specify if physical track numbers outside the range 1-3 are legal. Until further information is avaliable, it is assumed that they are illegal. ! 27. Timecode track is not defined. It is assumed to be a MobSlot where IsTimecodeType is true. ! 28. Edgecode track is not defined. It is assumed to be a MobSlot where IsEdgecodeType is true. ! 29. The legal layout of a derivation chain is not specified in test, only in the diagram. ! 30. REQ_EP_037 states each essence track of a sub-clip composition shall contain exactly one SourceClip - what about sequences of one SourceClip? Currently, sequences are not accepted. ! 31. REQ_EP_046 states each essence track of an adjusted-clip composition shall contain exactly one OperationGroup - what about sequence of one OperationGroup? Currently sequences are not accepted. ! 32. What does REQ_EP_056 mean? 33. Essence track is not defined. It is assumed to be a MobSlot that has an Sound or Picture DataDefinition. ! 34. REQ_EP_091 states that the edit rate of an essence track must be equivalent to value in the table. However, StaticMobSlots do not have edit rates. --- 110,176 ---- rewritten as "Let an adjusted-clip composistion be defined as a CompositionMob with Mob::UsageCode property equal to Usage_AdjustedClip" ! 17. REQ_EP_013, REQ_EP_014 and REQ_EP_039 are all classified as file requirements but they seem dependant on an importing or exporting application. ! 18. REQ_EP_023 and REQ_EP_097 are optional ("MAY") requirements. There is no way they can present a warning or a failure - they are not currently being tested. ! 19. REQ_EP_028 does not specify if physical track numbers may be repeated. Until further information is avaliable, it is assumed that they can not be repeated. ! 20. REQ_EP_028 does not specify if reserved physical track numbers are legal values. Until further information is avaliable, it is assumed that they are illegal. ! 21. REQ_EP_028 does not specify if physical track numbers outside the range 1-6 are legal. Until further information is avaliable, it is assumed that they are illegal. ! 22. REQ_EP_082 does not specify if physical track numbers may be repeated. Until further information is avaliable, it is assumed that they can not be repeated. ! 23. REQ_EP_082 does not specify if reserved physical track numbers are legal values. Until further information is avaliable, it is assumed that they are illegal. ! 24. REQ_EP_082 does not specify if physical track numbers outside the range 1-12 are legal. Until further information is avaliable, it is assumed that they are illegal. ! 25. REQ_EP_087 does not specify if physical track numbers may be repeated. Until further information is avaliable, it is assumed that they can not be repeated. ! 26. REQ_EP_087 does not specify if physical track numbers outside the range 1-3 are legal. Until further information is avaliable, it is assumed that they are illegal. ! 27. Timecode track is not defined. It is assumed to be a MobSlot where IsTimecodeType is true. ! 28. Edgecode track is not defined. It is assumed to be a MobSlot where IsEdgecodeType is true. ! 29. The legal layout of a derivation chain is not specified in test, only in the diagram. ! 30. REQ_EP_037 states each essence track of a sub-clip composition shall contain exactly one SourceClip - what about sequences of one SourceClip? Currently, sequences are not accepted. ! 31. REQ_EP_046 states each essence track of an adjusted-clip composition shall contain exactly one OperationGroup - what about sequence of one OperationGroup? Currently sequences are not accepted. ! 32. What does REQ_EP_056 mean? 33. Essence track is not defined. It is assumed to be a MobSlot that has an Sound or Picture DataDefinition. ! 34. REQ_EP_091 states that the edit rate of an essence track must be equivalent to value in the table. However, StaticMobSlots do not have edit rates. *************** *** 178,182 **** a Sound or Picture DataDefinition. How should REQ_EP_091 treat StaticMobSlots? ! 35. REQ_EP_061 and REQ_EP_075 require that URIs comply with RFC 2396 and also that absolute URIs conform to RFC 1738. However, RFC 2396 updates RFC 1738. --- 178,182 ---- a Sound or Picture DataDefinition. How should REQ_EP_091 treat StaticMobSlots? ! 35. REQ_EP_061 and REQ_EP_075 require that URIs comply with RFC 2396 and also that absolute URIs conform to RFC 1738. However, RFC 2396 updates RFC 1738. *************** *** 184,192 **** conform with RFC 1738 should the test fail? What if in order to comform to RFC 1738 it can not comply with RFC 2396. ! 36. REQ_EP_061 and REQ_EP_075 require that if a NetworkLocator contains a "relative URI, the base URI should be determined from the URI of the AAF file itself." What exactly does this mean? ! 37. REQ_EP_059 says that essence associated with a file SourceMob shall be internal to the AAF file or external to the AAF file. If the --- 184,192 ---- conform with RFC 1738 should the test fail? What if in order to comform to RFC 1738 it can not comply with RFC 2396. ! 36. REQ_EP_061 and REQ_EP_075 require that if a NetworkLocator contains a "relative URI, the base URI should be determined from the URI of the AAF file itself." What exactly does this mean? ! 37. REQ_EP_059 says that essence associated with a file SourceMob shall be internal to the AAF file or external to the AAF file. If the *************** *** 196,200 **** assume the only legal values are kAAFContainerDef_External and kAAFContainerDef_AAF. ! 38. REQ_EP_060 states there should be a Locator specifying the location of the essence. REQ_EP_061 states there should be a NetworkLocator that complies --- 196,200 ---- assume the only legal values are kAAFContainerDef_External and kAAFContainerDef_AAF. ! 38. REQ_EP_060 states there should be a Locator specifying the location of the essence. REQ_EP_061 states there should be a NetworkLocator that complies *************** *** 204,223 **** or External is not specified), that the test is currently being implemented to accept two differnt locators that will meet these requeirements. ! 39. The URI validator that is currently being used does not accept wide characters. It also does not appear to accept relative URIs. Until a different URI validator is found, these problems will exist when validating URIs. ! 40. REQ_EP_060 tests if a file exists at the location pointed to by the locator. Currently this is done assuming the path is specified as an absolute URI. Once a URI tool that deals with relative URIs, this can be modified to to allow the path to be absolute or relative. ! 41. The words "valid name" are used throughout the Edit Protocol, but what makes a name valid is never determined. Until further information is avaliable, it is assumed that a name is valid if an AAF Object has a name property that has been set. ! 42. REQ_EP_099 and REQ_EP_100 state that the edit rates of audio tracks must equal the sample rate and the edit rates of video tracks must be less than --- 204,223 ---- or External is not specified), that the test is currently being implemented to accept two differnt locators that will meet these requeirements. ! 39. The URI validator that is currently being used does not accept wide characters. It also does not appear to accept relative URIs. Until a different URI validator is found, these problems will exist when validating URIs. ! 40. REQ_EP_060 tests if a file exists at the location pointed to by the locator. Currently this is done assuming the path is specified as an absolute URI. Once a URI tool that deals with relative URIs, this can be modified to to allow the path to be absolute or relative. ! 41. The words "valid name" are used throughout the Edit Protocol, but what makes a name valid is never determined. Until further information is avaliable, it is assumed that a name is valid if an AAF Object has a name property that has been set. ! 42. REQ_EP_099 and REQ_EP_100 state that the edit rates of audio tracks must equal the sample rate and the edit rates of video tracks must be less than *************** *** 228,281 **** do not have edit rates. Until more information is avaliable, all StaticMobSlots will cause test failures. ! 43. The term zero-valued SourceClip object is not defined. For the purpose of this test, it is assumed to be a SourceClip object with a SourceID = { {0,0,0,0,0,0,0,0,0,0,0,0}, 0, 0, 0, 0, { 0, 0, 0, {0,0,0,0,0,0,0,0} } } = 00000000000000000000000000000000-00000000-0000-0000-0000000000000000. ! 44. The term essence track is not defined. For the purpose of this test (REQ_EP_050, REQ_EP_072), it is aussumed to be any SourceClip object along the derivation chain. ! 45. How do you acuratley check that a file exists (ie. it is insufficient to check if the file can be open using an ifstream) in a platform independant fashion? ! 46. REQ_EP_161 can not easily be regression tested as there does not appear to be any way to add a DefinitionObject to the dictionary without first calling its initialize method. The initialize method will provide the DefinitionObject with a valid name. ! 47. There is no requirement that specifies when it is legal to end the derivation chain. Currently, an illegal end of the derivation chain is detected based upon the diagram in section 6.1. A failure will be reported, but, not requirements will be shown as failing. ! 48. Effects are being classified solely based upon their AUIDs, not the rest of their definition. There should be a requirement that can be tested that states the AUID can only be used for effects matching the definitions specified in section 12. ! 49. Section 12 uses the phrases "within a Transition object" and "not within "a transition object". This is not clear. Currently it is assumed to mean that the direct parent must or must not be a Transition object, however, it is ok if an ancestor higher than a parent is a Transition object. ! 50. The URI validator currently being used is libURI (http://sourceforge.net/projects/liburi/) is not sufficient for this test. Until a better validator is avaliable, this test will be registered but not run. ! 51. REQ_EP_187 does not specify if the Speed Ratio parameter should be constant or varying value. Currently it is assumed that it must be constant in order for there to be a ratio value of zero. Tests will fail if it is not constant. ! 52. It is assumed that REQ_EP_187 applies only to Speed Ratio Parameters that belong to Video Speed Control effects. ! ! 53. There is no easy way to regression test varying value or non-rational Speed ! Ratio parameters for REQ_EP_187 ! 54. Currently, if a test fails or issues a warning, traversal down the current path will be terminated. This could mask further warnings or failures. In --- 228,281 ---- do not have edit rates. Until more information is avaliable, all StaticMobSlots will cause test failures. ! 43. The term zero-valued SourceClip object is not defined. For the purpose of this test, it is assumed to be a SourceClip object with a SourceID = { {0,0,0,0,0,0,0,0,0,0,0,0}, 0, 0, 0, 0, { 0, 0, 0, {0,0,0,0,0,0,0,0} } } = 00000000000000000000000000000000-00000000-0000-0000-0000000000000000. ! 44. The term essence track is not defined. For the purpose of this test (REQ_EP_050, REQ_EP_072), it is aussumed to be any SourceClip object along the derivation chain. ! 45. How do you acuratley check that a file exists (ie. it is insufficient to check if the file can be open using an ifstream) in a platform independant fashion? ! 46. REQ_EP_161 can not easily be regression tested as there does not appear to be any way to add a DefinitionObject to the dictionary without first calling its initialize method. The initialize method will provide the DefinitionObject with a valid name. ! 47. There is no requirement that specifies when it is legal to end the derivation chain. Currently, an illegal end of the derivation chain is detected based upon the diagram in section 6.1. A failure will be reported, but, not requirements will be shown as failing. ! 48. Effects are being classified solely based upon their AUIDs, not the rest of their definition. There should be a requirement that can be tested that states the AUID can only be used for effects matching the definitions specified in section 12. ! 49. Section 12 uses the phrases "within a Transition object" and "not within "a transition object". This is not clear. Currently it is assumed to mean that the direct parent must or must not be a Transition object, however, it is ok if an ancestor higher than a parent is a Transition object. ! 50. The URI validator currently being used is libURI (http://sourceforge.net/projects/liburi/) is not sufficient for this test. Until a better validator is avaliable, this test will be registered but not run. ! 51. REQ_EP_187 does not specify if the Speed Ratio parameter should be constant or varying value. Currently it is assumed that it must be constant in order for there to be a ratio value of zero. Tests will fail if it is not constant. ! 52. It is assumed that REQ_EP_187 applies only to Speed Ratio Parameters that belong to Video Speed Control effects. ! ! 53. There is no easy way to regression test Speed Ratio parameters for ! REQ_EP_187. ! 54. Currently, if a test fails or issues a warning, traversal down the current path will be terminated. This could mask further warnings or failures. In *************** *** 284,303 **** mobs/clips are in the correct place), however, in other cases, it is should be possible to continue testing (ie. any non-structural test). Switching ! the tests to continue along the chain should not effect any of the ! regression tests. ! 55. It is assumed that REQ_EP_131 means that a Primary Timecode mob slot can only have one Timecode object (ie. No sequences and it can not be the child of another segment). ! 56. REQ_EP_131 refers to Primary Timecode Tracks in Lower-Level compositions. Primary Timecode Tracks are only defined for Top-Level Compositions and Tape Sources. It is assumed that the definition is consistent. ! 57. REQ_EP_136 says the slots in an Auxiliary SourceMob may be timeline, event or static. May implies that this is optional, so any time of slot is legal. If this is not correct, the requirement should be written with a shall in place of the may. ! 58. Auxiliary SourceMobs are defined in section 9.1.1 and requirements specify what data they can include. However, they do not fit anywhere in the --- 284,303 ---- mobs/clips are in the correct place), however, in other cases, it is should be possible to continue testing (ie. any non-structural test). Switching ! the tests to continue along the chain should not effect the regression tests ! unless noted within the XML files. ! 55. It is assumed that REQ_EP_131 means that a Primary Timecode mob slot can only have one Timecode object (ie. No sequences and it can not be the child of another segment). ! 56. REQ_EP_131 refers to Primary Timecode Tracks in Lower-Level compositions. Primary Timecode Tracks are only defined for Top-Level Compositions and Tape Sources. It is assumed that the definition is consistent. ! 57. REQ_EP_136 says the slots in an Auxiliary SourceMob may be timeline, event or static. May implies that this is optional, so any time of slot is legal. If this is not correct, the requirement should be written with a shall in place of the may. ! 58. Auxiliary SourceMobs are defined in section 9.1.1 and requirements specify what data they can include. However, they do not fit anywhere in the *************** *** 309,311 **** where DescriptiveMarkers are allowed. It is assumed that CommentMarker refers to the base class and any subclass other than DescriptiveMarker and ! its subclasses. \ No newline at end of file --- 309,365 ---- where DescriptiveMarkers are allowed. It is assumed that CommentMarker refers to the base class and any subclass other than DescriptiveMarker and ! its subclasses. ! ! 60. REQ_EP_149 referes to classes included within an essence track. It is ! assumed that this means any component that is a descendant (ie. contained ! within through some level of nesting), of a MobSlot. ! ! 61. It is assumed that for data definition values to be consistent in ! REQ_EP_162, AxDataDef::IsDataDefOf() must return true. ! ! 62. For REQ_EP_162 It is assumed that a warning should be presented if there is ! an OperationDefinition in the AAF file that is not referenced. ! ! 63. It is not possible to save an AAF file with an unreferenced ! OperationDefinition so the warn condition of REQ_EP_162 can not be tested. ! ! 64. When testing REQ_EP_248 and REQ_EP_249 it is assumed that the parent of a ! transition must be a sequence. Under the current AAF Object specification, ! this appears to be a valid assumption, however, should the specification ! change, the requirements may need to change. ! ! 65. When REQ_EP_248 and REQ_EP_249 state that segments must be specified from ! the begining/to the end of a Transition, it is assumed that this means the ! length of the segment must be at least as long as the transition. ! ! 66. REQ_EP_248 and REQ_EP_249 cannot be accuratley regression tested as the ! implementation of the AAF object model does not allow the following failure ! cases of these requirements: ! a) Incoming or Outgoing Segments that are too short. ! b) Transitions or Segments with no length. ! c) A Transition with no outgoing segment. ! ! 67. The conditions tested by REQ_EP_248 are a subset of the conditions tested by ! REQ_EP_249. REQ_EP_248 is not necessary since when it fails, an identical ! failure of REQ_EP_249 will be produced. ! ! 68. REQ_EP_248 and REQ_EP_249 are requirements for Two-Parameter Mono Audio ! Dissolve effects. There should probably be an analogous requirement for ! Single Parameter Mono Audio Dissolve effects. ! ! 69. It is assumed that sub-classes of ConstantValue and VaryingValue are legal ! for REQ_EP_174, but any other sub-class of Parameter is illegal. ! ! 70. There is no easy way to regression test REQ_EP_174 with the current testing ! framework. ! ! 71. When building the test graph, it is assumed that properties with a Record ! data type will not contain any strong references. According to the AAF ! object specification, strong references are allowed. If stong references ! are used from records, the test graph will be incomplete. Furthermore, it ! is assumed that property's with data types of FixedArray or VariableArray ! will not be arrays of Indirect or Opaque data types. It is also assumed ! that the Rename data type will not be used with a base data type of Indirect ! or Opaque. The AAF object specification allows Indirects and Opaques to be ! used in this way and if this assumption is incorrect, the AAF Analyzer will ! throw an exception and terminate before analyzing the file. \ No newline at end of file Index: assumptions_and_issues_in_context.txt =================================================================== RCS file: /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/Doc/assumptions_and_issues_in_context.txt,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** assumptions_and_issues_in_context.txt 24 Nov 2005 17:10:47 -0000 1.5 --- assumptions_and_issues_in_context.txt 30 Nov 2005 16:49:10 -0000 1.6 *************** *** 711,714 **** --- 711,724 ---- The Two-Parameter Mono Audio Dissolve effect shall only be used by an OperationGroup within a Transition object. + REQ_EP_248 (12.20.4) + In a Two-Parameter Mono Audio Dissolve effect, although the incoming + segment is first faded up only at a point X, the incoming segment must + be specified from the begining of the Transition. + REQ_EP_249 (12.20.4) + In a Two-Parameter Mono Audio Dissolve effect, although the incomming + segment is first faded up only at a point X, the incoming segment must + be specified from the beginning of the Transition. Similarily, although + the outgoing segment is completely faded down at point Y, the outgoing + segment must be specified to the end of the Transition. Warn Conditions: REQ_EP_187 - Issue a warning if there is a ratio with a zero denominator on *************** *** 763,766 **** --- 773,796 ---- REQ_EP_247 - Fail if the Operation Group is not a direct child of a Transition object. + REQ_EP_248 - Fail if the Operation Group is not a direct child of a + Transition object. + REQ_EP_248 - Fail if the length of the incoming segment is less than the + length of the effect's transition. + REQ_EP_248 - Fail if the incoming segment does not have a length property. + REQ_EP_248 - Fail if the effect's transition does not have a length + property. + REQ_EP_248 - Fail if there is not incoming segment. + REQ_EP_249 - Fail if the Operation Group is not a direct child of a + Transition object. + REQ_EP_249 - Fail if the length of the incoming segment is less than the + length of the effect's transition. + REQ_EP_249 - Fail if the length of the outgoing segment is less than the + length of the effect's transition. + REQ_EP_249 - Fail if the incoming segment does not have a length property. + REQ_EP_249 - Fail if the outgoing segment does not have a length property. + REQ_EP_249 - Fail if the effect's transition does not have a length + property. + REQ_EP_249 - Fail if there is no incoming segment. + REQ_EP_249 - Fail if there is no outgoing segment. Issues: 49. Section 12 uses the phrases "within a Transition object" and "not within *************** *** 777,785 **** belong to Video Speed Control effects. ! 53. There is no easy way to regression test varying value or non-rational Speed ! Ratio parameters for REQ_EP_187 Test Name: ! EPAnnotationTestTest Description: Make sure that annotations in an AAF file are legal. --- 807,839 ---- belong to Video Speed Control effects. ! 53. There is no easy way to regression test Speed Ratio parameters for ! REQ_EP_187. ! ! 64. When testing REQ_EP_248 and REQ_EP_249 it is assumed that the parent of a ! transition must be a sequence. Under the current AAF Object specification, ! this appears to be a valid assumption, however, should the specification ! change, the requirements may need to change. ! ! 65. When REQ_EP_248 and REQ_EP_249 state that segments must be specified from ! the begining/to the end of a Transition, it is assumed that this means the ! length of the segment must be at least as long as the transition. ! ! 66. REQ_EP_248 and REQ_EP_249 cannot be accuratley regression tested as the ! implementation of the AAF object model does not allow the following failure ! cases of these requirements: ! a) Incoming or Outgoing Segments that are too short. ! b) Transitions or Segments with no length. ! c) A Transition with no outgoing segment. ! ! 67. The conditions tested by REQ_EP_248 are a subset of the conditions tested by ! REQ_EP_249. REQ_EP_248 is not necessary since when it fails, an identical ! failure of REQ_EP_249 will be produced. ! ! 68. REQ_EP_248 and REQ_EP_249 are requirements for Two-Parameter Mono Audio ! Dissolve effects. There should probably be an analogous requirement for ! Single Parameter Mono Audio Dissolve effects. Test Name: ! EPAnnotationTest Description: Make sure that annotations in an AAF file are legal. *************** *** 796,799 **** --- 850,860 ---- DescriptiveMarkers may be placed in any kind of MobSlot (e.g. TimelineMobSlot, EventMobSlot, StaticMobSlot). + REQ_EP_151 (10.1) + Exporting applications shall document all TaggedValues in use using + TaggedValueDefinition objects in the Dictionary::TaggedValueDefinitions + property. + REQ_EP_152 (10.1) + Exporting applications shall document all KLVData in use in + KLVDataDefinition objects in the Dictionary::KLVDefinitions property. Warn Conditions: NONE *************** *** 808,811 **** --- 869,876 ---- DescriptiveMarker han an ancestor MobSlot that is not an EventMobSlot. + REQ_EP_151 - Fail if a TaggedValue has a name that does not have a + correspondingly named TaggedValueDefinition in the dictionary. + REQ_EP_152 - Fail if a KLVData object has a key that does not have a + KLVDataDefinition with the same AUID in the dictionary. Issues: 33. Essence track is not defined. It is assumed to be a MobSlot that has a *************** *** 817,820 **** --- 882,956 ---- its subclasses. + 60. REQ_EP_149 referes to classes included within an essence track. It is + assumed that this means any component that is a descendant (ie. contained + within through some level of nesting), of a MobSlot. + + Test Name: + EPDefinitionTest + Description: + Make sure DefinitionObjects are used properly. + Requirements Tested: + REQ_EP_162 (11.1) + An OperationDefinition object in an AAF file shall have a data + definition value consistent with the data definition of an + OperationGroup object that references it. + Warn Conditions: + REQ_EP_162 - Present a warning if an OperationDefinition is in the + dictionary but is not referenced by an OperationGroup. + Fail Conditions: + REQ_EP_162 - Fail if the data definition of an OperationGroup is not the + same as the data definition of the OperationDefinition that it + references. + Issues: + 61. It is assumed that for data definition values to be consistent in + REQ_EP_162, AxDataDef::IsDataDefOf() must return true. + + 62. For REQ_EP_162 It is assumed that a warning should be presented if there is + an OperationDefinition in the AAF file that is not referenced. + + 63. It is not possible to save an AAF file with an unreferenced + OperationDefinition so the warn condition of REQ_EP_162 can not be tested. + + Test Name: + EPHeaderTest + Description: + Make sure the Header of an AAF file is valid under the Edit Protocol. + Requirements Tested: + REQ_EP_255 (15) + Header::OperationalPattern should be equal to OpEditProtocol. + Warn Conditions: + NONE + Fail Conditions: + REQ_EP_255 - The Header::OperationPattern property is not present or not + equal to OpEditProtocol. + Issues: + NONE + + Test Name: + EPParameterTest + Description: + Make sure all parameters in an AAF file are valid under the Edit Protocol. + Requirements Tested: + REQ_EP_174 (11.5) + Effect parameters shall be specified using ConstantValue or VaryingValue + objects. + REQ_EP_175 (11.5.1) + Interpolation between ControlPoints within VaryingValue objects shall be + specified as one of the following: ConstantInterpolator, + LinearInterpolator, LogInterpolator, PowerInterpolator, + BSplineInterpolator. + Warn Conditions: + NONE + Fail Conditions: + REQ_EP_174 - Fail if a Parameter that is not a ConstantValue or VaryingValue + (or a subclass) is encountered. + REQ_EP_175 - Fail if a VaryingValue has an illegal interpolator definition. + Issues: + 69. It is assumed that sub-classes of ConstantValue and VaryingValue are legal + for REQ_EP_174, but any other sub-class of Parameter is illegal. + + 70. There is no easy way to regression test REQ_EP_174 with the current testing + framework. + Other Issues: *************** *** 918,923 **** mobs/clips are in the correct place), however, in other cases, it is should be possible to continue testing (ie. any non-structural test). Switching ! the tests to continue along the chain should not effect any of the ! regression tests. \ No newline at end of file --- 1054,1072 ---- mobs/clips are in the correct place), however, in other cases, it is should be possible to continue testing (ie. any non-structural test). Switching ! the tests to continue along the chain should not effect the regression tests ! unless noted within the XML files. + Requirements: + NONE + Issue: + 71. When building the test graph, it is assumed that properties with a Record + data type will not contain any strong references. According to the AAF + object specification, strong references are allowed. If stong references + are used from records, the test graph will be incomplete. Furthermore, it + is assumed that property's with data types of FixedArray or VariableArray + will not be arrays of Indirect or Opaque data types. It is also assumed + that the Rename data type will not be used with a base data type of Indirect + or Opaque. The AAF object specification allows Indirects and Opaques to be + used in this way and if this assumption is incorrect, the AAF Analyzer will + throw an exception and terminate before analyzing the file. \ No newline at end of file Index: AnalyzerDocumentation.txt =================================================================== RCS file: /cvsroot/aaf/AAF/Utilities/AAFAnalyzer/Doc/AnalyzerDocumentation.txt,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** AnalyzerDocumentation.txt 24 Nov 2005 17:10:47 -0000 1.7 --- AnalyzerDocumentation.txt 30 Nov 2005 16:49:10 -0000 1.8 *************** *** 541,544 **** --- 541,549 ---- EPEffectVisitor - Derived from EPTypedVisitor, used by EPEffectTest to verify that all OperationGroups are valid. + + TransitionInputVisitor - Derived from TypedVisitor and used by EFEffectVisitor. + Visits the parents of an effect to find the transition + in which it is contained and the input segments to the + transition. EPLocatorTest - Derived from Test and executed by EPMobDepPhase. Test that *************** *** 561,563 **** EPAnnotationVisitor - Derived from EPTypedVisitor, used by EPAnnotationTest to ! verify that all annotations are legal. \ No newline at end of file --- 566,587 ---- EPAnnotationVisitor - Derived from EPTypedVisitor, used by EPAnnotationTest to ! verify that all annotations are legal. ! ! EPDefinitionTest - Derived from Test and executed by EPMobDepPhase. Test that ! all DefinitionObjects are properly used. ! ! EPDefinitionVisitor - Derived from EPTypedVisitor, used by EPDefinitionTest to ! verify that all DefinitionObjects are used legally. ! ! EPHeaderTest - Derived from Test and executed by EPMobDepPhase. Test that the ! header of an AAF file complies to the Edit Protocol. ! ! EPHeaderVisitor - Derived from TypedVisitor, used by EPDefinitionTest to verify ! the header of the AAF file is valid. ! ! EPParameterTest - Derived from Test and executed by EPMobDepPhase. Test that ! all parameters with an AAF file meet the Edit Protocol ! requirements. ! ! EPParameterVisitor - Derived from EPTypedVisitor, used by EPParameterTest to ! verify that all parameters in an AAF file are legal. \ No newline at end of file |