Converting this AAF to OTIO produces the wrong source_range and available_range for the three clips included.
TIMELINE: simple_timecode_test.Exported.02
ITEM: test_pattern_media_1920x1080_24_DNxHD-LB-tc-1-hour (<class 'opentimelineio._otio.Clip'>)
source_range: TimeRange(RationalTime(0, 24), RationalTime(120, 24))
trimmed_range: TimeRange(RationalTime(0, 24), RationalTime(120, 24))
visible_range: TimeRange(RationalTime(0, 24), RationalTime(120, 24))
available_range: TimeRange(RationalTime(0, 24), RationalTime(1.0368e+07, 24))
range_in_parent: TimeRange(RationalTime(0, 24), RationalTime(120, 24))
trimmed range in timeline: TimeRange(RationalTime(0, 24), RationalTime(120, 24))
visible range in timeline: TimeRange(RationalTime(0, 24), RationalTime(120, 24))
range in Sequence (<class 'opentimelineio._otio.Track'>): TimeRange(RationalTime(0, 24), RationalTime(120, 24))
range in tracks (<class 'opentimelineio._otio.Stack'>): TimeRange(RationalTime(0, 24), RationalTime(120, 24))
ITEM: test_pattern_media_1920x1080_24_DNxHD-LB-tc-zero (<class 'opentimelineio._otio.Clip'>)
source_range: TimeRange(RationalTime(0, 24), RationalTime(120, 24))
trimmed_range: TimeRange(RationalTime(0, 24), RationalTime(120, 24))
visible_range: TimeRange(RationalTime(0, 24), RationalTime(120, 24))
available_range: TimeRange(RationalTime(0, 24), RationalTime(1.0368e+07, 24))
range_in_parent: TimeRange(RationalTime(120, 24), RationalTime(120, 24))
trimmed range in timeline: TimeRange(RationalTime(120, 24), RationalTime(120, 24))
visible range in timeline: TimeRange(RationalTime(120, 24), RationalTime(120, 24))
range in Sequence (<class 'opentimelineio._otio.Track'>): TimeRange(RationalTime(120, 24), RationalTime(120, 24))
range in tracks (<class 'opentimelineio._otio.Stack'>): TimeRange(RationalTime(120, 24), RationalTime(120, 24))
ITEM: test_pattern_media_1920x1080_24_DNxHD-LB-no-tc (<class 'opentimelineio._otio.Clip'>)
source_range: TimeRange(RationalTime(0, 24), RationalTime(120, 24))
trimmed_range: TimeRange(RationalTime(0, 24), RationalTime(120, 24))
visible_range: TimeRange(RationalTime(0, 24), RationalTime(120, 24))
available_range: TimeRange(RationalTime(0, 24), RationalTime(1.0368e+07, 24))
range_in_parent: TimeRange(RationalTime(240, 24), RationalTime(120, 24))
trimmed range in timeline: TimeRange(RationalTime(240, 24), RationalTime(120, 24))
visible range in timeline: TimeRange(RationalTime(240, 24), RationalTime(120, 24))
range in Sequence (<class 'opentimelineio._otio.Track'>): TimeRange(RationalTime(240, 24), RationalTime(120, 24))
range in tracks (<class 'opentimelineio._otio.Stack'>): TimeRange(RationalTime(240, 24), RationalTime(120, 24))
TIMELINE: simple_timecode_test.Exported.02
CLIP: test_pattern_media_1920x1080_24_DNxHD-LB-tc-1-hour
CLIP: test_pattern_media_1920x1080_24_DNxHD-LB-tc-zero
CLIP: test_pattern_media_1920x1080_24_DNxHD-LB-no-tc
The attached ZIP has the source media for all three clips, the exported AAF from Avid Media Composer and the converted OTIO from that AAF which demonstrates the incorrect values.
Bug Report
Incorrect Functionality
Converting this AAF to OTIO produces the wrong source_range and available_range for the three clips included.
To Reproduce
otioconvert -i simple_timecode_test.aaf -o simple_timecode_test.otiootiotool -i simple_timecode_test.otio --list-clips --inspect test_patternExpected Behavior
The 1st clip
test_pattern_media_1920x1080_24_DNxHD-LB-tc-1-hoursource media has a starting timecode of 01:00:00:00 therefore:The 2nd clip
test_pattern_media_1920x1080_24_DNxHD-LB-tc-zerosource media has a starting timecode of 00:00:00:00 therefore:The 3rd clip
test_pattern_media_1920x1080_24_DNxHD-LB-no-tcsource media has no embedded starting timecode therefore:Additional Context
The AAF was authored with Avid Media Composer 2023.12.0.58093.0
The attached ZIP has the source media for all three clips, the exported AAF from Avid Media Composer and the converted OTIO from that AAF which demonstrates the incorrect values.
simple_timecode_test_bug_repro.zip