tvkitchen / countertop

The entry point for developers who want to set up a TV Kitchen.
https://tv.kitchen
GNU Lesser General Public License v3.0
6 stars 2 forks source link

Implement abstract ingestion engine #43

Closed slifty closed 4 years ago

slifty commented 4 years ago

Description

NOTE: THIS IS A WIP BRANCH RIGHT NOW. We need more tests before this is really ready to rock.

NOTE 2: This will fail CI, because @tvkitchen/base* is not yet published to npm.

This PR Adds the AbstractIngestionEngine, which implements the conversion of a ReadableStream of video into kafka.

It is possible that STREAM.DATA should be renamed to VIDEO.STREAM_DATA or VIDEO_STREAM.DATA or STREAM.VIDEO_DATA to eventually allow for other types of media streams (e.g. audio).

Due Diligence Checklist

Steps to Test

  1. yarn install
  2. yarn test

Deploy Notes

None

Related Issues

Resolves #15

slifty commented 4 years ago

@reefdog I'm not sure that things are baked enough to warrant the time testing everything

I've added a few tests, and left stubs for others. I think this might be ready for review, but with a keen eye towards "actually you should write tests for this part".

Note that in order to actually run anything locally you are going to need to clone the base repository and yarn link inside of all the projects within the base respository.

Then you're gonna have to yarn link {package name} in this repo for those packages.

This is a temporary measure until we publish the base packages to npm.

slifty commented 4 years ago

The woes of not writing tests.

  1. getInputstream should return null.
  2. we don't have a getCodecSettings or whatever
slifty commented 4 years ago

JUST A NOTE: This PR is now a bit obsolete since #47 implements a few changes to the way the abstract ingestion engine works; that said, I think we should still review and merge this, just without requiring tests for the methods that got removed almost right away.

slifty commented 4 years ago

Merging this weird PR which represents a moment in time and transition for AbstractIngestionEngine...