Yonto Player moves its source contract into JavaScript plugins on QuickJS
The Yonto Player TV app connects to media servers and folders through a single ContentSourceAdapter interface. Its source contract began as an HTTP API backed by a hosted service, but that required someone to run and update a middle layer whenever a media server changed its fields. The developer kept the contract's JSON shapes as the single definition and made transport an implementation detail, allowing sources to run as JavaScript plugins inside the app. Each plugin is one file whose manifest, declaring its identity and permitted hosts, is read as plain text, and it exposes required functions such as search and getMediaList. Plugins reach the outside world only through a restricted global object, which limits them to requests, configuration, a small cache, logging and parsing helpers.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)
Log in to join the discussion and vote.
Log in