Skip to content

Commit

Permalink
Merge pull request #4402 from Dash-Industry-Forum/feature/mergeToDeve…
Browse files Browse the repository at this point in the history
…lopment

Add version 5 changes
  • Loading branch information
dsilhavy committed Mar 4, 2024
2 parents 1249205 + 71ddfc9 commit 3dbce17
Show file tree
Hide file tree
Showing 485 changed files with 27,041 additions and 44,058 deletions.
45 changes: 32 additions & 13 deletions .circleci/config.yml
@@ -1,6 +1,6 @@
version: 2.1
orbs:
browser-tools: circleci/browser-tools@1.4.6
browser-tools: circleci/browser-tools@1.4.8

executors:
dashjs-executor:
Expand Down Expand Up @@ -49,13 +49,13 @@ commands:

build_unit_test_steps:
steps:
- browser-tools/install-browser-tools:
chrome-version: "120.0.6099.224"
- browser-tools/install-browser-tools
- run:
name: Build and run unit tests
command: |
npm run build
npm run test
process_test_results: # CircleCI can not handle NaN values so we replace them with 0
steps:
- run:
Expand Down Expand Up @@ -97,25 +97,44 @@ commands:
- run:
name: Run functional tests (<<parameters.browser>> / <<parameters.protocol>>) <<parameters.groupname>>
command:
node test/functional/runTests.js --selenium=remote --reporters=junit --app=remote --browsers=<<parameters.browser>> --protocol=<<parameters.protocol>> --groupname="<<parameters.groupname>>"
node test/functional/runTests.cjs --selenium=remote --reporters=junit --app=remote --browsers=<<parameters.browser>> --protocol=<<parameters.protocol>> --groupname="<<parameters.groupname>>"
build_samples:
# parameters:
# samples:
# default: "network-interceptor"
# type: string
steps:
- run:
name: Install dependencies and build samples
command: |
for sample in "${SAMPLES}"; do
echo "Build sample $sample"
cd samples/$sample
npm install
npm run build
done
jobs:
build-and-unit-test:
environment:
SAMPLES: "network-interceptor"
executor: dashjs-executor
steps:
- checkout
- dependencies_setup
- build_unit_test_steps
- build_samples

merge-build-and-unit-test:
executor: dashjs-executor
steps:
- checkout
- run:
name: Merge into development virtually
name: Merge into v5.0.0 virtually
command: |
git config --global user.email "circleci@example.com"
git config --global user.name "CircleCI"
git checkout development
git checkout v5.0.0
git merge --no-edit --no-ff $CIRCLE_BRANCH
- dependencies_setup
- build_unit_test_steps
Expand All @@ -126,14 +145,14 @@ jobs:
- functional_precondition
- checkout
- run:
name: Virtual merge into development branch
name: Virtual merge into v5.0.0 branch
command: |
if [ "${CIRCLE_BRANCH}" = "development" ]; then
echo "On development branch already, no merge needed"
if [ "${CIRCLE_BRANCH}" = "v5.0.0" ]; then
echo "On v5.0.0 branch already, no merge needed"
else
git config --global user.email "circleci@example.com"
git config --global user.name "CircleCI"
git checkout development
git checkout v5.0.0
git merge --no-edit --no-ff $CIRCLE_BRANCH
fi
- dependencies_setup
Expand All @@ -142,13 +161,13 @@ jobs:
- run:
name: Run functional tests for one vector (chrome / https)
command:
node test/functional/runTests.js --selenium=remote --reporters=junit --debug=true --app=remote --browsers=chrome --protocol=https --source=./test/functional/config/singleVector.json
node test/functional/runTests.cjs --selenium=remote --reporters=junit --debug=true --app=remote --browsers=chrome --protocol=https --source=./test/functional/config/singleVector.json
- run:
name: Run functional tests for smoke vectors (chrome / https)
command:
node test/functional/runTests.js --selenium=remote --reporters=junit --debug=true --app=remote --browsers=chrome --protocol=https --source=./test/functional/config/smokeVectors.json
node test/functional/runTests.cjs --selenium=remote --reporters=junit --debug=true --app=remote --browsers=chrome --protocol=https --source=./test/functional/config/smokeVectors.json
- process_test_results

