Skip to content

Split Track Metadata lookup from metadata extraction #16

Description

@zeevenn

What to build

Deepen the Track Metadata implementation by separating Local Music Library item lookup from Embedded Metadata extraction and normalization. The external Interface remains getTrackMetadataAsync(trackId), while the Implementation gains internal seams that can be tested with fixture metadata or fixture audio resources.

Acceptance criteria

  • Platform code has an internal seam between Track lookup and metadata extraction or normalization.
  • Metadata extraction can be tested with fixtures or fake platform items without requiring a full device music library query.
  • Lyrics, audio header fields, tag fields, and missing-field behavior are normalized through one metadata result path per platform.
  • Cloud, DRM, missing file path, and unsupported metadata cases follow the cross-platform result/error contract.
  • getTrackMetadataAsync(trackId) remains the public external Interface.
  • Tests cover at least representative lyrics/tag fallback behavior where practical.

Blocked by

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