Attempt at rtpfec with srtp
I removed this line src.set_property_from_str("pattern", "ball");
from line 175 since this seems to cause the plugin to fail.
This seems to fail despite having all the plugins on nix (nix-shell -p gst_all_1.gst-plugins-base gst_all_1.gstreamer.dev gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-ugly rustc pkg-config
):
./target/release/rtpfecserver file:///home/chrisdawson/output.webm 100
Error! Received error from /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0: Your GStreamer installation is missing a plug-in. (debug: Some("../gst/playback/gsturidecodebin.c(1027): no_more_pads_full (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0:\nno suitable plugins found:\n../gst/playback/gstdecodebin2.c(4701): gst_decode_bin_expose (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0:\nno suitable plugins found:\nMissing decoder: Vorbis (audio/x-vorbis, channels=(int)1, rate=(int)44100, streamheader=(buffer)< 01766f72626973000000000144ac0000ffffffff00f40100ffffffffb801, 03766f7262697334000000586970682e4f7267206c6962566f72626973204920323032303037303420285265647563696e6720456e7669726f6e6d656e74290100000016000000656e636f6465723d4c61766335382e3133342e31303001, 05766f7262697329424356010008000000314c20c580d0905500001000006024290e93664929a594a128799894484929a594c53089989489c518638c31c618638c31c618638c20346415000004008028098ea3e6496ace396718278e72a039694e38a720078a51e03909c2f526636ea6b4a66b6ece2925080d590500000200404821851452482185146288218618628821871c72c821a79c720a2aa8a0820a32c820834c32e9a4934e3ae9a8a38e3aea28b4d0420b2db4d24a4c31d55663aebd065d7c73ce39e79c73ce39e79c73ce0942435601002000000442061964104208218514528829a698720a32c880d0905500002000800000000047911449b114cbb11ccdd1244ff22c511335d1334553544d55555555755d577665d77675d7767d5998855bb87d59b8855bd8855df78561188661188661188661f87ddff77ddff77d2034641500200100a0233996e329a2221aa2e239a2038486ac02006400000400200992222992a349a6666aae699bb668abb66dcbb22ccbb20c8486ac0200000100040000000000a0699aa6699aa6699aa6699aa6699aa6699aa6699a66599665599665599665599665599665599665599665599665599665599665599665599665594068c82a0040020040c7711cc77124455224c7722c07080d590500c80000080040522cc57234477334c7733cc7733c477444c9944ccdf44c0f080d59050000020008000000000040311cc5711cc9d1244f522dd3723557733dd7734dd7755d575555555555555555555555555555555555555555555555555555555555555555555581d090550000040000219d66966a800833906120346415008000000018a108430c080d5905000004000088a1e4209ad09af3cd390e9ae5a0a9149bd3c189549b27b9a9989b73ce39e79c6cce19e39c73ce29ca99c5a099d09a73ce490c9aa5a099d09a73ce79129b07ada9d29a73ce19e79c0ec619619c73ce69d29a07a9d9589b73ce59d09ae6a8b9149b73ce89949b27b5b9549b73ce39e79c73ce39e79c73cea95e9ccec139e19c73ce89da9b6bb9095d9c73cef9649ceecd09e19c73ce39e79c73ce39e79c73ce0942435601004000000461d818c69d82207d8e06621421a621931e748f0e93a031c829a41e8d8e464aa98350521927a57482d0905500002000008410524821851452482185145248218618628821a79c720a2aa8a4928a2aca28b3cc32cb2cb3cc32cbacc3ce3aebb0c310430c31b4d24a2c35d556638db5e69e73ae39486ba5b5d65a2ba594524a29a52034641500000200402064904106198514524821869872ca29a7a0820a080d59050000020008000000f024cf111dd1111dd1111dd1111dd1111dcff11c511225511225d1322d53333d55545557766d599775dbb7855dd875dfd77ddfd78d5f1786655996655996655996655996655996650942435601002000000042082184145248218594628c31c79c834e420981d09055000020008000000000477114c7911cc991244bb2244dd22ccdf2344ff334d1134551344d53155dd11575d3166553365dd33565d35565d57665d9b6655bb77d59b67ddff77ddff77ddff77ddff77ddfd7752034641500200100a023399222299222398ee34892048486ac02006400000400a0288ee2388e23499224599226799667899aa9999ee9a9a20a8486ac0200000100040000000000a0688aa7988aa7888ae7888e28899669899aaab9a26ccaaeebbaaeebbaaeebbaaeebbaaeebbaaeebbaaeebbaaeebbaaeebbaaeebbaaeebbaaeebba4068c82a004002004047722447722445522445722407080d590500c800000800c0311c435224c7b22c4df3344ff334d1133dd1333d55744517080d590500000200080000000000c0900c4bb11ccdd12451522dd55235d5522d55543d555555555555555555555555555555555555555555555555555555555555555555d5344dd33481d09095000019000064c1f72084100ea3d442304168cc4106a9e4a04149a5d5d683e610338c39ef958492494a3d58ce41c490f32021c714634a692b2d65d418c140e7dc71e51004424356040051000080318631c41872ce49c9a444ce31299d94c83947a593d249292d9618332925b61263e49ca3d249caa494184b8b1da5126389ad00008000070080000ba1d090150140140000620c520a29859452ce29e69052ca31e51c524a39a69c53ce39081d84ca31069d831029a51c53ce29e71c84cc41e59c83d04128000020c0010020c0422834644500102700e0901ccf93344b14254b13454f1465d7134d579634cd1435515455cb1355d55455db164d55b6254d13454df454551345551555d3964d55b56dcf346dd9545ddd165555b765dbf67d57b685df334d591655d5d64dd5b575d7967d5fb6755d9834cd34355154554d1455d57455dd3655d7b63551745d515565595455595665d9165659d67d4b1455d5534dd91555559655d9f56d55967ddf745d5d5765d9f75559f675db1786e5f67da3a8aab66ecaaeafabb2ecfbb66ef36ddf374a9a669a9a28baaa268aaa6baaaa6e9baa6bdb9628aaaaa8aab2ec99aa2babb22cecaa2bdbba268aaa2baaaa2c8baa2acbaaecfabe2acbba2daaaaadabb2eceba62bfbbeeefbd8b2ee1ba7aaeaba2adbbeb1cab2afebbeafb475ddf73dd39465d3557ddd54555f9775df28dbba308caaaaebaa2cfbc62acbbeb0fb3ebaf1134655d5755576855d956d5fd88d9db0fbbeb1ccbacdb87d5f396e5f5796df58f285b8b62d0cb36f336e5f37fac6af0cc732e499a66d8baeaaeba6eaeac2acebc66ffbba318caaeaebaa2cf35557f675ddf709bbee1bc3e8aabab0cab2efabb6ecfbbaee1bcb6ffcb8b6cdb77d9f31dbba4ff88d7c5f58cab62db4859f72ebbab10cbf91aefc080000187000000830a10c141ab222008813006010724e3105a1520c420721a50e424915631032e7a454cc4109a5b4164249ad620c42e59884cc3929a1849642292d7510520aa5b4164a692db5166b4a2dc60e424aa194964229ada596624cadc558310621734c4ac69c94504a4ba194d632e7a4740e52ea20a454526aad94d462c598940c3a2a9d83924a2a3195945a0ba5b4564a8ab1a4145b6b31d6d662ada194d64229ad9594624c2dd5d662acb5620c42e698948c3929a194964229a9558c49e9a0a3923928a9a4145b2929c5cc39291d84943a08299554622b29b5164a69ada4145b28a5c5165bad29b5564329ad9594622c29c5d862abb5c556630721a5504a6ba194d6526b35a6d6620ca5b456528ab1a4145b8bb1d6d662ada194d6422ab195925a4cb1d5d85aac35b516636ab1d61663ad31d6da63adbda794624c2dd5d85aac39d6d663ad35f70e424aa194d64229ada5d66a4cadc51a4a69ada4125b28a9c5165badadc5584329ad95945a2c29c5d862abb5c5586b6a2dc6165bad29b55863ae3dc756634fadc5d862acb5b5566bac35e75863af0500000c380000049850060a0d590900440100108428c59c940621c79ca39420c49883942ac72094d25ac51c94525aeb9c93d2528c9d8352528ab1a4d45a8cb596945a8bb1d60200000a1c0000026cd094581ca0d090950040140000620c428c41689051ca31088d414a310621528a31e7a4444a31e69c94cc31e724a49431e71c94944208a5a4d25208a19494522b0000a0c0010020c0064d89c5010a0d59110044010000c620c61063083a0721931239c8a074101a0821954e4a46a594565acba494964a6b11844e4a4829a3525a2ba965924a6ba5950200c00e1c00c00e2c84424356020079000088314a31e69c730621a51c73ce39839052cc39e79c628a31e720845029c698731042c81c730e42082164cc39072184103ae720845042089d731042082194ce39082194504ae71c84104229a50000a002070080001b45362718092a346425009007000018a3947352526a94620c422aad450a3106a1a4d62ac69c9392528c1563ce49492dc60e422929b5566b07a194945aabb59492526cb5e65c4a692dc65a734eadc5586bae3da7d662ac35e7dc0b00c05d7000003bb05164738291a042435602007900000c424a31c618634829c618638c31a494628c31c698628c31c618734e31c618638c39c71863cc31e79c638c31c69c73ce31c61873ce39e718638c39e79c738c31e79c73ce39c69873ce39e79c0000a002070080001b45362718092a34642500900700001022a594524a69a494524a29a534524a29a594524a29a594524a29a594524a29a594524a29a594524a29a594524a29a594524a29a594524a29a594524a29a594524a2925841042082184100a0071bc7000f499b05164738291a04243560200a9000080310a39059d84541aa59c83904a4a29354a392721a59452ab9c9392526bb1c558392725a5d65aacb19392528bb5d69a732725b51663adb5e690528cb5e6da73d021a5166bcd35e7dc4b6bb1e69c730f3e98d862adbdf79e7b5031d65c83ee4108a162ac39e71c840fbe000093080700c4051b564738291a0b2c3464150010030030040041289a010080090e00000156b02bb3b46aa3b8a993bce883c02774c46664c8a554cce444d02335d46225d8a115dce00560a1212b0100320000046accb5c75823c49883545a2e15520a4a89bd544a2907a1e59a29859472964bc798628c51ac2574481904ad84d0298588a2965a2ba143c849ca31c6d629060000802000c04084cc04020550602003000e1012a40080c20243c7701110904bc82830281c13ce49a70d004010223344226231484ca8068a8ae900607181211f00323436d22e2ea0cb00177471d781108210842016075040020e4eb8e189373ce10627e814953a0800000000000400780000483680888868e6383a3c3e40424446484a4c4e5002000000000008003e000092142022229a398e0e8f0f9010911192129313940000000000000000002020200000000000100000002020 >)\nMissing decoder: VP9 (video/x-vp9, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, interlace-mode=(string)progressive, colorimetry=(string)bt709)\n"))
Edited by Chris Dawson