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

fix: do not try to use unsupported audio #896

Merged
merged 8 commits into from
Jul 10, 2020
Merged

Conversation

brandonocasey
Copy link
Contributor

@brandonocasey brandonocasey commented Jul 8, 2020

Description

Prevents unknown content from making it to the muxer and freezing the tab, such as ac3/ec3 audio in advanced bipbop ts.

@gkatsev gkatsev added this to the 2.1 milestone Jul 8, 2020
gkatsev
gkatsev previously approved these changes Jul 8, 2020
Copy link
Contributor

@gesinger gesinger left a comment

Choose a reason for hiding this comment

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

Looks good but would be good to have a test.

this.transmuxer = this.options.segment.transmuxer;
sharedHooks.afterEach.call(this, assert);
}
});
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
});
});

});

/** TODO: fix this case in mux.js
QUnit.test('aac without id3 will make it to the transmuxer', function(assert) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Instead of a comment, should we do a skip with the TODO for more visibility? (and same for one further down)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

sure

mediaSegmentRequest(this.options);

assert.equal(this.requests[0].uri, 'foo.aac', 'segment-request');
this.standardXHRResponse(this.requests[0], aacSegment());
Copy link
Contributor

Choose a reason for hiding this comment

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

Should this be something like aacWithoutId3Segment? (and same for one further down)

@brandonocasey
Copy link
Contributor Author

nope didn't fix anything, but I found out the cause

gkatsev
gkatsev previously approved these changes Jul 9, 2020

QUnit.module('Media Segment Request - make it to transmuxer', {
beforeEach(assert) {
assert.timeout(50000);
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we remove the timeout now?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

removed.

}

if (segment.container !== 'ts' && segment.container !== 'aac') {
trackInfoFn(segment, {hasAudio: true, hasVideo: false});
Copy link
Contributor

Choose a reason for hiding this comment

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

Why are we reporting audio and not video if the container type is unknown?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Originally this was because we were working with a bad audio container, but I guess it's possible that we could get here for bad video too. I pushed a commit that makes both hasAudio and hasVideo false here. Needed other changes further up the chain to support that though.

@gkatsev gkatsev merged commit 7711b26 into main Jul 10, 2020
@gkatsev gkatsev deleted the fix/unsupported-audio branch July 10, 2020 15:36
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.

3 participants