Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into master-dev
Browse files Browse the repository at this point in the history
* origin/master: (59 commits)
  Change networkDetails type to "unknown".
  mp4-remuxer / remuxAudio() : recompute mdatSize / dont rely on audioTrack.len (video-dev#2096)
  Typo fix for destory -> destroy.
  Change responseType to string
  Callbacks are defined, removing TODO.
  video-devGH-2082: Replacing usage of Array.prototype.find/findIndex (video-dev#2117)
  Reduce GC pressure from ID3._utf8ArrayToStr (video-dev#2035)
  (misc): converting binary search to typescript (video-dev#2129)
  (misc) Removing IE8-specific (dead) vtt/cue code
  Fixed case of 'They use hls.js in production!' header and updated Viacom image link to new domain and using https (video-dev#2127)
  remove events/EventEmitter && move Observer to ts (video-dev#2097)
  Basic typescript of event handler.
  Update webpack to use babel loader with support for TS. (video-dev#2119)
  Allow console statement in test bench and saucelabs code.
  Lint fixes
  Playlist Loader conversion to TypeScript.
  Playlist-loader rename.
  Change IV handling for initSegments to just log a warning.
  Add handling for AES-128 encrypted initialization segments needing IV.
  (misc) Adding ace editor to demo to enable advanced customization (video-dev#2077)
  ...
  • Loading branch information
dyue committed Mar 9, 2019
2 parents 4f5000d + 7e0c599 commit cb9d289
Show file tree
Hide file tree
Showing 89 changed files with 19,568 additions and 14,457 deletions.
6 changes: 6 additions & 0 deletions .eslintrc.js
@@ -1,5 +1,6 @@
module.exports = {
'env': {
'browser': true,
'commonjs': true,
'es6': true
},
Expand Down Expand Up @@ -75,6 +76,11 @@ module.exports = {
'never'
],

'no-restricted-properties': [2,
{ 'property': 'findIndex' }, // Intended to block usage of Array.prototype.findIndex
{ 'property': 'find' } // Intended to block usage of Array.prototype.find
],

'standard/no-callback-literal': 1,
'import/first': 1,
'no-var': 1,
Expand Down
4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -89,7 +89,7 @@ Video is controlled through HTML ```<video>``` element.

HTMLVideoElement control and events could be used seamlessly.

## they use hls.js in production !
## They use hls.js in production!

|[<img src="http://i.cdn.turner.com/adultswim/big/img/global/adultswim.jpg" width="120">](http://www.adultswim.com/videos/streams)|[<img src="https://www.akamai.com/fr/fr/multimedia/images/logo/akamai-logo.png" width="120">](https://www.akamai.com)|[<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Canal%2B.svg/2000px-Canal%2B.svg.png" width="120">](https://www.canalplus.fr)|[<img src="https://avatars2.githubusercontent.com/u/115313" width="120">](http://www.dailymotion.com)|
|---|---|---|---|
Expand All @@ -98,7 +98,7 @@ HTMLVideoElement control and events could be used seamlessly.
|[<img src="https://cloud.githubusercontent.com/assets/1798553/20356424/ba158574-ac24-11e6-95e1-1ae591b11a0a.png" width="120">](https://www.peer5.com/)|[<img src="https://cloud.githubusercontent.com/assets/4909096/20925062/e26e6fc8-bbb4-11e6-99a5-d4762274a342.png" width="120">](http://qbrick.com/)|[<img src="https://www.radiantmediaplayer.com/images/radiantmediaplayer-new-logo-640.jpg" width="120">](https://www.radiantmediaplayer.com/)|[<img src="https://www.rts.ch/hummingbird-static/images/logos/logo_marts.svg" width="120">](http://www.rts.ch/)|
|[<img src="https://cloud.githubusercontent.com/assets/12702747/19316434/0a3601de-9067-11e6-85e2-936b1cb099a0.png" width="120">](https://www.snapstream.com/)|[<img src="https://www.streamamg.com/wp-content/themes/barebones/_assets/images/streamamg-logo.png" width="120">](https://www.streamamg.com/)|[<img src="https://streamsharkio.sa.metacdn.com/wp-content/uploads/2015/10/streamshark-dark.svg" width="120">](https://streamshark.io/)|[<img src="https://camo.githubusercontent.com/9580f10e9bfa8aa7fba52c5cb447bee0757e33da/68747470733a2f2f7777772e7461626c6f74762e636f6d2f7374617469632f696d616765732f7461626c6f5f6c6f676f2e706e67" width="120">](http://my.tablotv.com/)|
|[<img src="https://user-images.githubusercontent.com/2803310/34083705-349c8fd0-e375-11e7-92a6-5c38509f4936.png" width="120">](https://www.streamroot.io/)|[<img src="http://vignette1.wikia.nocookie.net/tedtalks/images/c/c0/TED_logo.png/revision/20150915192527" width="120">](https://www.ted.com/)|[<img src="https://www.seeklogo.net/wp-content/uploads/2014/12/twitter-logo-vector-download.jpg" width="120">](https://twitter.com/)|[<img src="https://cloud.githubusercontent.com/assets/8201317/20566816/bc33f51c-b196-11e6-9bd3-afb71a06460b.png" width="120">](http://vwflow.com)|
|[<img src="http://media.mtvnservices.com/edge/hosted/Viacom_logo.svg" width="120">](https://www.viacom.com/)|[<img src="https://user-images.githubusercontent.com/1181974/29248959-efabc440-802d-11e7-8050-7c1f4ca6c607.png" width="120">](https://vk.com/)|[<img src="https://s3.amazonaws.com/uploads.hipchat.com/87223/4876411/7Rybnl26ReFzlt3/jw-logo-red.png" width="120">](https://www.jwplayer.com)|[<img src="https://staticftv-a.akamaihd.net/arches/francetv/default/img/og-image.jpg?20161007" width="120">](https://www.france.tv)|
|[<img src="https://player.mtvnservices.com/edge/hosted/Viacom_logo.svg" width="120">](https://www.viacom.com/)|[<img src="https://user-images.githubusercontent.com/1181974/29248959-efabc440-802d-11e7-8050-7c1f4ca6c607.png" width="120">](https://vk.com/)|[<img src="https://s3.amazonaws.com/uploads.hipchat.com/87223/4876411/7Rybnl26ReFzlt3/jw-logo-red.png" width="120">](https://www.jwplayer.com)|[<img src="https://staticftv-a.akamaihd.net/arches/francetv/default/img/og-image.jpg?20161007" width="120">](https://www.france.tv)|
|[<img src="http://showmax.akamaized.net/e/logo/showmax_black.png" width="120">](https://tech.showmax.com)|[<img src="https://static3.1tv.ru/assets/web/logo-ac67852f1625b338f9d1fb96be089d03557d50bfc5790d5f48dc56799f59dec6.svg" width="120" height="120">](https://www.1tv.ru/) | [<img src="https://user-images.githubusercontent.com/1480052/40482633-c013ebce-5f55-11e8-96d5-b776415de0ce.png" width="120">](https://www.zdf.de) | [<img src="https://github.com/cdnbye/hlsjs-p2p-engine/blob/master/figs/cdnbye.png" width="120">](https://github.com/cdnbye/hlsjs-p2p-engine)| |
|[<img src="https://streaming.cdn77.com/live-streaming-logo-dark.png" width="120">](https://streaming.cdn77.com/)| [<img src="https://avatars0.githubusercontent.com/u/7442371?s=200&v=4" width="120">](https://r7.com/)|[<img src="https://raw.githubusercontent.com/Novage/p2p-media-loader/gh-pages/images/p2pml-logo.png" width="120">](https://github.com/Novage/p2p-media-loader)

Expand Down
143 changes: 64 additions & 79 deletions demo/index.html
@@ -1,22 +1,16 @@
<!DOCTYPE html>
<html>

<head>

<meta charset="utf-8"/>

<meta charset="utf-8">
<title>hls.js demo</title>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">

<link rel="stylesheet" href="style.css">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.3/FileSaver.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.2/ace.js"></script>
</head>

<body>
<div class="header-container">
<header class="wrapper clearfix">
Expand Down Expand Up @@ -49,86 +43,77 @@ <h3>
</p>
</header>
<div id="controls">

<div id="customButtons"></div>

<select id="streamSelect" class="innerControls">
<option value="" selected>Select a test-stream from drop-down menu. Or enter custom URL below</option>
</select>

<input id="streamURL" class="innerControls" type=text value=""/>

<label class="innerControls">
Enable streaming:
<input id="enableStreaming" type=checkbox checked/>
</label>

<label class="innerControls">
Auto-recover media-errors:
<input id="autoRecoverError" type=checkbox checked/>
</label>

<label class="innerControls">
Enable worker for transmuxing:
<input id="enableWorker" type=checkbox checked/>
</label>

<label class="innerControls">
Dump transmuxed fMP4 data:
<input id="dumpfMP4" type=checkbox unchecked/>
</label>

<label class="innerControls">
Widevine DRM license-server URL:
<input id="widevineLicenseUrl" style="width: 50%"/>
</label>

<label class="innerControls">
Level-cap'ing (max limit):
<input id="levelCapping" style="width: 8em" type=number/>
</label>

<label class="innerControls">
Default audio-codec:
<input style="width: 8em" id="defaultAudioCodec"/>
</label>

<label class="innerControls">
Metrics history (max limit, -1 is unlimited):
<input id="limitMetrics" style="width: 8em" type=number/>
</label>

<label class="innerControls">
Player size:
<select id="videoSize" style="float:right;">
<option value="240">Tiny (240p)</option>
<option value="384">Small (384p)</option>
<option value="480">Medium (480p)</option>
<option value="720" selected>Large (720p)</option>
<option value="1080">Huge (1080p)</option>
<div class="demo-controls-wrapper">
<select id="streamSelect" class="innerControls">
<option value="" selected>Select a test-stream from drop-down menu. Or enter custom URL below</option>
</select>
</label>

<label class="innerControls">
Current video-resolution:
<span id="currentResolution">/</span>
</label>
<input id="streamURL" class="innerControls" type=text value=""/>

<label class="innerControls">
Enable streaming:
<input id="enableStreaming" type=checkbox checked/>
</label>

<label class="innerControls">
Auto-recover media-errors:
<input id="autoRecoverError" type=checkbox checked/>
</label>

<label class="innerControls">
Dump transmuxed fMP4 data:
<input id="dumpfMP4" type=checkbox unchecked/>
</label>

<label class="innerControls">
Metrics history (max limit, -1 is unlimited):
<input id="limitMetrics" style="width: 8em" type=number/>
</label>

<label class="innerControls">
Player size:
<select id="videoSize" style="float:right;">
<option value="240">Tiny (240p)</option>
<option value="384">Small (384p)</option>
<option value="480">Medium (480p)</option>
<option value="720" selected>Large (720p)</option>
<option value="1080">Huge (1080p)</option>
</select>
</label>

<label class="innerControls">
Current video-resolution:
<span id="currentResolution">/</span>
</label>

<label class="innerControls">
Permalink:
<span id="StreamPermalink"></span>
</label>
</div>

<label class="innerControls">
Permalink:&nbsp;
<span id="StreamPermalink" style="width: 50%"></span>
</label>
<div class="config-editor-wrapper">
<div class="config-editor-container">
<div id="config-editor">
Loading...
</div>
</div>
<div class="config-editor-commands">
<label for="config-persistence">
Persist
<input name="config-persistence" id="configPersistence" type="checkbox">
</label>
<button name="config-apply" onclick="applyConfigEditorValue()">Apply</button>
</div>
</div>

</div>

<video id="video" controls autoplay class="videoCentered"></video>

<br>

<canvas id="bufferedCanvas" height="15" class="videoCentered" onclick="onClickBufferedRange(event);"></canvas>

<br><br>

<br>
<br>
<label class="center">Status:</label>
<pre id="statusOut" class="center" style="white-space: pre-wrap;"></pre>

Expand Down

0 comments on commit cb9d289

Please sign in to comment.