Files
owncast/build/javascript/node_modules/@videojs/http-streaming/docs/reload-source-on-error.md
dependabot[bot] dab7914eab Bump @justinribeiro/lite-youtube from 0.9.0 to 0.9.1 in /build/javascript (#273)
* Commit updated Javascript packages

* Bump preact from 10.5.4 to 10.5.5 in /build/javascript (#265)

* Trying a new github workflow to install javascript packages

* Bump tailwindcss from 1.9.2 to 1.9.4 in /build/javascript (#266)

Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 1.9.2 to 1.9.4.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v1.9.2...v1.9.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Commit updated Javascript packages

* Bump preact from 10.5.4 to 10.5.5 in /build/javascript

Bumps [preact](https://github.com/preactjs/preact) from 10.5.4 to 10.5.5.
- [Release notes](https://github.com/preactjs/preact/releases)
- [Commits](https://github.com/preactjs/preact/compare/10.5.4...10.5.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>

* Bump @justinribeiro/lite-youtube in /build/javascript

Bumps [@justinribeiro/lite-youtube](https://github.com/justinribeiro/lite-youtube) from 0.9.0 to 0.9.1.
- [Release notes](https://github.com/justinribeiro/lite-youtube/releases)
- [Commits](https://github.com/justinribeiro/lite-youtube/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2020-10-20 15:15:56 -07:00

1.7 KiB

Using the reloadSourceOnError Plugin

Call the plugin to activate it:

player.reloadSourceOnError()

Now if the player encounters a fatal error during playback, it will automatically attempt to reload the current source. If the error was caused by a transient browser or networking problem, this can allow playback to continue with a minimum of disruption to your viewers.

The plugin will only restart your player once in a 30 second time span so that your player doesn't get into a reload loop if it encounters non-transient errors. You can tweak the amount of time required between restarts by adjusting the errorInterval option.

If your video URLs are time-sensitive, the original source could be invalid by the time an error occurs. If that's the case, you can provide a getSource callback to regenerate a valid source object. In your callback, the this keyword is a reference to the player that errored. The first argument to getSource is a function. Invoke that function and pass in your new source object when you're ready.

player.reloadSourceOnError({

  // getSource allows you to override the source object used when an error occurs
  getSource: function(reload) {
    console.log('Reloading because of an error');

    // call reload() with a fresh source object
    // you can do this step asynchronously if you want (but the error dialog will
    // show up while you're waiting)
    reload({
      src: 'https://example.com/index.m3u8?token=abc123ef789',
      type: 'application/x-mpegURL'
    });
  },

  // errorInterval specifies the minimum amount of seconds that must pass before
  // another reload will be attempted
  errorInterval: 5
});