Skip to content

Stream and Channel Mapping Support#2015

Open
reinecke wants to merge 8 commits intoAcademySoftwareFoundation:mainfrom
reinecke:feature/stream_channel_mapping_support
Open

Stream and Channel Mapping Support#2015
reinecke wants to merge 8 commits intoAcademySoftwareFoundation:mainfrom
reinecke:feature/stream_channel_mapping_support

Conversation

@reinecke
Copy link
Copy Markdown
Collaborator

@reinecke reinecke commented Apr 4, 2026

Link the Issue(s) this Pull Request is related to.

If there is an associated issue, link it in the form:

Fixes #145

Summarize your change.

To for an explanation of the implementation, check out the docs.

This PR implements the proposal that was created to address #145 and add the ability to do stream/channel addressing and mapping from sources into the composition.

The C++ implementation of the mappings was built following the pattern of Clip.media_references.

Reference associated tests.

Unittests were added for the new features.

@reinecke
Copy link
Copy Markdown
Collaborator Author

reinecke commented Apr 4, 2026

@mrlimbic here is my first pass at stream/channel mapping. Please feel free to provide feedback here.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Apr 4, 2026

Codecov Report

❌ Patch coverage is 91.91050% with 47 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.49%. Comparing base (6e13de4) to head (b3bae93).

Files with missing lines Patch % Lines
...entimelineio-bindings/otio_serializableObjects.cpp 80.00% 23 Missing ⚠️
src/opentimelineio/streamInfo.h 60.00% 2 Missing ⚠️
...timelineio/opentimelineio/algorithms/track_algo.py 0.00% 2 Missing ⚠️
...melineio/opentimelineio/schema/audio_mix_matrix.py 75.00% 2 Missing ⚠️
...neio/opentimelineio/schema/index_stream_address.py 75.00% 2 Missing ⚠️
...timelineio/opentimelineio/schema/stream_address.py 75.00% 2 Missing ⚠️
...neio/schema/stream_channel_index_stream_address.py 75.00% 2 Missing ⚠️
...pentimelineio/opentimelineio/schema/stream_info.py 75.00% 2 Missing ⚠️
...ntimelineio/opentimelineio/schema/stream_mapper.py 75.00% 2 Missing ⚠️
...imelineio/opentimelineio/schema/stream_selector.py 75.00% 2 Missing ⚠️
... and 4 more
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2015      +/-   ##
==========================================
+ Coverage   85.14%   85.49%   +0.34%     
==========================================
  Files         181      205      +24     
  Lines       12780    13354     +574     
  Branches     1206     1217      +11     
==========================================
+ Hits        10882    11417     +535     
- Misses       1715     1753      +38     
- Partials      183      184       +1     
Flag Coverage Δ
py-unittests 85.49% <91.91%> (+0.34%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/opentimelineio/audioMixMatrix.cpp 100.00% <100.00%> (ø)
src/opentimelineio/indexStreamAddress.cpp 100.00% <100.00%> (ø)
src/opentimelineio/indexStreamAddress.h 100.00% <100.00%> (ø)
src/opentimelineio/mediaReference.cpp 100.00% <100.00%> (ø)
src/opentimelineio/mediaReference.h 100.00% <ø> (ø)
src/opentimelineio/streamAddress.cpp 100.00% <100.00%> (ø)
...opentimelineio/streamChannelIndexStreamAddress.cpp 100.00% <100.00%> (ø)
...c/opentimelineio/streamChannelIndexStreamAddress.h 100.00% <100.00%> (ø)
src/opentimelineio/streamInfo.cpp 100.00% <100.00%> (ø)
src/opentimelineio/streamMapper.cpp 100.00% <100.00%> (ø)
... and 22 more

... and 3 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6e13de4...b3bae93. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

reinecke added 8 commits April 7, 2026 17:49
Signed-off-by: Eric Reinecke <ereinecke@netflix.com>
Signed-off-by: Eric Reinecke <ereinecke@netflix.com>
Signed-off-by: Eric Reinecke <ereinecke@netflix.com>
Signed-off-by: Eric Reinecke <ereinecke@netflix.com>
Signed-off-by: Eric Reinecke <ereinecke@netflix.com>
Signed-off-by: Eric Reinecke <ereinecke@netflix.com>
Signed-off-by: Eric Reinecke <ereinecke@netflix.com>
Signed-off-by: Eric Reinecke <ereinecke@netflix.com>
@reinecke reinecke force-pushed the feature/stream_channel_mapping_support branch from 0d6c0cf to b3bae93 Compare April 7, 2026 22:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Media Reference Stream/Channel Specification support

2 participants