Skip to content

Commit

Permalink
feat: Recover from upload failures (#211)
Browse files Browse the repository at this point in the history
Instruct Packager to ignore HTTP output failures, so that the pipeline
overall doesn't fail during a live stream. Once the system recovers,
segments will be missing, but the stream overall will survive.

This requires a new release of Shaka Packager (v3.4.0).

Closes #195
  • Loading branch information
joeyparrish authored Nov 11, 2024
1 parent 071396b commit 278d775
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 2 deletions.
2 changes: 1 addition & 1 deletion binaries/build_wheels.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
# Version constants.
# Change to download different versions.
FFMPEG_VERSION = 'n7.1-2'
PACKAGER_VERSION = 'v3.3.0'
PACKAGER_VERSION = 'v3.4.0'

# A map of suffixes that will be combined with the binary download links
# to achieve a full download link. Different suffix for each platform.
Expand Down
2 changes: 1 addition & 1 deletion streamer/min_versions.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@

# These are minimum semantic versions expressed as tuples of ints.
FFMPEG = (7, 1)
PACKAGER = (3, 2, 0)
PACKAGER = (3, 4, 0)
4 changes: 4 additions & 0 deletions streamer/packager_node.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,10 @@ def start(self) -> None:
# Number of seconds between manifest updates.
'--minimum_update_period',
str(self._pipeline_config.update_period),
# Ignore HTTP output failures so that the pipeline doesn't stop if we
# fail to upload one segment. Only enable this for live streams,
# since for VOD, we really should signal that failure to the user.
'--ignore_http_output_failures',
]

args += self._setup_manifest_format()
Expand Down

0 comments on commit 278d775

Please sign in to comment.