Skip to content

Commit b4d9b43

Browse files
authored
fix(HLS): Fix mp4 detection when the mimetype is application/octet-stream (#8459)
1 parent 48f217e commit b4d9b43

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

demo/common/assets.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1234,6 +1234,15 @@ shakaAssets.testAssets = [
12341234
.addFeature(shakaAssets.Feature.HLS)
12351235
.addFeature(shakaAssets.Feature.MP2TS)
12361236
.addFeature(shakaAssets.Feature.OFFLINE),
1237+
new ShakaDemoAssetInfo(
1238+
/* name= */ 'Art of Motion (HLS, MP4, AES-256)',
1239+
/* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/art_of_motion.png',
1240+
/* manifestUri= */ 'https://jvaryhlstests.blob.core.windows.net/hlstestdata/playlist_encrypted.m3u8',
1241+
/* source= */ shakaAssets.Source.BITCODIN)
1242+
.addKeySystem(shakaAssets.KeySystem.AES128)
1243+
.addFeature(shakaAssets.Feature.HLS)
1244+
.addFeature(shakaAssets.Feature.MP4)
1245+
.addFeature(shakaAssets.Feature.OFFLINE),
12371246
new ShakaDemoAssetInfo(
12381247
/* name= */ 'Art of Motion (DASH) (external thumbnails)',
12391248
/* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/art_of_motion.png',

lib/hls/hls_parser.js

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1149,7 +1149,6 @@ shaka.hls.HlsParser = class {
11491149
this.getInfoFromSegment_(segment.initSegmentReference, 0),
11501150
this.getInfoFromSegment_(segment, segmentIndex),
11511151
]);
1152-
const initMimeType = basicInfos[0].mimeType;
11531152
const contentMimeType = basicInfos[1].mimeType;
11541153
const initData = basicInfos[0].data;
11551154
const data = basicInfos[1].data;
@@ -1181,9 +1180,9 @@ shaka.hls.HlsParser = class {
11811180
if (basicInfo) {
11821181
return basicInfo;
11831182
}
1184-
} else if (validMp4Extensions.includes(extension) ||
1185-
validMp4MimeType.includes(contentMimeType) ||
1186-
(initMimeType && validMp4MimeType.includes(initMimeType))) {
1183+
} else if (segment.initSegmentReference ||
1184+
validMp4Extensions.includes(extension) ||
1185+
validMp4MimeType.includes(contentMimeType)) {
11871186
const basicInfo = shaka.media.SegmentUtils.getBasicInfoFromMp4(
11881187
initData, data, this.config_.disableText);
11891188
if (basicInfo) {
@@ -1194,10 +1193,6 @@ shaka.hls.HlsParser = class {
11941193
return shaka.media.SegmentUtils.getBasicInfoFromMimeType(
11951194
contentMimeType);
11961195
}
1197-
if (initMimeType) {
1198-
return shaka.media.SegmentUtils.getBasicInfoFromMimeType(
1199-
initMimeType);
1200-
}
12011196
return defaultBasicInfo;
12021197
}
12031198

test/hls/hls_parser_unit.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5570,7 +5570,6 @@ describe('HlsParser', () => {
55705570
const media = [
55715571
'#EXTM3U\n',
55725572
'#EXT-X-PLAYLIST-TYPE:VOD\n',
5573-
'#EXT-X-MAP:URI="init.test",BYTERANGE="616@0"\n',
55745573
'#EXTINF:5,\n',
55755574
'#EXT-X-BYTERANGE:121090@616\n',
55765575
'main.test',

0 commit comments

Comments
 (0)