Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
BADGERS-245: [BREAKING] Remove windowType metadata (#364)
* refactor: drive dynamic utils off seekable range * rename manifestparser and test files from .js to .ts * feat: initial return of TimeInfo data from manifestparser, and fix upp associated tests * feat: add time converter * refactor: promisify media sources (untested) * test: source loading Co-authored-by: matt-stephenson <[email protected]> * test: some mediaSources initialisation tests * tests: add further assertions to media sources init tests * test: media sources failovers * tests: further cdn failover tests * test: failover with servicelocation * test: failover tests and refactoring of implementation * test: implement subtitle sources tests * test: implement availableSources and refresh tests * test: implement reinstate cdn tests * test: bigscreenplayer uses new media sources * test: endOfStream/liveEdge tests * test: update a bunch of bsp api tests to use new async initialisation method * test: implement canSeek and canPause tests * test: refactor end of stream tests. Add an additional one for pause action * test: delete deprecated bsp methods * style: don't export transfer formats as single values * test: first block of msestrategy tests. Including deletion of build_source_anchor * test: msestrategy getSeekableRange * test: msestrategy getCurrentTime and getDuration * test: msestrategy getPlayerElement * test: WIP - rest tests * test: msestrategy setCurrentTime * test: auto-resume feature * test: mse duration override * test: manifestLoaded * test: responding to manifest validity changes * test: update tests for some more dash.js events * test: error handling ongoing * test: complete error handling tests * git commit: finish mse tests * style: better variable names * feat: all basic strategy but autoresume * chore: delete disableAutoResume from basicstrategy * feat: integrate time shift detector with basic strategy * test: native strategy does not use window type * test: native strategy tests * test: initial setup of legacyplayeradapter test file * test: legacy player adapter load * test: further legacyplayeradapter load tests * test: legacy adapter play * test: legacyplayeradapter play tests * refactor: legacy player adapter pause * refactor: legacyplayeradaptor ispaused isended * refactor: legacyplayeradapter getDruation * refactor: legacy player adapter getPlayerElement * refactor: legacyplayeradapter getSeekableRange * refactor: legacyplayeradapter getCurrentTime * refactor: legacyplayeradapter setCurrentTime * refactor: legacyplayeradapter playbackrate * refactor: legacyplayeradapter reset * refactor: legacyplayeradapter teardown * refactor: legacyplayeradapter liveglitchcurtain * test: legacyplaybackadapter responding to media player events * test: legacyplaybackadapter error on exiting seek * test: legacyplayeradapter handling delaying pause for dynamic dash streams or devides with known issues * chore: tidy up unused variables * chore: remove timeCorrection concept from legacyplayeradapter * refactor: rename adaptor -> adapter in test file * test: seekable modifier tests * style: small tidy ups * fix: evil jest mock sequencing * test: restartable feature stripping * test: implementation of restartable tests * test: player component w/o windowtypes * test: playercomponent setcurrenttime * test: playercomponent onplaying * test: finish off onPlaying tests * test: playerComponent onPaused * test: playercomponent onBuffering * test: playerComponent onEnded and onTimeUpdate * test: playercomponent onError * test: playerComponent - start of cdn failover - horribly broken state * test: playercomponent failover and teardown * test: playercomponent initialise strategy * refactor: don't pass windowtype to playback strategy * style: tidy up test * test: playercomponent cdnfailover tests * style: playercomponent cleanup * test: time conversions * test: readyHelper (needs some love) * refactor: remove window start time * refactor: use failoverSubtitles promise * test: conversion functions * test: finish off conversion functions * test: initial playback time * fix: handle auto resume for time shift greater than seekable range * refactor: remove windowtype + serverdate * chore: fix up index.html to use new init api. Little DebugTool change * fix: update some unit tests - removing windowType argument in PlayerComponent instantiation * style: replace process.nextTick with jest funcs * chore: remove todo * style: prefer positive case * style: move useFakeTimers to beforeAll * chore: remove lines commented out * chore: remove unused functions * chore: clean up types * refactor: use error type * chore: remove enableSubtitles from minimal data * test: further timeshiftdetector logic - wip * chore: delete event history * feat: add resilience to bad seekable range values * chore: omit linting native playback strategies * fix: start time shift detector on loadedmetadata * chore: remove windowtypes usage * refactor: take timeline in setcurrenttime * chore: simplify index * fix: handle mst less than pto * style: clean up seekable * chore: present initial playback time differently * fix: guard safely seekable range * feat: export new types * style: prefix dash parse funcs with MPD * style: better error messages * fix: mpd catch block * fix: export transferformat * chore: cleanup * spike: expose time shift buffer depth and pto * guard accessing seekableRange properties for the debug tool * refactor: return null from getSeekableRange until metadata loaded * style: limit decimals on setCurrentTime log * chore: increase the timeshiftdetector interval * fix: force start time to .1s if it's 0 on a live stream * handle MediaSources.time returning null, plain playback not having a mainfest to parse * chore: rename manifestloader to sourceloader * test: loading plain sources * chore: add types to sourceloader * chore: remove mimeType override * Revert "handle MediaSources.time returning null, plain playback not having a mainfest to parse" This reverts commit bc9b502. * update readyHelper to accept null as a valid seekableRange for playable/restartable * fix: jest.fakeTimers setup and usage in mseStrategy * handle 0 start time in mse strategy the same as any other time * feat: trace source loading * chore: ignore unbound method errors in test files * style: merge canPause and canSeek * style: format existing decision records * docs: write decision record on time representation * docs: add decision record template * feat: add decision record for fake seeking * docs: decision record for timeshiftdetector * docs: decision record for HLS AST estimate * docs: all the tutorials * docs: make em better * fix: fall back to domparser * fix: remove broken line * docs: reword getting started intro * docs: reword playback strategy intro --------- Co-authored-by: matt-stephenson <[email protected]> Co-authored-by: Joel Keers <[email protected]>
- Loading branch information