The problem is solved. Thank you very much, Randell.
The problem is on SDP. In my case, SDP includes the following entries:
a=rtpmap:126 H264/90000
a=rtcp-fb:126 ccm fir
a=rtcp-fb:126 nack
a=rtcp-fb:126 nack pli
a=rtpmap:97 H264/90000
a=rtcp-fb:97 ccm fir
a=rtcp-fb:97 nack
a=rtcp-fb:97 nack pli
Randell just said I need provide more information for distinguishing the
difference between them. But on my device, only one H264 format, why it will
return two H264 entries?
The reason is FF 33 send offer to my device contains :
a=rtpmap:126 H264/90000
a=fmtp:126 profile-level-id=42e01f;packetization-mode=1
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42e01f
In WebRTC source code, Function NegotiateCodecs (in mediasession.cc), a
function to decide what codecs can be used. I see a code like :
for (ours = local_codecs.begin(); ours != local_codecs.end(); ++ours) {
...
for (theirs = offered_codecs.begin(); theirs != offered_codecs.end();
++theirs) {
...
if (ours->Matches(*theirs)) {
...
}
}
}
local_codecs has <H264>, offered_codecs has <H264, H264>. Therefore, H264 are
matched twice, and let SDP has two H264 entry.
Seem WebRTC doesn't consodier this situation is this case. Right?
_______________________________________________
dev-media mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-media