AOMediaCodec / av1-rtp-spec

Current draft (HTML): https://aomediacodec.github.io/av1-rtp-spec/
Other
63 stars 24 forks source link

Packetization rules cannot be test at Application level, nor within an SFU. #205

Closed agouaillard-cosmo closed 3 years ago

agouaillard-cosmo commented 3 years ago

We believe it should be tested through a libwebrtc unit test.

5 Packetization Rules | 1 | Each RTP packet MUST NOT contain OBUs that belong to different temporal units.

5 Packetization Rules | 3 | If a sequence header OBU is present in an RTP packet and operating_points_cnt_minus_1 > 0 then for any number i where 0 <= i < operating_points_cnt_minus_1 the following MUST be true: (operating_point_idc[i] & operating_point_idc[i+1]) == operating_point_idc[i+1].

5 Packetization Rules | 6 | If more than one OBU contained in an RTP packet has an OBU extension header, then the values of the temporal_id and spatial_id MUST be the same in all such OBUs in the RTP packet.

5 Packetization Rules | 7 | If a sequence header OBU is present in an RTP packet, then it SHOULD be the first OBU in the packet. OBUs that are not associated with a particular layer (and thus do not have an OBU extension header) SHOULD be in the beginning of a packet, following the sequence header OBU if present.

5 Packetization Rules | 8 | A sequence header OBU SHOULD be included in the base layer when scalable encoding is used. When simulcast encodings are transported on the same SSRC (an “S” mode), a sequence header OBU SHOULD be aggregated with each spatial layer. This ensures that if an intermediary removes simulcast encodings from the bitstream before forwarding, the modified bitstream will still be decodable.

aboba commented 3 years ago

These requirements could be tested via a wireshark decoder, assuming that the bitstream was in cleartext (and RTP was used instead of SRTP).

agouaillard-cosmo commented 3 years ago

For automated testing, it was agreed that a unit test was more appropriate. It was confirmed that such a test does not exists today. If the google team had to write such a test it would don't be before January.