Fix HLS detection
This commit is contained in:
parent
171c381768
commit
b2c7d93498
1 changed files with 6 additions and 6 deletions
|
@ -69,12 +69,12 @@ function tryRemoveElement(elem) {
|
|||
}
|
||||
}
|
||||
|
||||
function enableNativeTrackSupport(currentSrc, track) {
|
||||
function enableNativeTrackSupport(mediaSource, track) {
|
||||
if (track?.DeliveryMethod === 'Embed') {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (browser.firefox && (currentSrc || '').toLowerCase().includes('.m3u8')) {
|
||||
if (browser.firefox && (mediaSource?.TranscodingSubProtocol || mediaSource?.Container) === 'hls') {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -341,11 +341,11 @@ export class HtmlVideoPlayer {
|
|||
* @private
|
||||
*/
|
||||
updateVideoUrl(streamInfo) {
|
||||
const isHls = streamInfo.url.toLowerCase().includes('.m3u8');
|
||||
|
||||
const mediaSource = streamInfo.mediaSource;
|
||||
const item = streamInfo.item;
|
||||
|
||||
const isHls = (mediaSource?.TranscodingSubProtocol || mediaSource?.Container) === 'hls';
|
||||
|
||||
// Huge hack alert. Safari doesn't seem to like if the segments aren't available right away when playback starts
|
||||
// This will start the transcoding process before actually feeding the video url into the player
|
||||
// Edit: Also seeing stalls from hls.js
|
||||
|
@ -513,7 +513,7 @@ export class HtmlVideoPlayer {
|
|||
elem.crossOrigin = crossOrigin;
|
||||
}
|
||||
|
||||
if (enableHlsJsPlayer(options.mediaSource.RunTimeTicks, 'Video') && val.includes('.m3u8')) {
|
||||
if (enableHlsJsPlayer(options.mediaSource.RunTimeTicks, 'Video') && (options.mediaSource.TranscodingSubProtocol || options.mediaSource.Container) === 'hls') {
|
||||
return this.setSrcWithHlsJs(elem, options, val);
|
||||
} else if (options.playMethod !== 'Transcode' && options.mediaSource.Container === 'flv') {
|
||||
return this.setSrcWithFlvJs(elem, options, val);
|
||||
|
@ -1561,7 +1561,7 @@ export class HtmlVideoPlayer {
|
|||
})[0];
|
||||
|
||||
this.setTrackForDisplay(this.#mediaElement, track, targetTextTrackIndex);
|
||||
if (enableNativeTrackSupport(this.#currentSrc, track)) {
|
||||
if (enableNativeTrackSupport(this._currentPlayOptions?.mediaSource, track)) {
|
||||
if (streamIndex !== -1) {
|
||||
this.setCueAppearance();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue