Skip to content

Commit

Permalink
fix: Fix external image track mime type (#7333)
Browse files Browse the repository at this point in the history
  • Loading branch information
avelad authored and joeyparrish committed Sep 18, 2024
1 parent 6d74d9f commit d40d9fa
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 2 deletions.
11 changes: 9 additions & 2 deletions lib/player.js
Original file line number Diff line number Diff line change
Expand Up @@ -5566,14 +5566,21 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
references.push(reference);
}

let segmentMimeType = mimeType;
if (references.length) {
segmentMimeType = await shaka.net.NetworkingUtils.getMimeType(
references[0].getUris()[0],
this.networkingEngine_, this.config_.manifest.retryParameters);
}

/** @type {shaka.extern.Stream} */
const stream = {
id: this.nextExternalStreamId_++,
originalId: null,
groupId: null,
createSegmentIndex: () => Promise.resolve(),
segmentIndex: new shaka.media.SegmentIndex(references),
mimeType: mimeType || '',
mimeType: segmentMimeType || '',
codecs: '',
kind: '',
encrypted: false,
Expand All @@ -5597,7 +5604,7 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
external: true,
fastSwitching: false,
fullMimeTypes: new Set([shaka.util.MimeUtils.getFullType(
mimeType || '', '')]),
segmentMimeType || '', '')]),
};

if (this.loadMode_ == shaka.Player.LoadMode.SRC_EQUALS) {
Expand Down
4 changes: 4 additions & 0 deletions test/player_integration.js
Original file line number Diff line number Diff line change
Expand Up @@ -1336,6 +1336,8 @@ describe('Player', () => {

expect(player.getImageTracks()).toEqual([newTrack]);

expect(newTrack.mimeType).toBe('image/jpeg');

const thumbnail1 = await player.getThumbnails(newTrack.id, 0);
expect(thumbnail1.startTime).toBe(0);
expect(thumbnail1.duration).toBe(5);
Expand Down Expand Up @@ -1374,6 +1376,8 @@ describe('Player', () => {

expect(player.getImageTracks()).toEqual([newTrack]);

expect(newTrack.mimeType).toBe('image/jpeg');

const thumbnail1 = await player.getThumbnails(newTrack.id, 0);
expect(thumbnail1.startTime).toBe(0);
expect(thumbnail1.duration).toBe(5);
Expand Down
4 changes: 4 additions & 0 deletions test/player_src_equals_integration.js
Original file line number Diff line number Diff line change
Expand Up @@ -453,6 +453,8 @@ describe('Player Src Equals', () => {

expect(player.getImageTracks()).toEqual([newTrack]);

expect(newTrack.mimeType).toBe('image/jpeg');

const thumbnail1 = await player.getThumbnails(newTrack.id, 0);
expect(thumbnail1.startTime).toBe(0);
expect(thumbnail1.duration).toBe(5);
Expand Down Expand Up @@ -491,6 +493,8 @@ describe('Player Src Equals', () => {

expect(player.getImageTracks()).toEqual([newTrack]);

expect(newTrack.mimeType).toBe('image/jpeg');

const thumbnail1 = await player.getThumbnails(newTrack.id, 0);
expect(thumbnail1.startTime).toBe(0);
expect(thumbnail1.duration).toBe(5);
Expand Down

0 comments on commit d40d9fa

Please sign in to comment.