Skip to content

Commit 360466b

Browse files
Add MVT versioning and CHANGELOG
- Add new file CHANGELOG.md. - Add MVT version info on the UI in the bottom right corner. - Add info about versioning to the README.
1 parent 86bb828 commit 360466b

File tree

5 files changed

+308
-0
lines changed

5 files changed

+308
-0
lines changed

CHANGELOG.md

Lines changed: 279 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,279 @@
1+
<!---
2+
- If not stated otherwise in this file or this component's LICENSE file the
3+
- following copyright and licenses apply:
4+
-
5+
- Copyright 2022 Liberty Global B.V.
6+
-
7+
- Licensed under the Apache License, Version 2.0 (the "License");
8+
- you may not use this file except in compliance with the License.
9+
- You may obtain a copy of the License at
10+
-
11+
- http://www.apache.org/licenses/LICENSE-2.0
12+
-
13+
- Unless required by applicable law or agreed to in writing, software
14+
- distributed under the License is distributed on an "AS IS" BASIS,
15+
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
- See the License for the specific language governing permissions and
17+
- limitations under the License.
18+
--->
19+
20+
CHANGELOG
21+
=========
22+
#
23+
24+
# v2.9.0 (2023-07-25)
25+
### [ [86bb828](https://github.com/rdkcentral/MVT/commit/86bb828) ] Add debug flag for mse players
26+
```
27+
- Add new swith `Debug` in the UI.
28+
- When `Debug` switch is set to `on`, debug version of the engine player will be loaded and additional logs will be visible in the console.
29+
- README updates.
30+
```
31+
### [ [0e269ec](https://github.com/rdkcentral/MVT/commit/0e269ec) ] Add unique urls for particular test cases
32+
```
33+
- Add new URL parameter `testnames` to avoid breaking link to test case, when its number will change in the future.
34+
- Rename URL parameter `tests` to `testnumbers`.
35+
```
36+
#
37+
38+
# v2.8.0 (2023-07-20)
39+
### [ [7917c6f](https://github.com/rdkcentral/MVT/commit/7917c6f) ] Add DRM support (Widevine, Playready), add hls.js and native players to Anyplayer
40+
```
41+
- Add Widevine support for AnyPlayer.
42+
- Add PlayReady support for AnyPlayer.
43+
- Add HLS.js and native player support to AnyPlayer.
44+
- Major UI changes in AnyPlayer (new design and controls).
45+
```
46+
### [ [74ab181](https://github.com/rdkcentral/MVT/commit/74ab181) ] Set some MULTIPERIOD tests back as stable and mandatory
47+
#
48+
49+
# v2.7.0 (2023-07-18)
50+
### [ [8dccf9c](https://github.com/rdkcentral/MVT/commit/8dccf9c) ] Integrate Widevine tests, fix for MULTIAUDIO AudioTracks and changed logic in index.html
51+
```
52+
- Add Widevine implementation.
53+
- Add generating Widevine streams with shaka-packager.
54+
- Add little delay between scripts load, change in Audiotracks test and in profile selection.
55+
- Major change in scripts loading inside `index.html`.
56+
- Update codecs for Widevine streams, disable CBCS on hlsjs.
57+
```
58+
#
59+
60+
# v2.6.1 (2023-07-03)
61+
### [ [19c17ea](https://github.com/rdkcentral/MVT/commit/19c17ea) ] Mark Dash_shaka_Dynamic_Seek test as unstable
62+
### [ [01ee8c8](https://github.com/rdkcentral/MVT/commit/01ee8c8) ] Change seek positions for dynamic source
63+
```
64+
Change for live content in seek. After this change we make seek only backwards, not forward.
65+
```
66+
#
67+
68+
# v2.6.0 (2023-06-22)
69+
### [ [2bebd1c](https://github.com/rdkcentral/MVT/commit/2bebd1c) ] Add PlayReady 4.0 test, upgrade default versions for HLS.js and Dash.js players
70+
```
71+
- Add `DASH PlayReady 4.0 CBCS` test [ONEM-25815].
72+
- Upgrade `HLS.js` player default version from 1.3.0 to 1.4.5 [ONEM-31111].
73+
- Upgrade `Dash.js` player default version from 4.4.0 to 4.7.0.
74+
- Set `HLS.MP2TS_AVC_AAC` as mandatory [ONEM-28092].
75+
- Move libraries import from script in 'body' to the 'head' section in index.html.
76+
```
77+
#
78+
79+
# v2.5.1 (2023-02-24)
80+
### [ [21403b0](https://github.com/rdkcentral/MVT/commit/21403b0) ] Correct tests to be marked as stable or unstable
81+
#
82+
83+
# v2.5.0 (2023-01-17)
84+
### [ [d3a5fcf](https://github.com/rdkcentral/MVT/commit/d3a5fcf) ] Change the way of loading players engine and default versions
85+
```
86+
Logic in players engines loading change.
87+
Before: all players were loaded for each testsuite.
88+
After: player engine is loaded only when needed, for example in testsuite `dash-dashjs-test` only DASH.js engine is loaded.
89+
Additionally default players versions were bumped to the newer versions.
90+
```
91+
### [ [41c68cb](https://github.com/rdkcentral/MVT/commit/41c68cb) ] Mark CMAF_HEVC_AAC tests in dash html5 test suite as unstable
92+
#
93+
94+
# v2.4.1 (2022-11-24)
95+
### [ [4e8b4c4](https://github.com/rdkcentral/MVT/commit/4e8b4c4) ] Update dockerfile
96+
#
97+
98+
# v2.4.0 (2022-11-16)
99+
### [ [c869ff9](https://github.com/rdkcentral/MVT/commit/c869ff9) ] Delete .htaccess
100+
```
101+
Reason: it causes problems with dash-html5 testsuite, streams are not available for tests (error 403).
102+
```
103+
### [ [4f61802](https://github.com/rdkcentral/MVT/commit/4f61802) ] [security] Remove access for browsing source files
104+
```
105+
- Disable access for browsing source files via web browser.
106+
- Do not include git files in the docker image.
107+
- Change MVT directory from "/usr/local/apache2/htdocs" to "/home/MVT".
108+
- Add httpd.conf, .dockerignore and .htaccess files.
109+
```
110+
#
111+
112+
# v2.3.0 (2022-10-10)
113+
### [ [2df1cc3](https://github.com/rdkcentral/MVT/commit/2df1cc3) ] [ONEM-27694] Update README and coverage.html
114+
### [ [8bcc1f7](https://github.com/rdkcentral/MVT/commit/8bcc1f7) ] Enable testsuite dash-html5-test for default profile, downgrade hls.js version
115+
```
116+
Set hls.js version from `latest` to `1.2.1` to fix some issues and avoid unexpected changes.
117+
```
118+
#
119+
120+
# v2.2.1 (2022-09-19)
121+
### [ [0dbc1f6](https://github.com/rdkcentral/MVT/commit/0dbc1f6) ] [ONEM-27534] Fix selecting profile and issue with loading external files with players source code
122+
```
123+
- When user provides player version that is not available, it will be set to the default one from the config.
124+
- Add wait before running the tests to fix player engine not loaded completely.
125+
```
126+
#
127+
128+
# v2.2.0 (2022-08-03)
129+
### [ [ca18952](https://github.com/rdkcentral/MVT/commit/ca18952) ] Make progressive pause tests mandatory, fixed in ARRISEOS-42467
130+
### [ [06a6dfa](https://github.com/rdkcentral/MVT/commit/06a6dfa) ] [ONEM-24476] Add page for manual testing different players and sources on the box
131+
```
132+
Create a new page with a link on the main page "Test any player".
133+
On the `/anyplayer/` subpage user can test any version of available players.
134+
Player version can be changed via remote controller on the Set Top Box or via URL modifications.
135+
User can also specify the URL to the media stream.
136+
```
137+
#
138+
139+
# v2.1.1 (2022-08-02)
140+
### [ [e9e4f87](https://github.com/rdkcentral/MVT/commit/e9e4f87) ] Optimize MVT logger
141+
```
142+
`runner.log` function prints logs to the console and puts them on the screen in log box.
143+
It has few issues that makes it very slow:
144+
- printing each message requires multiple accesses and modification of DOM,
145+
- log buffer is unbound and might grow indefinitelly.
146+
147+
Before this patch printing single line could easily take more than 100ms.
148+
After this change it always takes <10ms.
149+
```
150+
#
151+
152+
# v2.1.0 (2022-07-29)
153+
### [ [1463cdd](https://github.com/rdkcentral/MVT/commit/1463cdd) ] README corrections, add `favicon.ico`
154+
### [ [3a1ef30](https://github.com/rdkcentral/MVT/commit/3a1ef30) ] Add `not_started` status
155+
```
156+
Add status "not_started" for not executed tests instead of "skipped".
157+
```
158+
#
159+
160+
# v2.0.0 (2022-07-27)
161+
### [ [6fa204e](https://github.com/rdkcentral/MVT/commit/6fa204e) ] Major refactor
162+
```
163+
This change aims to simplify the codebase, especially in the area of tests declaration.
164+
165+
Tests declaration has been moved into `suites.js`, where each test suite explicitly declares its own tests.
166+
Current approach also gives us much greater control when it comes to tests selection and parametrization (e.g. now we can mark some tests unstable on a given test suite).
167+
168+
In addition:
169+
- Declare name for each stream, so it can be accessed directly.
170+
- Drop unnecessary attributes from stream `mediaStreams.js`.
171+
- Greatly simplify `profiles.js`.
172+
- Drop blocklist - now unstable tests are declared in `suites.js`.
173+
- Rework `codecSupportTests.js`.
174+
- Rework `coverage.js`.
175+
- Extend README.
176+
- Add skipping specific test by the name.
177+
```
178+
#
179+
180+
# v1.3.2 (2022-07-15)
181+
### [ [edcb845](https://github.com/rdkcentral/MVT/commit/edcb845) ] Renaming and additional comments
182+
```
183+
- Rename `commonTests` into `mediaTests`. The former one sounds like some set of helpers, not actual tests implementation.
184+
- Move "framework-like" functions responsible for tests creation from `common.js` into `mvtTest.js`.
185+
Again, this is by far too important to be kept in "common" file
186+
- Move `filterTest.js` into `blocklist.js` and rename variables. `Test.js` suffix is used for files that declare some tests.
187+
- Fix case of hard-coded all profile name in `blocklist.js`.
188+
```
189+
#
190+
191+
# v1.3.1 (2022-07-12)
192+
### [ [25d2ff3](https://github.com/rdkcentral/MVT/commit/25d2ff3) ] Use `innerText` for accessing dash.js subs content
193+
```
194+
HTML node property |textContent| returns text without any whitespaces.
195+
It leads to |DASH-FMP4-AVC1-AAC-TTML Subtitles| failures on dash.js, because the returned value is verified against expected text which inluced '\n' character.
196+
Usage of `innerText` property solves the above issue.
197+
```
198+
### [ [0195e13](https://github.com/rdkcentral/MVT/commit/0195e13) ] Fix text track selection with `dash.js`
199+
```
200+
In order to properly select text track with dash.js player we need to use `setTextTrack` function instead of `setCurrentTrack`.
201+
This change fixes both `DASH-WEBM-VP9-OPUS-VTT Subtitles` and `DASH-CMAF-AVC1-AAC-VTT Subtitles`.
202+
```
203+
#
204+
205+
# v1.3.0 (2022-07-11)
206+
### [ [e83a9b2](https://github.com/rdkcentral/MVT/commit/e83a9b2) ] Remove getTestResults changes from patch
207+
```
208+
`src/mvtTest.js` provides `getMvtTestResults`, which returns output in expected robot-like format.
209+
In that case there is no need to override submodule's code.
210+
```
211+
#
212+
213+
# v1.2.2 (2022-07-07)
214+
### [ [7255612](https://github.com/rdkcentral/MVT/commit/7255612) ] Change way of switching profiles on coverage page
215+
### [ [cc727c0](https://github.com/rdkcentral/MVT/commit/cc727c0) ] Move Codec Support Tests declaration to `codecSupportTests.js`
216+
```
217+
Additionally:
218+
- Modify getMvtTestResults declaration to keep it consistent with rest of the file.
219+
- Move codecSupportTests.js loading before suites.js to keep the same order of test suites.
220+
```
221+
#
222+
223+
# v1.2.1 (2022-07-06)
224+
### [ [54b5ec6](https://github.com/rdkcentral/MVT/commit/54b5ec6) ] Create a new config file with urls to videos using for creating media assets
225+
```
226+
Create a new config file with urls to videos using for creating media assets.
227+
Remove unnecessary "BBB" and "TOS" from progressive test names.
228+
```
229+
#
230+
231+
# v1.2.0 (2022-07-06)
232+
### [ [c3d653c](https://github.com/rdkcentral/MVT/commit/c3d653c) ] Merge suites into single file `suites.js`
233+
```
234+
Before this change each test suite was declared in a separate file, resulting in a bunch of files with a single meaningful line.
235+
This commmit merges all suites declaration into `suite.js`.
236+
It also drops "DASH PlayReady shaka Tests" and "DASH PlayReady dashjs Tests" suites. PlayReady tests are now visible in "DASH shaka/dashjs Tests" suite. There is a little point in keeping a separate suite for the sake of 2 tests.
237+
Filtering of DRM tests on platforms, which do not support it, should be achieved with the usage of profiles mechanism.
238+
```
239+
### [ [fe8142f](https://github.com/rdkcentral/MVT/commit/fe8142f) ] Hide player version choices if not needed in selected testsuite
240+
```
241+
- Hide player version choices that are not needed in the selected testsuite.
242+
- Add missing class in `style.css`.
243+
- Code cleanup.
244+
```
245+
### [ [2807b75](https://github.com/rdkcentral/MVT/commit/2807b75) ] Correct repo name for git clone command
246+
#
247+
248+
# v1.1.0 (2022-07-05)
249+
### [ [809746a](https://github.com/rdkcentral/MVT/commit/809746a) ] Add engines versions to the URL and logic change
250+
```
251+
Add player version to the URL params, when selected player version is not the default one.
252+
```
253+
#
254+
255+
# v1.0.2 (2022-07-05)
256+
### [ [88db535](https://github.com/rdkcentral/MVT/commit/88db535) ] Rename `hardware` attribute into `profile`
257+
```
258+
Profile basically defines user-agent's capabilities and influences the subset of tests visible in the application. Variable name `hardware` was quite confusing, as the capabilities depend on both device and software running the MVT.
259+
Additionally, merge old hardware configs into a single file `profiles.js`.
260+
```
261+
### [ [3072a37](https://github.com/rdkcentral/MVT/commit/3072a37) ] Fix typo in 0001_js_mse_eme_mvt.patch
262+
### [ [417a7c7](https://github.com/rdkcentral/MVT/commit/417a7c7) ] Do not commit js_mse_eme patch
263+
#
264+
265+
# v1.0.1 (2022-06-24)
266+
### [ [c6fbb82](https://github.com/rdkcentral/MVT/commit/c6fbb82) ] Move assets generation to `media` directory
267+
```
268+
Create new folder `media` and moved there all bash scripts for creating media assets.
269+
```
270+
### [ [e8954ac](https://github.com/rdkcentral/MVT/commit/e8954ac) ] [ONEM-26996] Unify hls/fmp4_multiaudio video segment size
271+
```
272+
Set more constraints on the stream generation to make sure that video segments are similar in size.
273+
```
274+
#
275+
276+
# v1.0.0 (2022-06-09)
277+
## INITIAL RELEASE
278+
### [ [3d6fb3d](https://github.com/rdkcentral/MVT/commit/3d6fb3d) ] Add `js_mse_eme` submodule
279+
### [ [dfadf16](https://github.com/rdkcentral/MVT/commit/dfadf16) ] Initial commit

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,19 @@ It loads all required scripts in a specific sequence, most importantly, `suites.
232232
where all MVT tests are declared. Once all files are loaded, `startMseTest` function is triggered
233233
in order to start `js_mse_eme` submodule and to render the UI.
234234

235+
### Versioning
236+
237+
Semantic versioning shall be used - vX.Y.Z, where:
238+
```
239+
X - major version (e.g. architectural changes)
240+
Y - minor version (e.g. changes that break API, new features)
241+
Z - patch version (e.g. bug fixes, marking tests as mandatory/optional)
242+
```
243+
After the PR is merged, version should be updated accordingly in the `src/main.js` file (variable `MVT_VERSION`)
244+
and in `CHANGELOG.md`. This should be done in the another PR with the title "release: vX.Y.Z".
245+
246+
After PR "release: vX.Y.Z" is merged, commit should be tagged "vX.Y.Z" and a new release should be created on github.
247+
235248
### Adding new tests
236249

237250
MVT test cases are a product of test templates (`src/mediaTests.js`) and media streams (`src/mediaStreams.js`).

index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
</head>
2424
<body>
2525
<div id="testArea" style="display: none"></div>
26+
<div id="mvt_version"></div>
2627
<script src="src/main.js" async defer></script>
2728
</body>
2829
</html>

src/main.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@
1919

2020
"use strict";
2121

22+
const MVT_VERSION = "v2.8.0"
23+
24+
document.getElementById("mvt_version").innerHTML = MVT_VERSION;
25+
2226
let debug = getQueryVariable("debug");
2327
let shakaPlayerScript;
2428
let dashjsPlayerScript;

style.css

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,14 @@ video::-webkit-media-controls-panel {
5252
display: flex !important;
5353
opacity: 1 !important;
5454
}
55+
56+
#mvt_version {
57+
position: absolute;
58+
bottom: 0;
59+
right: 0;
60+
font-weight: 900;
61+
color: #000;
62+
background-color: #999;
63+
padding: 3px 8px;
64+
border-top-left-radius: 6px;
65+
}

0 commit comments

Comments
 (0)