Skip to content

Commit

Permalink
SimulcastConsumer: Fix frozen video when syncing keyframe is discarde…
Browse files Browse the repository at this point in the history
…d due to too high RTP timestamp extra offset needed (#999)

- Fixes #990.
- Rationale here: #990 (comment).
- Basically we should reset this->syncRequired` nor `this->spatialLayerToSync` when the keyframe that is supposed to switch to another spatial layer is discarded due to too high RTP timestamp extra offset needed.
  • Loading branch information
ibc authored Jan 31, 2023
1 parent c882311 commit 21b1bf9
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
### NEXT

* `SimulcastConsumer::GetDesiredBitrate()`: Choose the highest bitrate among all Producer streams ([PR #992](https://github.com/versatica/mediasoup/pull/992)).
* `SimulcastConsumer`: Fix frozen video when syncing keyframe is discarded due to too high RTP timestamp extra offset needed ([PR #999](https://github.com/versatica/mediasoup/pull/999)).
* Update NPM deps.


Expand Down
4 changes: 4 additions & 0 deletions worker/src/RTC/SimulcastConsumer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -809,6 +809,10 @@ namespace RTC

this->keyFrameForTsOffsetRequested = true;

// Reset flags since we are discarding this key frame.
this->syncRequired = false;
this->spatialLayerToSync = -1;

return;
}

Expand Down

0 comments on commit 21b1bf9

Please sign in to comment.