livepeer / livepeer/go-livepeer
Broadcaster returns 500 Internal Server Error for segments with 0-frame
- 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
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