Skip to content

Conversation

@joelmacx
Copy link
Collaborator

@joelmacx joelmacx commented Dec 9, 2025

Description

On Windows the player was crashing when export is to the same file as the selected file for the player. We add better checking in AudioFilePlayer callbacks for the start and stop of export, and destroy the existing player at the start of export.

Changes

  1. Caught bug where IAMFPlaybackDevice could be created on export start instead of finish.

Validation and Acceptance Criteria

Validated manually via UI

  • Validated in Pro Tools and AudioPluginHost.
  • Windows validation.

@joelmacx joelmacx self-assigned this Dec 9, 2025
browseVideoButton_.setEnabled(true);
browseVideoSourceButton_.setEnabled(true);
if (!config.getExportCompleted()) {
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I removed this to be consistent with how we update the exportCompleted field. I didn't write this so I'm unsure if this a problem for any DAWs @BrandenAvalonCx?

Copy link
Collaborator

Choose a reason for hiding this comment

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

This is specifically needed for Premiere Pro. It looks like this change may be fine, but it should be tested on Premiere Pro to verify that it's okay to just update to true without checking the exportCompleted flag has been set.

Copy link
Collaborator

@BrandenAvalonCx BrandenAvalonCx left a comment

Choose a reason for hiding this comment

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

Testing shows this doesn't resolve the issue on windows. Not sure if we should still apply this fix or if you want to further investigate after the release


if (kFileToLoad.empty() || kFileToLoad.extension() != ".iamf" ||
!std::filesystem::exists(kFileToLoad)) {
// If the file doesn't exist or it's a new file, we set the player to a
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't understand how this is checking for a "new" file. Do you mean an empty file?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

If the path to the given output file does not exist, export must be to a new file not rewriting an existing file.
How would an empty iamf file exist here besides maybe a crash during export?

browseVideoButton_.setEnabled(true);
browseVideoSourceButton_.setEnabled(true);
if (!config.getExportCompleted()) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

This is specifically needed for Premiere Pro. It looks like this change may be fine, but it should be tested on Premiere Pro to verify that it's okay to just update to true without checking the exportCompleted flag has been set.

@joelmacx joelmacx closed this Dec 15, 2025
@joelmacx joelmacx deleted the player-windows-fs branch December 15, 2025 17:38
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.

2 participants