functional-tests-VOD_LIVE:
executor: dashjs-executor
steps:
Expand Down
7 changes: 7 additions & 0 deletions .eslintrc
Expand Up @@ -22,6 +22,13 @@
"strict": 0,
"no-loop-func": 0,
"no-multi-spaces": "error",
"keyword-spacing": [
"error",
{
"before": true,
"after": true
}
],
"quotes": [
"error",
"single",
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/deploy.yml
Expand Up @@ -22,11 +22,11 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v2
uses: actions/setup-node@v4
with:
node-version: "14.x"
node-version: "18.x"
- name: Install dependencies
run: npm install
- name: Run build
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy_latest.yml
@@ -1,4 +1,4 @@
name: deploy
name: deploy_latest

on:
push:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy_nightly.yml
@@ -1,4 +1,4 @@
name: deploy
name: deploy_nightly

on:
push:
Expand Down
18 changes: 18 additions & 0 deletions .github/workflows/deploy_v4_latest.yml
@@ -0,0 +1,18 @@
name: deploy_v4_latest

on:
push:
branches:
- 'v4_main'

jobs:
deploy_staging:
if: github.repository == 'Dash-Industry-Forum/dash.js'
uses: ./.github/workflows/deploy.yml
with:
envname: v4_latest
deploy_path: '/377335/dash.js'
secrets:
host: ${{secrets.HOST}}
user: ${{secrets.USER}}
private_key: ${{secrets.PRIVATE_KEY}}
18 changes: 18 additions & 0 deletions .github/workflows/deploy_v4_nightly.yml
@@ -0,0 +1,18 @@
name: deploy_v4_nightly

on:
push:
branches:
- 'v4_development'

jobs:
deploy_staging:
if: github.repository == 'Dash-Industry-Forum/dash.js'
uses: ./.github/workflows/deploy.yml
with:
envname: v4_nightly
deploy_path: '/377335/dash.js'
secrets:
host: ${{secrets.HOST}}
user: ${{secrets.USER}}
private_key: ${{secrets.PRIVATE_KEY}}
File renamed without changes.
2 changes: 1 addition & 1 deletion build/karma.conf.js → build/karma.conf.cjs
@@ -1,5 +1,5 @@

const llSegmentMiddleware = require('./helpers/LLsegment.js');
const llSegmentMiddleware = require('./helpers/LLsegment.cjs');

function CustomMiddlewareFactory(/*config*/) {
return function (request, response, next ) {
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion build/webpack.dev.js → build/webpack.dev.cjs
@@ -1,5 +1,5 @@
const { merge } = require('webpack-merge');
const common = require('./webpack.base.js').config;
const common = require('./webpack.base.cjs').config;
const path = require('path');

const config = merge(common, {
Expand Down
2 changes: 1 addition & 1 deletion build/webpack.prod.js → build/webpack.prod.cjs
@@ -1,6 +1,6 @@
const { merge } = require('webpack-merge');
const ESLintPlugin = require('eslint-webpack-plugin');
const common = require('./webpack.base.js').config;
const common = require('./webpack.base.cjs').config;

const entries = {
'dash.all': './index.js',
Expand Down
14 changes: 7 additions & 7 deletions contrib/akamai/controlbar/ControlBar.js
Expand Up @@ -529,13 +529,13 @@ var ControlBar = function (dashjsMediaPlayer, displayUTCTimeCodes) {
destroyMenu(bitrateListMenu, bitrateListBtn, menuHandlersList.bitrate);
bitrateListMenu = null;
var availableBitrates = { menuType: 'bitrate' };
availableBitrates.audio = self.player.getBitrateInfoListFor && self.player.getBitrateInfoListFor('audio') || [];
availableBitrates.video = self.player.getBitrateInfoListFor && self.player.getBitrateInfoListFor('video') || [];
availableBitrates.images = self.player.getBitrateInfoListFor && self.player.getBitrateInfoListFor('image') || [];
availableBitrates.audio = self.player.getRepresentationsByType && self.player.getRepresentationsByType('audio') || [];
availableBitrates.video = self.player.getRepresentationsByType && self.player.getRepresentationsByType('video') || [];
availableBitrates.images = self.player.getRepresentationsByType && self.player.getRepresentationsByType('image') || [];

if (availableBitrates.audio.length >= 1 || availableBitrates.video.length >= 1 || availableBitrates.images.length >= 1) {
contentFunc = function (element, index) {
var result = isNaN(index) ? ' Auto Switch' : Math.floor(element.bitrate / 1000) + ' kbps';
var result = isNaN(index) ? ' Auto Switch' : Math.floor(element.bitrateInKbit) + ' kbps';
result += element && element.width && element.height ? ' (' + element.width + 'x' + element.height + ')' : '';
return result;
};
Expand Down Expand Up @@ -576,7 +576,7 @@ var ControlBar = function (dashjsMediaPlayer, displayUTCTimeCodes) {
}

if (element.roles[0]) {
info += '- Role: ' + element.roles[0] + ' ';
info += '- Role: ' + element.roles[0].value + ' ';
}

if (element.codec) {
Expand Down Expand Up @@ -912,14 +912,14 @@ var ControlBar = function (dashjsMediaPlayer, displayUTCTimeCodes) {
if (item.index > 0) {
cfg.streaming.abr.autoSwitchBitrate[item.mediaType] = false;
self.player.updateSettings(cfg);
self.player.setQualityFor(item.mediaType, item.index - 1, forceQuality);
self.player.setRepresentationForTypeByIndex(item.mediaType, item.index - 1, forceQuality);
} else {
cfg.streaming.abr.autoSwitchBitrate[item.mediaType] = true;
self.player.updateSettings(cfg);
}
break;
case 'image-bitrate-list':
player.setQualityFor(item.mediaType, item.index);
player.setRepresentationForTypeByIndex(item.mediaType, item.index);
break;
case 'caption-list':
self.player.setTextTrack(item.index - 1);
Expand Down
66 changes: 0 additions & 66 deletions deploy.js

This file was deleted.

1,293 changes: 1,292 additions & 1 deletion externals/BigInteger.js

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions externals/base64.js
Expand Up @@ -160,3 +160,5 @@ if (typeof exports !== 'undefined') {
exports.encode = BASE64.encode;
exports.encodeASCII = BASE64.encodeASCII;
}

export default BASE64

0 comments on commit 3dbce17

Please sign in to comment.