diff --git a/README.md b/README.md index 5efacbc652..35f83781db 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,8 @@ DASH features **not** supported: ## HLS features +**Only supported on browsers with SourceBuffer.mode=sequence support** + HLS features supported: - VOD, Live, and Event types - Low-latency streaming with partial segments, preload hints, and delta updates diff --git a/lib/hls/hls_parser.js b/lib/hls/hls_parser.js index 3fb4c49914..3b78cebbe6 100644 --- a/lib/hls/hls_parser.js +++ b/lib/hls/hls_parser.js @@ -2497,10 +2497,13 @@ shaka.hls.HlsParser.PresentationType_ = { LIVE: 'LIVE', }; - -shaka.media.ManifestParser.registerParserByExtension( - 'm3u8', () => new shaka.hls.HlsParser()); -shaka.media.ManifestParser.registerParserByMime( - 'application/x-mpegurl', () => new shaka.hls.HlsParser()); -shaka.media.ManifestParser.registerParserByMime( - 'application/vnd.apple.mpegurl', () => new shaka.hls.HlsParser()); +if (!shaka.util.Platform.isTizen3() && + !shaka.util.Platform.isTizen2() && + !shaka.util.Platform.isWebOS3()) { + shaka.media.ManifestParser.registerParserByExtension( + 'm3u8', () => new shaka.hls.HlsParser()); + shaka.media.ManifestParser.registerParserByMime( + 'application/x-mpegurl', () => new shaka.hls.HlsParser()); + shaka.media.ManifestParser.registerParserByMime( + 'application/vnd.apple.mpegurl', () => new shaka.hls.HlsParser()); +} diff --git a/lib/util/platform.js b/lib/util/platform.js index 49dce396cf..cd91fdd571 100644 --- a/lib/util/platform.js +++ b/lib/util/platform.js @@ -142,6 +142,18 @@ shaka.util.Platform = class { return shaka.util.Platform.userAgentContains_('Web0S'); } + /** + * Check if the current platform is a WebOS 3. + * + * @return {boolean} + */ + static isWebOS3() { + // See: http://webostv.developer.lge.com/discover/specifications/web-engine/ + return shaka.util.Platform.userAgentContains_('Web0S') && + shaka.util.Platform.userAgentContains_( + 'Chrome/38.0.2125.122 Safari/537.36'); + } + /** * Check if the current platform is a Google Chromecast. *