From 74644d3ab5a7b9a8b27cba4252310bdc651a8b3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Velad=20Galv=C3=A1n?= Date: Wed, 3 Apr 2024 08:33:05 +0200 Subject: [PATCH] fix: Reject TS content on all platforms and transmux always (#6382) Related to https://github.com/shaka-project/shaka-player/issues/6334 Related to https://github.com/shaka-project/shaka-player/issues/6320#issuecomment-1979835203 Also reverts https://github.com/shaka-project/shaka-player/pull/6045 since now it is not necessary --- lib/polyfill/mediasource.js | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/lib/polyfill/mediasource.js b/lib/polyfill/mediasource.js index 4accb035a0..86b94558b0 100644 --- a/lib/polyfill/mediasource.js +++ b/lib/polyfill/mediasource.js @@ -32,12 +32,6 @@ shaka.polyfill.MediaSource = class { if (!window.MediaSource && !window.ManagedMediaSource) { shaka.log.info('No MSE implementation available.'); - } else if (shaka.util.Platform.isChromecast()) { - shaka.log.info('Patching Chromecast MSE bugs.'); - // Chromecast fails on some TS content, even though it is supposed to - // support it. Better to transmux. - // See https://github.com/shaka-project/shaka-player/issues/5278 - shaka.polyfill.MediaSource.rejectContainer_('mp2t'); } else if (safariVersion) { // NOTE: shaka.Player.isBrowserSupported() has its own restrictions on // Safari version. @@ -73,11 +67,6 @@ shaka.polyfill.MediaSource = class { // Bug filed: https://bugs.webkit.org/show_bug.cgi?id=165342 shaka.polyfill.MediaSource.stubAbort_(); } - } else if (shaka.util.Platform.isEdge()) { - shaka.log.info('Rejecting TS container.'); - // TS content is broken on Edge in general. - // See https://github.com/shaka-project/shaka-player/issues/4955 - shaka.polyfill.MediaSource.rejectContainer_('mp2t'); } else if (shaka.util.Platform.isTizen2() || shaka.util.Platform.isTizen3() || shaka.util.Platform.isTizen4()) { @@ -90,6 +79,14 @@ shaka.polyfill.MediaSource = class { shaka.log.info('Using native MSE as-is.'); } + if (window.MediaSource || window.ManagedMediaSource) { + // TS content is broken on all browsers in general. + // See https://github.com/shaka-project/shaka-player/issues/4955 + // See https://github.com/shaka-project/shaka-player/issues/5278 + // See https://github.com/shaka-project/shaka-player/issues/6334 + shaka.polyfill.MediaSource.rejectContainer_('mp2t'); + } + if (window.MediaSource && MediaSource.isTypeSupported('video/webm; codecs="vp9"') && !MediaSource.isTypeSupported('video/webm; codecs="vp09.00.10.08"')) {