Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve H264 temporal layer switching #306

Closed
ibc opened this issue May 20, 2019 · 2 comments
Closed

Improve H264 temporal layer switching #306

ibc opened this issue May 20, 2019 · 2 comments
Assignees
Milestone

Comments

@ibc
Copy link
Member

ibc commented May 20, 2019

Once frame marking is implemented (#298) there are two pending subjects to improve/fix in H264::PayloadDescriptorHandler::Process():

  1. We should check incremental "picture id" somehow and let the packet pass if its picture id is older than highest seen. However no idea how to check it in H264 frame-marking.
    • NOTE: Better don't do it. We cannot check tl0picidx since many packets with different tid would have the same value.
  2. Eventually (and this happens in all simulcast streams) there are no H264 packets with the framingMarking->base (Base Layer Sync) set, so we cannot wait for it in order to let higher temporal layers pass.
@ibc ibc added the feature label May 20, 2019
@ibc ibc added this to the v3 updates milestone May 20, 2019
@ibc ibc assigned ibc and jmillan May 20, 2019
ibc added a commit that referenced this issue May 24, 2019
- VP8: Check that the payload has pictureId and tl0PictureIndex before using them.
- H264: Check tl0picidx is greater than highest seen (related to #306).
ibc added a commit that referenced this issue May 27, 2019
* VP8: Check that the payload has pictureId and tl0PictureIndex before using them.
* PayloadDescriptorHandler: rename Encode() to Process().
* Codecs&Simulcast: move current and target temporal layer stuff to the codec handler.
* Upgrade Catch to 2.8.0.
@ibc ibc closed this as completed May 27, 2019
@ibc
Copy link
Member Author

ibc commented May 27, 2019

Let's keep this issue open until libwebrtc people fixes the h264 issue.

@ibc ibc reopened this May 27, 2019
@ibc ibc removed the feature label Oct 16, 2019
@ibc
Copy link
Member Author

ibc commented Nov 19, 2019

Confirmed that this is fixed in Chrome 78.0.3904.97 (OSX), so eventually we should uncomment this block. However, we must be sure that it would not affect older libwebrtc based devices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants