Skip to content

hang catalog: JS displayAspectWidth/Height vs Rust displayRatioWidth/Height never interop #2003

Description

@kixelated

Summary

The hang catalog pixel-aspect fields never interop between the two implementations:

  • js/hang/src/catalog/video.ts:31: displayAspectWidth / displayAspectHeight
  • rs/hang/src/catalog/video/mod.rs:117: display_ratio_width / display_ratio_height (serialized as displayRatioWidth / displayRatioHeight)

Each side ignores the other's field name, so the value is dropped in both directions.

Impact

Cross-language anamorphic video renders unstretched (wrong aspect ratio); no error anywhere.

Suggested fix

Pick one name (the Rust one matches neither WebCodecs nor the JS name, so decide deliberately), emit it from both sides, and accept the legacy alias on parse for one release.

Found during a full review of the dev branch; pre-existing on main.

(Written by Claude Fable 5)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions