broadcast: parameterise broadcast service

Issue #259 resolved
Saxon Milton created an issue

As part of issue #257.

We currently have a direct dependency on our implementation of the youtube live API. We should instead write a BroadcastService interface for which the youtube API wrapper implements and then have functions parameterise the BroadcastService so that we can swap it out for dummy testing implementations. This might also help future proof the code if we consider broadcasting to other types of streaming services (which is not hard to imagine).

Comments (7)

  1. Alan Noble

    VidGrind’s limited support for forwarding over RTP might conceivably be generalized to use such a service.

  2. Saxon Milton reporter

    broadcast: add BroadcastService interface

    Resolves issue #259 This change adds the BroadcastService interface and a youtube based implementation in preparation to update the broadcast.go code to parameterise the broadcast service stuff.

    Approved-by: Trek Hopton

    → <<cset 1535f7350523>>

  3. Saxon Milton reporter

    broadcast: utilising BroadcastService interface

    Resolves issue #259 This change updates the broadcast.go code to parameterise the broadcast service by using the BroadcastService interface. We're using the YouTubeBroadcastService implementation in most cases besides for testing where a dummyService implementation has been added.

    Approved-by: Trek Hopton

    → <<cset be8834122a8a>>

  4. Saxon Milton reporter

    broadcast: add BroadcastService interface

    Resolves issue #259 This change adds the BroadcastService interface and a youtube based implementation in preparation to update the broadcast.go code to parameterise the broadcast service stuff.

    Approved-by: Trek Hopton

    → <<cset 8e0ad42aed9f>>

  5. Saxon Milton reporter

    broadcast: utilising BroadcastService interface

    Resolves issue #259 This change updates the broadcast.go code to parameterise the broadcast service by using the BroadcastService interface. We're using the YouTubeBroadcastService implementation in most cases besides for testing where a dummyService implementation has been added.

    Approved-by: Trek Hopton

    → <<cset 417f8cbd9054>>

  6. Log in to comment