Conversation
|
Ok to ignore packetization-mode, but I don't think we should ignore profile-level-id |
|
mmh actually are we sure about that: https://datatracker.ietf.org/doc/html/rfc6184#section-5.4 |
| else | ||
| adjusted.parameters.erase("packetization-mode"); | ||
| if (sf.IsSameCodec(adjusted)) | ||
| return factory->Create(env, format); |
There was a problem hiding this comment.
I might miss some logic consideration here.
Just want to make sure, should it be
factory->Create(env, adjusted);
rather than
return factory->Create(env, format);
|
AFAIU, |
Would be good to test in case there are decoders who support only |
6355818 to
e72d4a6
Compare
|
I added end-to-end testing for video streaming in #937 to give us more confidence in this change and future changes affecting the video layer. However, as noted in that PR, only VP8 and VP9 can currently be tested in CI, so I will run manually on different platforms to verify the H.264 and H.265 paths. |
Addresses an issue with H.264 streams using
packetization-mode=0. This affects tracks published between two cloud regions and all video tracks published by the ESP32 SDK.Root cause: the platform hardware decoder is not recognized as supporting H.264 streams with
packetization-mode=0because the codec matching logic treats different packetization modes as entirely distinct codecs. As a result, no compatible decoder is found and none is created. Packets are received but have no decoder to process them, so no frames are ever emitted to the user. Other SDKs (Swift, web, etc.) did not have the same issue.