-
-
Notifications
You must be signed in to change notification settings - Fork 245
Description
Bug Report
Issue description
Some android devices support decoding h264 but does not support encoding it,
Most Huawei devices are like this (even the modern ones)
These devices response only vp8/vp9 support for the following code
const pc = new RTCPeerConnection(
{
iceServers : [],
iceTransportPolicy : 'all',
bundlePolicy : 'max-bundle',
rtcpMuxPolicy : 'require',
sdpSemantics : 'unified-plan'
});
pc.addTransceiver('audio');
pc.addTransceiver('video');
const offer = await pc.createOffer();
console.log(offer.sdp)
which is what is used in the Chrome74 Device Handler
however response with some h264 support (in addition to the vp8/vp9 support) using the following code
const pc = new RTCPeerConnection(
{
iceServers : [],
iceTransportPolicy : 'all',
bundlePolicy : 'max-bundle',
rtcpMuxPolicy : 'require',
sdpSemantics : 'unified-plan'
});
const at = pc.addTransceiver('audio');
const vt = pc.addTransceiver('video');
// you can add the following to check the decoding capabilities
at.direction = "recvonly"
vt.direction = "recvonly"
const offer = await pc.createOffer();
console.log(offer.sdp)
notice that setting the direction to 'recvonly' cause thee sdp offer to response differently
so in case you want to consume a h264 stream even though the h264 decoding is supported, the device response with empty list for the RTP capabilities causing the mediasoup server router to return false for the canConsume
router.canConsume({
producerId,
rtpCapabilities,
})
resulting in inability for the user to consume the stream
right now in our application we have a patch for mediasoup-client to accept a direction which can be 'sendonly' | 'recvonly' | 'sendrecv'
and return the RTP capabilities accordingly resulting in a functional consumtion
here is a short list of some of the devices which we found have this issue
Samsung SM-G532F
Samsung SM-J320H
CASPER_VIA_M3
Etab5
HRY-LX1T
HTC Desire 830
Huawei ANE-LX1
Huawei ANE-LX2
Huawei DRA-LX2
Huawei ELE-L29
Huawei FIG-LX1
Huawei JSN-L21
Huawei MRD-LX1
Huawei POT-LX1
Huawei SNE-LX1
Huawei VNS-L31
Huawei VOG-L29
INE-LX2r
LG-D693TR
LG-K430
M2004J19C
MAR-LX1A
we tested the patch and it worked for what we have tested up to now though we still haven't finish testing all of them