Closed arcinston closed 10 months ago
I am trying to debug the issue from my end . Looking at the code changes in mediasoup-client , hoping i find the bug
but your input on this would also help
also tried using vp9
works fine on web
but on react native , mediasoup server throws this error
i think the payloadType 103 is not meant to be for vp9 , i think there is some mistake here
maybe the starting offset is wrong like it should start from 100 but is starting from 97 so all payloadTypes are mismatching
Did you check the RtpParameters
provided to transport.produce()
?
The payload type in PRODUCER RTP parameters doesn't need to match the preferred payload type in router.rtpCapabilities or device.rtpCaoabilities (those are just used for consuming) so that's not the problem. Can you please print:
@jmillan yes the second JSON i have provided are the rtpParameters recieived on the "produce" event on the sendTransport for that particular producer
@ibc yes , i agree it is just a preffered parameter and does not need to match the payloadType
i am sharing the requested details in the next comment
If you feel brave enough, you can add a test in node/src/test/test-Producer.ts with the capabilities and RTP parameters you get to reproduce the problem.
@ibc @jmillan
there is no fault in either the mediasoup-client nor mediasoup, and for that i am extremely sorry.
the issue was we moved all mediaserver <-> signalling <-> client interactions from json to protobufs
here the schema for parameters in codecs was map<string,string> but some values could be numbers . although we had take care of parsing we missed a case where the codec.parameters from the server which were numbers were not parsed into string before sending to the client . everything seemed to work fine on web hence we didnt catch this early enough but didnt specifically on react native that is when we dug deeper compared all json files at figured it out.
thank you for taking the time to entertain my problem.
again grateful for the support you give !!
Thanks for explaining it.
Bug Report
IMPORTANT: Mediasoup client returns invalid payloadType for H264 on React Native.
Your environment
3.13.16
(latest)3.7.2
(latest)Issue description
we recently upgraded mediasoup from
3.12.13
and mediasoup client from3.6.98
to the latest versions . on Web devices everything worked fine but for React Native specifically the payloadType for H264 video specifically throws this error on mediasoupi think it is not using the preffered payloadType it receives from the mediasoup device
to show the discripancy
below are the rtpCapabilities.codecs
and this is the rtpParameter generated for the same
as you can see the payloadType is 98 which is not accepted by mediasoup
this seems to be just specific to react native as the same h264 codec with the exact same profile-level-id works fine on web
in web the preffered payloadType comes to be 108 and the payloadType is 106 for the same H264 codec