Open chobie opened 1 year ago
While testing, I found a another issue and reporting it here. https://github.com/paullouisageneau/libdatachannel/blob/master/src/av1rtppacketizer.cpp#L132
It seems that when the sequence header is cached, and there is only one obu unit, the sequence header progresses without being consumed.
In such cases, an assertion fails and terminates at the following location: https://github.com/paullouisageneau/libdatachannel/blob/master/src/mediahandlerelement.cpp#L164
here is av1-sender patch (modified media-sender). it's not correct but it works roughly.
https://gist.github.com/chobie/49d219a6c658de3667231016b8c1d5e8
https://github.com/paullouisageneau/libdatachannel/assets/195038/7e475c96-3e90-4f8d-b976-ef459b48cb47 (this movie set keyframe interval is 1)
Great job, thank you for sharing!
While testing, I found a another issue and reporting it here. https://github.com/paullouisageneau/libdatachannel/blob/master/src/av1rtppacketizer.cpp#L132
It seems that when the sequence header is cached, and there is only one obu unit, the sequence header progresses without being consumed.
In such cases, an assertion fails and terminates at the following location: https://github.com/paullouisageneau/libdatachannel/blob/master/src/mediahandlerelement.cpp#L164
@Sean-Der Could you please look into this?
I tried to see if I could stream video using libaom. After
aom_codec_encode
, retrieve the encoded frame withaom_codec_get_cx_data.
However, when I transmitted that frame, Chrome did not recognize it as a frame and it was dropped. Upon analyzing the encoded frame, I found that it apparently contains multiple obu units.When I tried transmitting the frame after dividing it by obu units, the video was displayed as expected.
Do I understand correctly that the current
packetizeObu
expects a single obu unit?here is pseudo code