Skip to content

Conversation

@mb1shka
Copy link
Contributor

@mb1shka mb1shka commented Mar 23, 2022

Problem, that was solved:
When I made a call from IOS to Android, IPhone didn't see remote video from Pixel/Samsung/OnePlus (other brands I didn't check).

It all was because H264 was disabled and video couldn't be properly encoded.

@ycherniavskyi
Copy link
Member

I want to clarify the modified third parameter with the actual name enableH264HighProfile.
First of all, it is not enable/disable H264 - it switches high/baseline profile modes of H264.
Also, after investigating the source code of HardwareVideoEncoderFactory class in WebRTC SDK, I could agree that assigned in this PR default value for this parameter is the correct fix. Here is some evidence:

// TODO(sakal): Always add H264 HP once WebRTC correctly removes codecs that are not // supported by the decoder. 

@hiroshihorie do you agree with this with modification (with blame I identify that your are the author of current default value of enableH264HighProfile parameter)?

@ycherniavskyi
Copy link
Member

Sorry for accidental close ☺️.

@hiroshihorie
Copy link
Member

hiroshihorie commented Mar 24, 2022

@davidliu Can you take a look (is this needed) ? thanks !

@davidliu
Copy link
Contributor

Hmm, this is weird; High Profile is a "should" supported format, while Baseline is a "must" supported format according to WebRTC spec. High Profile shouldn't be needed just to get video running (and seems to be working fine on the LiveKit example apps calling between iPhone and Android). I wonder if there's something else causing the original issue?

@davidliu
Copy link
Contributor

With regards to the PR itself, it should be fine to enable High Profile.

@davidzhao
Copy link
Member

I think this will be challenging for web/compatibility. Firefox (and perhaps others) does not support high profile.. It doesn't seem that it should be the default?

Could the issues be related to the simulcast fixes you've made to our native android SDK?

@davidliu
Copy link
Contributor

davidliu commented Mar 24, 2022

@davidzhao the flag here seems only enable the codec as a supported codec, but it wouldn't be used if the SDP offer/answer profiles negotiate not to use it (e.g. if the other end couldn't support it), if I understand it correctly.

The other change is confirmed unrelated to this issue.

@davidzhao
Copy link
Member

@davidzhao the flag here seems only enable the codec as a supported codec, but it wouldn't be used if the SDP offer/answer profiles negotiate not to use it (e.g. if the other end couldn't support it), if I understand it correctly.

The other change is confirmed unrelated to this issue.

oh got it! thanks for the clarifications.

@davidliu davidliu merged commit e31c78b into flutter-webrtc:master Mar 31, 2022
hieplee2997 pushed a commit to hieplee2997/flutter-webrtc that referenced this pull request Jun 2, 2022
@hiren3897
Copy link

Hello,
is this merge releated to #1274 ?

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

Labels

None yet

6 participants