MCPcopy Index your code
hub / github.com/bbc/bigscreen-player

github.com/bbc/bigscreen-player @10.20.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release 10.20.3 ↗ · + Follow
948 symbols 2,194 edges 123 files 19 documented · 2%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Bigscreen Player logo

Build Status npm GitHub

Simplified media playback for bigscreen devices.

Introduction

Bigscreen Player is an open source project developed by the BBC to simplify video and audio playback on a wide range of 'bigscreen' devices (TVs, set-top boxes, games consoles, and streaming devices).

For documentation on using this library, please see our Getting Started guide.

Running Locally

Install dependencies:

npm install

You can run Bigscreen Player locally in a dev environment by running:

npm run start

This will open a web page at localhost:8080.

Testing

The project is unit tested using Jest. To run the tests:

npm test

This project currently has unit test coverage but no integration test suite. This is on our Roadmap to address.

Releasing

  1. Create a PR.
  2. Label the PR with one of these labels; semver prerelease, semver patch, semver minor or semver major
  3. Get a review from the core team.
  4. If the PR checks are green. The core team can merge to master.
  5. Automation takes care of the package versioning.
  6. Publishing to NPM is handled with our GitHub Actions CI integration.

Documentation

Bigscreen Player uses JSDocs to autogenerate API documentation. To regenerate the documentation run:

npm run docs

Contributing

See CONTRIBUTING.md

License

Bigscreen Player is available to everyone under the terms of the Apache 2.0 open source license. Take a look at the LICENSE file in the code for more information.

Extension points exported contracts — how you extend this code

Window (Interface)
(no doc)
src/dynamicwindowutils.ts
DebugTool (Interface)
(no doc)
src/debugger/debugtool.ts
ErrorWithCode (Interface)
(no doc)
src/models/errorcode.ts

Core symbols most depended-on inside this repo

MSEStrategy
called by 101
src/playbackstrategy/msestrategy.js
BasicStrategy
called by 60
src/playbackstrategy/basicstrategy.js
init
called by 55
src/debugger/debugtool.ts
IMSCSubtitles
called by 55
src/subtitles/imscsubtitles.js
info
called by 48
src/debugger/debugtool.ts
tearDown
called by 44
src/debugger/debugtool.ts
MediaSources
called by 43
src/mediasources.ts
appendMetric
called by 32
src/debugger/chronicle.ts

Shape

Function 857
Method 72
Class 14
Interface 3
Enum 2

Languages

TypeScript100%

Modules by API surface

src/playbackstrategy/msestrategy.js79 symbols
src/mockbigscreenplayer.js68 symbols
src/playbackstrategy/modifiers/cehtml.js59 symbols
src/playbackstrategy/modifiers/html5.js58 symbols
src/playbackstrategy/modifiers/samsungstreaming.js56 symbols
src/playbackstrategy/modifiers/samsungstreaming2015.js55 symbols
src/playbackstrategy/modifiers/samsungmaple.js50 symbols
src/debugger/debugtool.ts48 symbols
src/playercomponent.js47 symbols
src/playbackstrategy/basicstrategy.js37 symbols
src/mediasources.ts35 symbols
src/debugger/debugviewcontroller.ts31 symbols

For agents

$ claude mcp add bigscreen-player \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact