Skip to content

YN-0866: Expose ExtractOTIOReview settings - #2047

Open
rdelillo wants to merge 6 commits into
developfrom
bugfix/YN-0866_extract_otio_review_settings
Open

rdelillo wants to merge 6 commits into
developfrom
bugfix/YN-0866_extract_otio_review_settings

Conversation

@rdelillo

@rdelillo rdelillo commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Changelog Description

fixes: ynput/ayon-hiero#164

Changes:

  • Expose ExtractOTIOReview settings so user can better control the representation generated from OTIO-based product.

Testing notes:

  1. Package and upload
  2. Publish editorial product
  3. Ensure representation name and default resolution can be controlled through settings

@ynbot ynbot added size/XS type: bug Something isn't working labels Sep 9, 2026
@rdelillo
rdelillo requested a lite review from Copilot September 9, 2026 20:51

This comment was marked as outdated.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

This comment was marked as outdated.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The updated extractor can generate invalid ffmpeg commands (stream copy with filters) and the new settings defaults/constraints risk invalid resolutions and mismatched stated behavior (extension control vs disabled setting).

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details

Suppressed comments (5)

Previously missed (3) — in code that hasn't changed since the last review.

server/settings/publish_plugins.py:1038

  • Allowing default_to_width to be 0 can lead to invalid ffmpeg arguments (e.g. scale=0:... and color=...:s=0x...) when instance resolution isn't provided. This should default to a valid width and validate as > 0.

This issue also appears on line 1039 of the same file.
server/settings/publish_plugins.py:1898

  • The settings model description says the representation name defaults to the output extension, but the default settings here force representation_name to review_png, changing behavior for projects that don't explicitly override it. If the goal is only to expose the setting without changing defaults, keep representation_name empty so it falls back to the extension at runtime.
    client/ayon_core/plugins/publish/extract_otio_review.py:337
  • New settings-driven behavior for representation_name isn't covered by the existing tests (they currently assert only the ffmpeg command lines). Add/extend a unit test to assert the created representation uses the configured name when set, and falls back to the extension when empty.

server/settings/publish_plugins.py:1043

  • Allowing default_to_height to be 0 can lead to invalid ffmpeg arguments (e.g. scale=...:0 and color=...:s=...x0) when instance resolution isn't provided. This should default to a valid height and validate as > 0.
    default_to_height: int = SettingsField(
        0,
        ge=0,
        le=100000,
        title="Default height"

client/ayon_core/plugins/publish/extract_otio_review.py:568

  • The -c copy branch can produce an invalid ffmpeg command because this function also adds a -vf scale=... filter for video/sequence. ffmpeg does not allow stream copy together with filtering (it will error). With the new normalization (output_ext without dot), this branch is more likely to trigger for .png inputs.
        # add copying if extensions are matching
        if (
            input_extension
            and self.output_ext.lower() == input_extension.lower().strip(".")
        ):
  • Files reviewed: 2/2 changed files
  • Comments generated: 2
  • Review effort level: Lite

Comment thread client/ayon_core/plugins/publish/extract_otio_review.py
Comment thread server/settings/publish_plugins.py
@ynbot ynbot moved this to Review In Progress in PR reviewing Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XS type: bug Something isn't working

Projects

Status: Review In Progress

Development

Successfully merging this pull request may close these issues.

YN-0866: editorial reviewable workflow improvements

3 participants