@amazon/vinyl 3.1.0 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +236 -187
- package/dist/index.cjs.map +4 -4
- package/dist/index.js +224 -174
- package/dist/index.js.map +4 -4
- package/dist/test/integ.es5.js +245 -231
- package/dist/test/integ.js +676 -271
- package/dist/test/integ.js.map +4 -4
- package/dist/types/current/ad/AdControllerImpl.d.ts +18 -2
- package/dist/types/current/ad/AdControllerImpl.d.ts.map +1 -1
- package/dist/types/current/ad/AdControllerImpl.js +42 -20
- package/dist/types/current/drm/DrmControllerImpl.d.ts +17 -1
- package/dist/types/current/drm/DrmControllerImpl.d.ts.map +1 -1
- package/dist/types/current/drm/DrmControllerImpl.js +45 -10
- package/dist/types/current/playback/createStallMonitor.d.ts.map +1 -1
- package/dist/types/current/playback/createStallMonitor.js +19 -14
- package/dist/types/current/streaming/LoadMetric.d.ts +15 -1
- package/dist/types/current/streaming/LoadMetric.d.ts.map +1 -1
- package/dist/types/current/streaming/mediaTimelineFilter.d.ts +4 -2
- package/dist/types/current/streaming/mediaTimelineFilter.d.ts.map +1 -1
- package/dist/types/current/streaming/mediaTimelineFilter.js +23 -8
- package/dist/types/current/track/filters/sampleRateFilter.d.ts +8 -4
- package/dist/types/current/track/filters/sampleRateFilter.d.ts.map +1 -1
- package/dist/types/current/track/filters/sampleRateFilter.js +31 -21
- package/dist/types/current/track/mse/MseTrack.d.ts +0 -9
- package/dist/types/current/track/mse/MseTrack.d.ts.map +1 -1
- package/dist/types/current/track/mse/MseTrack.js +2 -29
- package/dist/types/current/tsconfig.tsbuildinfo +1 -1
- package/dist/types/current/vinyl/VinylPlayer.d.ts +5 -0
- package/dist/types/current/vinyl/VinylPlayer.d.ts.map +1 -1
- package/dist/types/current/vinyl/VinylPlayer.js +23 -1
- package/dist/types/ts3.7/ad/AdControllerImpl.d.ts +18 -2
- package/dist/types/ts3.7/drm/DrmControllerImpl.d.ts +17 -1
- package/dist/types/ts3.7/streaming/LoadMetric.d.ts +15 -1
- package/dist/types/ts3.7/streaming/mediaTimelineFilter.d.ts +4 -2
- package/dist/types/ts3.7/track/filters/sampleRateFilter.d.ts +8 -4
- package/dist/types/ts3.7/track/mse/MseTrack.d.ts +0 -9
- package/dist/types/ts3.7/vinyl/VinylPlayer.d.ts +5 -0
- package/dist/types/ts4.1/ad/AdControllerImpl.d.ts +18 -2
- package/dist/types/ts4.1/drm/DrmControllerImpl.d.ts +17 -1
- package/dist/types/ts4.1/streaming/LoadMetric.d.ts +15 -1
- package/dist/types/ts4.1/streaming/mediaTimelineFilter.d.ts +4 -2
- package/dist/types/ts4.1/track/filters/sampleRateFilter.d.ts +8 -4
- package/dist/types/ts4.1/track/mse/MseTrack.d.ts +0 -9
- package/dist/types/ts4.1/vinyl/VinylPlayer.d.ts +5 -0
- package/dist/types/ts4.7/ad/AdControllerImpl.d.ts +18 -2
- package/dist/types/ts4.7/drm/DrmControllerImpl.d.ts +17 -1
- package/dist/types/ts4.7/streaming/LoadMetric.d.ts +15 -1
- package/dist/types/ts4.7/streaming/mediaTimelineFilter.d.ts +4 -2
- package/dist/types/ts4.7/track/filters/sampleRateFilter.d.ts +8 -4
- package/dist/types/ts4.7/track/mse/MseTrack.d.ts +0 -9
- package/dist/types/ts4.7/vinyl/VinylPlayer.d.ts +5 -0
- package/dist/unit/types/current/ad/AdControllerImpl.test.js +110 -4
- package/dist/unit/types/current/drm/DrmControllerImpl.test.js +53 -9
- package/dist/unit/types/current/playback/createStallMonitor.test.js +38 -0
- package/dist/unit/types/current/streaming/MseTrack.test.js +11 -8
- package/dist/unit/types/current/streaming/mediaTimelineFilter.test.js +60 -54
- package/dist/unit/types/current/track/filters/sampleRateFilter.test.js +75 -0
- package/dist/unit/types/current/tsconfig.tsbuildinfo +1 -1
- package/dist/unit/types/current/vinyl/VinylPlayer.test.js +33 -2
- package/dist/vinylTestUtil/index.js +10 -1
- package/dist/vinylTestUtil/index.js.map +2 -2
- package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.d.ts +5 -0
- package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.js +9 -0
- package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
- package/dist/vinylTestUtil/types/ts3.7/assets/vinylTestAssets.d.ts +5 -0
- package/dist/vinylTestUtil/types/ts4.1/assets/vinylTestAssets.d.ts +5 -0
- package/dist/vinylTestUtil/types/ts4.7/assets/vinylTestAssets.d.ts +5 -0
- package/package.json +10 -10
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { createEmptyMediaQualityMetadata, createSourceTrackFactory, createTrackFactory, createVinylPlayer, defaultQualitySelectorImplOptions, DrmError, PlaybackNetworkState, PlaybackReadyState, vinylGlobalRef, } from '@amazon/vinyl';
|
|
6
6
|
import { externalDependencies } from '@amazon/vinyl-di';
|
|
7
|
-
import { consoleLogHandler, createArrayLikeIterator, emptyRanges, historyLogHandler, noop, RangesImpl, } from '@amazon/vinyl-util';
|
|
7
|
+
import { consoleLogHandler, createArrayLikeIterator, emptyRanges, historyLogHandler, LogLevel, noop, RangesImpl, } from '@amazon/vinyl-util';
|
|
8
8
|
import { expectIterableEquals, expectNothing, expectTypeStrictlyEquals, mockEvent, MockHTMLAudioElement, polyfillCustomEvent, } from '@amazon/vinyl-util/browserTestUtil';
|
|
9
9
|
import { createMockVinylDependencies, MockCapabilities, MockPlaybackController, MockTrack, MockTrackController, MockTrackFactory, } from '@amazon/vinyl/vinylTestUtil';
|
|
10
|
-
import { createEventSpy } from '@amazon/vinyl-util/testUtil';
|
|
10
|
+
import { createEventSpy, useMockLogger } from '@amazon/vinyl-util/testUtil';
|
|
11
11
|
import { data } from '@amazon/vinyl-observable';
|
|
12
12
|
var any = jasmine.any;
|
|
13
13
|
var createSpy = jasmine.createSpy;
|
|
@@ -16,6 +16,7 @@ describe('VinylPlayer', () => {
|
|
|
16
16
|
let depFactories;
|
|
17
17
|
let player;
|
|
18
18
|
let mockOptions;
|
|
19
|
+
const loggerRef = useMockLogger();
|
|
19
20
|
polyfillCustomEvent();
|
|
20
21
|
beforeEach(() => {
|
|
21
22
|
mockOptions = { media: new MockHTMLAudioElement() };
|
|
@@ -247,6 +248,36 @@ describe('VinylPlayer', () => {
|
|
|
247
248
|
});
|
|
248
249
|
expect(spy).not.toHaveBeenCalled();
|
|
249
250
|
});
|
|
251
|
+
it('logs each republished span at the verbose level with formatted times', () => {
|
|
252
|
+
loggerRef.value.logLevel = LogLevel.VERBOSE;
|
|
253
|
+
deps.drmController.dispatch('loadSpanMeasured', {
|
|
254
|
+
kind: 'license',
|
|
255
|
+
startTime: 1000,
|
|
256
|
+
endTime: 3500,
|
|
257
|
+
trackUri: 'track-a',
|
|
258
|
+
mimeType: 'audio/mp4',
|
|
259
|
+
contentType: 'audio',
|
|
260
|
+
});
|
|
261
|
+
expect(loggerRef.value.verbose).toHaveBeenCalledOnceWith(player, 'loadSpan', {
|
|
262
|
+
kind: 'license',
|
|
263
|
+
trackUri: 'track-a',
|
|
264
|
+
mimeType: 'audio/mp4',
|
|
265
|
+
contentType: 'audio',
|
|
266
|
+
startTime: new Date(1000).toISOString(),
|
|
267
|
+
endTime: new Date(3500).toISOString(),
|
|
268
|
+
durationMs: '2500.00',
|
|
269
|
+
});
|
|
270
|
+
});
|
|
271
|
+
it('does not format or log a span when the verbose level is off', () => {
|
|
272
|
+
loggerRef.value.logLevel = LogLevel.DEBUG;
|
|
273
|
+
deps.drmController.dispatch('loadSpanMeasured', {
|
|
274
|
+
kind: 'license',
|
|
275
|
+
startTime: 1000,
|
|
276
|
+
endTime: 3500,
|
|
277
|
+
trackUri: 'track-a',
|
|
278
|
+
});
|
|
279
|
+
expect(loggerRef.value.verbose).not.toHaveBeenCalled();
|
|
280
|
+
});
|
|
250
281
|
});
|
|
251
282
|
it('reloads the current track on a codecUnsupported event', () => {
|
|
252
283
|
const trackController = deps.trackController;
|
|
@@ -1547,7 +1547,8 @@ var dash_segmentListMediaRange = `<?xml version="1.0" encoding="UTF-8" standalon
|
|
|
1547
1547
|
var vinylTestAssets = {
|
|
1548
1548
|
prog: {
|
|
1549
1549
|
libmp3lame_60s_2ch_16bit_44100Hz_48kbps: `https://assets.dev.vinyl.music.amazon.dev/prog/libmp3lame_60s_2ch_16bit_44100Hz_48kbps.mp3`,
|
|
1550
|
-
libmp3lame_1800s_2ch_16bit_44100Hz_48kbps: `https://assets.dev.vinyl.music.amazon.dev/prog/libmp3lame_1800s_2ch_16bit_44100Hz_48kbps.mp3
|
|
1550
|
+
libmp3lame_1800s_2ch_16bit_44100Hz_48kbps: `https://assets.dev.vinyl.music.amazon.dev/prog/libmp3lame_1800s_2ch_16bit_44100Hz_48kbps.mp3`,
|
|
1551
|
+
libmp3lame_1s_2ch_16bit_44100Hz_48kbps: `https://assets.dev.vinyl.music.amazon.dev/prog/libmp3lame_1s_2ch_16bit_44100Hz_48kbps.mp3`
|
|
1551
1552
|
},
|
|
1552
1553
|
dash: {
|
|
1553
1554
|
live_static_aac_opus_flac_60s_segmentTemplate: `https://assets.dev.vinyl.music.amazon.dev/dash/live_static_aac_opus_flac_60s_segmentTemplate/manifest.mpd`,
|
|
@@ -1562,6 +1563,10 @@ var vinylTestAssets = {
|
|
|
1562
1563
|
live_static_aac_opus_flac_60s_segmentBase_widevine_cl10: `https://assets.dev.vinyl.music.amazon.dev/dash/live_static_aac_opus_flac_60s_segmentBase_widevine_cl10/manifest.mpd`,
|
|
1563
1564
|
live_static_aac_opus_flac_60s_segmentBase_widevine: `https://assets.dev.vinyl.music.amazon.dev/dash/live_static_aac_opus_flac_60s_segmentBase_widevine/manifest.mpd`,
|
|
1564
1565
|
live_static_aac_1800s_segmentBase_widevine_cl30: `https://assets.dev.vinyl.music.amazon.dev/dash/live_static_aac_1800s_segmentBase_widevine_cl30/manifest.mpd`,
|
|
1566
|
+
// Edge-case tracks: ultra-short 1s assets (audio-only + video), no
|
|
1567
|
+
// captions or translations.
|
|
1568
|
+
edge_static_aac_1s_segmentTemplate: `https://assets.dev.vinyl.music.amazon.dev/dash/edge_static_aac_1s_segmentTemplate/manifest.mpd`,
|
|
1569
|
+
edge_static_video_1s_segmentTemplate: `https://assets.dev.vinyl.music.amazon.dev/dash/edge_static_video_1s_segmentTemplate/manifest.mpd`,
|
|
1565
1570
|
// Ad-break assets (see DMTestAssetBuilder src/adBreaks): a ~3-min
|
|
1566
1571
|
// labeled ABR ladder with five-language narration, full + forced
|
|
1567
1572
|
// captions. Base content only — DASH ad-break scenarios are not
|
|
@@ -1581,6 +1586,10 @@ var vinylTestAssets = {
|
|
|
1581
1586
|
live_static_video_60s_4s_mpegts: `https://assets.dev.vinyl.music.amazon.dev/hls/live_static_video_60s_4s_mpegts/main.m3u8`,
|
|
1582
1587
|
live_static_video_audio_60s_2s_mpegts: `https://assets.dev.vinyl.music.amazon.dev/hls/live_static_video_audio_60s_2s_mpegts/main.m3u8`,
|
|
1583
1588
|
live_static_video_audio_60s_4s_mpegts: `https://assets.dev.vinyl.music.amazon.dev/hls/live_static_video_audio_60s_4s_mpegts/main.m3u8`,
|
|
1589
|
+
// Edge-case tracks: ultra-short 1s assets (audio-only + video), no
|
|
1590
|
+
// captions or translations.
|
|
1591
|
+
edge_static_aac_1s: `https://assets.dev.vinyl.music.amazon.dev/hls/edge_static_aac_1s/main.m3u8`,
|
|
1592
|
+
edge_static_video_1s: `https://assets.dev.vinyl.music.amazon.dev/hls/edge_static_video_1s/main.m3u8`,
|
|
1584
1593
|
// Ad-break assets: base content + HLS Interstitial scenario variants.
|
|
1585
1594
|
// `*_av` = video+audio, `*_audio` = audio-only; each `__<scenario>`
|
|
1586
1595
|
// injects a different ad-break configuration. See DMTestAssetBuilder
|