livepeer / livepeer/go-livepeer

Broadcaster returns 500 Internal Server Error for segments with 0-frame

Open
#1,925 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
586
Forks
226
Avg merge
1d 17h
Merged PRs (30d)
19

Description

**Problem**
When Orchestrator receives segment with 0-frame it returns `TranscoderInvalidVideo` error.
When Broadcaster sees this error, it returns `500 Internal Server Error` in HTTP response.
When Mist sees `500` response - it tries to transcode same segment again. Then it gets same response again and this repeats until this segment goes out of live buffer of Mist.

**Proposed solution**
For `TranscoderInvalidVideo` Broadcaster should just return source segment. Anyway, this segment contains only audio.

**Other potential solutions**
1. Orchestrator could return source segment - but this probably semantically incorrect.
2. Broadcaster could return `400 Bad request` status - this is probably best option, but then we need make sure that Mist doesn't try to transcode such segment again.

Contributor guide

Open the contributing guide

Research direction

Start by tracing how Broadcaster handles the Orchestrator's TranscoderInvalidVideo error and how its HTTP response affects Mist's retry behavior. Confirm which proposed behavior is intended, then add coverage showing that a 0-frame, audio-only segment does not cause repeated retries or an inappropriate 500 response.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
audio-video-rtc, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.