open-webrtc-toolkit / owt-client-native

Open WebRTC Toolkit client SDK for native Windows/Linux/iOS applications.
https://01.org/open-webrtc-toolkit
Apache License 2.0
392 stars 181 forks source link

D3D11 decoder supports getting side data from HEVC streams. #725

Closed jianjunz closed 1 year ago

jianjunz commented 1 year ago

The implementation is picked from MSDK video decoder.

dvrogozh commented 1 year ago

@tannervoas742 : fyi

jianjunz commented 1 year ago

Encoding side is implemented here https://github.com/open-webrtc-toolkit/owt-client-native/blob/f1bf6862d5aa38c1f39ba72b2afbac3f22cc7376/talk/owt/sdk/base/customizedvideoencoderproxy.cc#L193-L242.

tannervoas742 commented 1 year ago

@jianjunz was this code validated on your end? Picked this change up in WCG but still seeing no side data being received on client side for HEVC.

jianjunz commented 1 year ago

Only receiver side was validated by running Windows client with sample server. Tried both H.264 and HEVC, GetSideData was called, and codec was correctly detected.

tannervoas742 commented 1 year ago

Only receiver side was validated by running Windows client with sample server. Tried both H.264 and HEVC, GetSideData was called, and codec was correctly detected.

Okay as long as this has been validated I think its fine to merge. It is not solving the issue WCG is having but I will continue looking into this on our end.

jianjunz commented 1 year ago

I'll feed some random side data at sender side to see if it can be received before merging.

tannervoas742 commented 1 year ago

Rebuilding and testing this with WCG. ETA ~2 hours

jianjunz commented 1 year ago

Thanks for your feedback. We're working on recovering CI for Windows and iOS.