Closed zcesur closed 2 months ago
/bounty $75
## 💎 $75 bounty • Algora
### Steps to solve:
1. Start working: Comment
/attempt #69
with your implementation plan2. Submit work: Create a pull request including
/claim #69
in the PR body to claim the bounty3. Receive payment: 100% of the bounty is received 2-5 days post-reward. Make sure you are eligible for payouts
### ❗ Important guidelines:
- To claim a bounty, you need to provide a short demo video of your changes in your pull request
- If anything is unclear, ask for clarification before starting as this will help avoid potential rework
- For assistance or questions, join our Discord
Thank you for contributing to algora-io/tv!
Add a bounty • Share on socials
Attempt | Started (GMT+0) | Solution |
---|---|---|
🟢 @itsdheerajdp | Aug 31, 2024, 2:46:38 PM | WIP |
🟢 @Lirianer | Aug 31, 2024, 3:18:54 PM | #75 |
/attempt #69
Algora profile | Completed bounties | Tech | Active attempts | Options |
---|---|---|---|---|
@itsdheerajdp | 2 bounties from 2 projects | HTML, JavaScript, TypeScript & more |
Cancel attempt |
/attempt #69
💡 @Lirianer submitted a pull request that claims the bounty. You can visit your bounty board to reward.
🎉🎈 @Lirianer has been awarded $75! 🎈🎊
Sometimes streams get interrupted and get stuck at "live" state because the underlying .m3u8 manifest is not terminated with an
EXT-X-ENDLIST
tag.Let's add a
Algora.Library.terminate_stream(video_id)
function that fetches the .m3u8 manifest of a livestream, appendsEXT-X-ENDLIST
(if it doesn't already end with it) and writes the updated manifest back to the object storage.Let's also add a GenServer that periodically monitors for interrupted livestreams (fetching videos where
is_live
is false andduration
is 0) and terminates them.