Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

C++ API should honor OTIO_DEFAULT_TARGET_VERSION_FAMILY_LABEL environment variable #1636

Open
jminor opened this issue Jun 27, 2023 · 2 comments
Labels
bug A problem, flaw, or broken functionality. needs discussion

Comments

@jminor
Copy link
Collaborator

jminor commented Jun 27, 2023

The OTIO schema versioning system (documented here) provides a mechanism for causing software to output older schema versions. The environment variable OTIO_DEFAULT_TARGET_VERSION_FAMILY_LABEL can be set to control this behavior. However, that environment variable is only used in OTIO's Python layer, which means that applications built on OITO's C++ API don't honor that setting.

This discrepancy creates difficulty for pipelines that use a mixture of software, some using OTIO via Python, and some using OTIO via C++. In order to uniformly control the emitted OTIO schema version, C++ applications need to be modified and/or OTIO files need to be converted via otiotool or otioconvert after they are written to disk.

This situation would be much easier to deal with if the OTIO C++ layer honored the OTIO_DEFAULT_TARGET_VERSION_FAMILY_LABEL environment variable in the same way that the Python layer does.

@jminor jminor added the bug A problem, flaw, or broken functionality. label Jun 27, 2023
@meshula
Copy link
Collaborator

meshula commented Jun 27, 2023

I anticipate if we allow one env controlled behavior it's inevitable that switches will accrue. If we go down the road of env var controls, let's abstract the reading to a platform specific function, so that hardened runtimes that shouldn't access the environment can trivially nop out the access.

@ssteinbach
Copy link
Collaborator

We should probably discuss this - I'd be reluctant to add this to the C++ core

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A problem, flaw, or broken functionality. needs discussion
Projects
Development

No branches or pull requests

4 participants