From 3e94557b04124270cace68b702b00f72a3d51359 Mon Sep 17 00:00:00 2001 From: Benjamin Wright Date: Tue, 11 Dec 2018 19:33:08 -0800 Subject: [PATCH] Adding fuzzing configuration files for Rtp Replay Fuzzing. Configuring video decoding and rtp depacketization through json was introduced in a prior change. This change introduces some basic configurations that will be used in the initial round of fuzzers that are being added. TBR=henrik.lundin@webrtc.org Bug: webrtc:9599 Change-Id: I58aba6a6f24f8374126547deeef0ff4d1708327b Reviewed-on: https://webrtc-review.googlesource.com/c/113834 Commit-Queue: Benjamin Wright Reviewed-by: Rasmus Brandt Cr-Commit-Position: refs/heads/master@{#26005} --- .../replay_packet_fuzzer/h264_fec_config.json | 148 ++++++++++++++++++ .../h264_non_interleaved_config.json | 63 ++++++++ .../h264_single_nal_config.json | 63 ++++++++ .../replay_packet_fuzzer/vp8_config.json | 67 ++++++++ .../replay_packet_fuzzer/vp8_fec_config.json | 70 +++++++++ .../replay_packet_fuzzer/vp9_config.json | 71 +++++++++ .../replay_packet_fuzzer/vp9_fec_config.json | 76 +++++++++ 7 files changed, 558 insertions(+) create mode 100644 test/fuzzers/configs/replay_packet_fuzzer/h264_fec_config.json create mode 100644 test/fuzzers/configs/replay_packet_fuzzer/h264_non_interleaved_config.json create mode 100644 test/fuzzers/configs/replay_packet_fuzzer/h264_single_nal_config.json create mode 100644 test/fuzzers/configs/replay_packet_fuzzer/vp8_config.json create mode 100644 test/fuzzers/configs/replay_packet_fuzzer/vp8_fec_config.json create mode 100644 test/fuzzers/configs/replay_packet_fuzzer/vp9_config.json create mode 100644 test/fuzzers/configs/replay_packet_fuzzer/vp9_fec_config.json diff --git a/test/fuzzers/configs/replay_packet_fuzzer/h264_fec_config.json b/test/fuzzers/configs/replay_packet_fuzzer/h264_fec_config.json new file mode 100644 index 0000000000..d9b2576d1b --- /dev/null +++ b/test/fuzzers/configs/replay_packet_fuzzer/h264_fec_config.json @@ -0,0 +1,148 @@ +[ + { + "decoders" : [ + { + "codec_params" : [ + { + "level-asymmetry-allowed" : "1" + }, + { + "packetization-mode" : "1" + }, + { + "profile-level-id" : "42001f" + } + ], + "payload_name" : "H264", + "payload_type" : 100 + }, + { + "codec_params" : [ + { + "level-asymmetry-allowed" : "1" + }, + { + "packetization-mode" : "0" + }, + { + "profile-level-id" : "42001f" + } + ], + "payload_name" : "H264", + "payload_type" : 102 + }, + { + "codec_params" : [ + { + "level-asymmetry-allowed" : "1" + }, + { + "packetization-mode" : "1" + }, + { + "profile-level-id" : "42e01f" + } + ], + "payload_name" : "H264", + "payload_type" : 127 + }, + { + "codec_params" : [ + { + "level-asymmetry-allowed" : "1" + }, + { + "packetization-mode" : "0" + }, + { + "profile-level-id" : "42e01f" + } + ], + "payload_name" : "H264", + "payload_type" : 125 + }, + { + "codec_params" : [], + "payload_name" : "VP8", + "payload_type" : 96 + }, + { + "codec_params" : [], + "payload_name" : "VP9", + "payload_type" : 98 + } + ], + "render_delay_ms" : 10, + "rtp" : { + "extensions" : [ + { + "encrypt" : false, + "id" : 5, + "uri" : "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01" + }, + { + "encrypt" : false, + "id" : 3, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time" + }, + { + "encrypt" : false, + "id" : 6, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/playout-delay" + }, + { + "encrypt" : false, + "id" : 7, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/video-content-type" + }, + { + "encrypt" : false, + "id" : 8, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/video-timing" + }, + { + "encrypt" : false, + "id" : 4, + "uri" : "urn:3gpp:video-orientation" + }, + { + "encrypt" : false, + "id" : 2, + "uri" : "urn:ietf:params:rtp-hdrext:toffset" + } + ], + "local_ssrc" : 1, + "nack" : { + "rtp_history_ms" : 1000 + }, + "red_payload_type" : -1, + "remb" : true, + "remote_ssrc" : 2736493666, + "rtcp_mode" : "RtcpMode::kReducedSize", + "rtx_payload_types" : [ + { + "97" : 96 + }, + { + "99" : 98 + }, + { + "101" : 100 + }, + { + "107" : 125 + }, + { + "122" : 127 + }, + { + "123" : 102 + } + ], + "rtx_ssrc" : 885796452, + "transport_cc" : true, + "ulpfec_payload_type" : -1 + }, + "target_delay_ms" : 0 + } +] diff --git a/test/fuzzers/configs/replay_packet_fuzzer/h264_non_interleaved_config.json b/test/fuzzers/configs/replay_packet_fuzzer/h264_non_interleaved_config.json new file mode 100644 index 0000000000..3dfa7a6b37 --- /dev/null +++ b/test/fuzzers/configs/replay_packet_fuzzer/h264_non_interleaved_config.json @@ -0,0 +1,63 @@ +[ + { + "decoders" : [ + { + "codec_params" : [ + { + "level-asymmetry-allowed" : "0" + }, + { + "packetization-mode" : "0" + }, + { + "profile-level-id" : "42001f" + } + ], + "payload_name" : "H264", + "payload_type" : 100 + }, + { + "codec_params" : [ + { + "level-asymmetry-allowed" : "1" + }, + { + "packetization-mode" : "1" + }, + { + "profile-level-id" : "42e01f" + } + ], + "payload_name" : "H264", + "payload_type" : 102 + } + ], + "render_delay_ms" : 10, + "rtp" : { + "extensions" : [], + "local_ssrc" : 1, + "nack" : { + "rtp_history_ms" : 1000 + }, + "red_payload_type" : 125, + "remb" : true, + "remote_ssrc" : 1989790381, + "rtcp_mode" : "RtcpMode::kReducedSize", + "rtx_payload_types" : [ + { + "101" : 100 + }, + { + "122" : 125 + }, + { + "123" : 127 + } + ], + "rtx_ssrc" : 1406083315, + "transport_cc" : true, + "ulpfec_payload_type" : -1 + }, + "target_delay_ms" : 0 + } +] diff --git a/test/fuzzers/configs/replay_packet_fuzzer/h264_single_nal_config.json b/test/fuzzers/configs/replay_packet_fuzzer/h264_single_nal_config.json new file mode 100644 index 0000000000..f9fa4cf4eb --- /dev/null +++ b/test/fuzzers/configs/replay_packet_fuzzer/h264_single_nal_config.json @@ -0,0 +1,63 @@ +[ + { + "decoders" : [ + { + "codec_params" : [ + { + "level-asymmetry-allowed" : "1" + }, + { + "packetization-mode" : "1" + }, + { + "profile-level-id" : "42001f" + } + ], + "payload_name" : "H264", + "payload_type" : 100 + }, + { + "codec_params" : [ + { + "level-asymmetry-allowed" : "1" + }, + { + "packetization-mode" : "1" + }, + { + "profile-level-id" : "42e01f" + } + ], + "payload_name" : "H264", + "payload_type" : 102 + } + ], + "render_delay_ms" : 10, + "rtp" : { + "extensions" : [], + "local_ssrc" : 1, + "nack" : { + "rtp_history_ms" : 1000 + }, + "red_payload_type" : 125, + "remb" : true, + "remote_ssrc" : 1989790381, + "rtcp_mode" : "RtcpMode::kReducedSize", + "rtx_payload_types" : [ + { + "101" : 100 + }, + { + "122" : 125 + }, + { + "123" : 127 + } + ], + "rtx_ssrc" : 1406083315, + "transport_cc" : true, + "ulpfec_payload_type" : -1 + }, + "target_delay_ms" : 0 + } +] diff --git a/test/fuzzers/configs/replay_packet_fuzzer/vp8_config.json b/test/fuzzers/configs/replay_packet_fuzzer/vp8_config.json new file mode 100644 index 0000000000..1fb5618a79 --- /dev/null +++ b/test/fuzzers/configs/replay_packet_fuzzer/vp8_config.json @@ -0,0 +1,67 @@ +[{ + "decoders" : [ + { + "codec_params" : [], + "payload_name" : "VP8", + "payload_type" : 96 + }, + { + "codec_params" : [], + "payload_name" : "VP9", + "payload_type" : 98 + } + ], + "render_delay_ms" : 10, + "rtp" : { + "extensions" : [ + { + "encrypt" : false, + "id" : 5, + "uri" : "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01" + }, + { + "encrypt" : false, + "id" : 3, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time" + }, + { + "encrypt" : false, + "id" : 6, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/playout-delay" + }, + { + "encrypt" : false, + "id" : 4, + "uri" : "urn:3gpp:video-orientation" + }, + { + "encrypt" : false, + "id" : 2, + "uri" : "urn:ietf:params:rtp-hdrext:toffset" + } + ], + "local_ssrc" : 2129427193, + "nack" : { + "rtp_history_ms" : 1000 + }, + "red_payload_type" : 100, + "remb" : true, + "remote_ssrc" : 2060300048, + "rtcp_mode" : "RtcpMode::kCompound", + "rtx_payload_types" : [ + { + "97" : 96 + }, + { + "99" : 98 + }, + { + "101" : 100 + } + ], + "rtx_ssrc" : 100, + "transport_cc" : true, + "ulpfec_payload_type" : 102 + }, + "target_delay_ms" : 0 +}] diff --git a/test/fuzzers/configs/replay_packet_fuzzer/vp8_fec_config.json b/test/fuzzers/configs/replay_packet_fuzzer/vp8_fec_config.json new file mode 100644 index 0000000000..24e13b53d5 --- /dev/null +++ b/test/fuzzers/configs/replay_packet_fuzzer/vp8_fec_config.json @@ -0,0 +1,70 @@ +[ + { + "decoders" : [ + { + "codec_params" : [], + "payload_name" : "VP8", + "payload_type" : 96 + } + ], + "render_delay_ms" : 10, + "rtp" : { + "extensions" : [ + { + "encrypt" : false, + "id" : 5, + "uri" : "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01" + }, + { + "encrypt" : false, + "id" : 3, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time" + }, + { + "encrypt" : false, + "id" : 6, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/playout-delay" + }, + { + "encrypt" : false, + "id" : 7, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/video-content-type" + }, + { + "encrypt" : false, + "id" : 8, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/video-timing" + }, + { + "encrypt" : false, + "id" : 4, + "uri" : "urn:3gpp:video-orientation" + }, + { + "encrypt" : false, + "id" : 2, + "uri" : "urn:ietf:params:rtp-hdrext:toffset" + } + ], + "local_ssrc" : 1, + "nack" : { + "rtp_history_ms" : 1000 + }, + "red_payload_type" : -1, + "remb" : true, + "remote_ssrc" : 2672243158, + "rtcp_mode" : "RtcpMode::kReducedSize", + "rtx_payload_types" : [ + { + "97" : 96 + }, + { + "99" : 98 + } + ], + "rtx_ssrc" : 1807563126, + "transport_cc" : true + }, + "target_delay_ms" : 0 + } +] diff --git a/test/fuzzers/configs/replay_packet_fuzzer/vp9_config.json b/test/fuzzers/configs/replay_packet_fuzzer/vp9_config.json new file mode 100644 index 0000000000..7010a27d11 --- /dev/null +++ b/test/fuzzers/configs/replay_packet_fuzzer/vp9_config.json @@ -0,0 +1,71 @@ +[ + { + "decoders" : [ + { + "codec_params" : [], + "payload_name" : "VP9", + "payload_type" : 96 + } + ], + "render_delay_ms" : 10, + "rtp" : { + "extensions" : [ + { + "encrypt" : false, + "id" : 5, + "uri" : "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01" + }, + { + "encrypt" : false, + "id" : 3, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time" + }, + { + "encrypt" : false, + "id" : 6, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/playout-delay" + }, + { + "encrypt" : false, + "id" : 7, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/video-content-type" + }, + { + "encrypt" : false, + "id" : 8, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/video-timing" + }, + { + "encrypt" : false, + "id" : 4, + "uri" : "urn:3gpp:video-orientation" + }, + { + "encrypt" : false, + "id" : 2, + "uri" : "urn:ietf:params:rtp-hdrext:toffset" + } + ], + "local_ssrc" : 1, + "nack" : { + "rtp_history_ms" : 1000 + }, + "red_payload_type" : 100, + "remb" : true, + "remote_ssrc" : 359403851, + "rtcp_mode" : "RtcpMode::kReducedSize", + "rtx_payload_types" : [ + { + "97" : 96 + }, + { + "101" : 100 + } + ], + "rtx_ssrc" : 1732909516, + "transport_cc" : true, + "ulpfec_payload_type" : 127 + }, + "target_delay_ms" : 0 + } +] diff --git a/test/fuzzers/configs/replay_packet_fuzzer/vp9_fec_config.json b/test/fuzzers/configs/replay_packet_fuzzer/vp9_fec_config.json new file mode 100644 index 0000000000..d82b026eb6 --- /dev/null +++ b/test/fuzzers/configs/replay_packet_fuzzer/vp9_fec_config.json @@ -0,0 +1,76 @@ +[ + { + "decoders" : [ + { + "codec_params" : [], + "payload_name" : "VP9", + "payload_type" : 98 + }, + { + "codec_params" : [], + "payload_name" : "VP8", + "payload_type" : 96 + } + ], + "render_delay_ms" : 10, + "rtp" : { + "extensions" : [ + { + "encrypt" : false, + "id" : 5, + "uri" : "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01" + }, + { + "encrypt" : false, + "id" : 3, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time" + }, + { + "encrypt" : false, + "id" : 6, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/playout-delay" + }, + { + "encrypt" : false, + "id" : 7, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/video-content-type" + }, + { + "encrypt" : false, + "id" : 8, + "uri" : "http://www.webrtc.org/experiments/rtp-hdrext/video-timing" + }, + { + "encrypt" : false, + "id" : 4, + "uri" : "urn:3gpp:video-orientation" + }, + { + "encrypt" : false, + "id" : 2, + "uri" : "urn:ietf:params:rtp-hdrext:toffset" + } + ], + "local_ssrc" : 1, + "nack" : { + "rtp_history_ms" : 1000 + }, + "red_payload_type" : -1, + "remb" : true, + "remote_ssrc" : 2678204013, + "rtcp_mode" : "RtcpMode::kReducedSize", + "rtx_payload_types" : [ + { + "97" : 96 + }, + { + "99" : 98 + } + ], + "rtx_ssrc" : 1110725867, + "transport_cc" : true, + "ulpfec_payload_type" : -1 + }, + "target_delay_ms" : 0 + } +]