Emit deterministic Muninn feedback fixture
This commit is contained in:
parent
2f0e0bdfcb
commit
4be2615cd1
2 changed files with 31 additions and 4 deletions
|
|
@ -176,7 +176,8 @@ inline std::vector<uint8_t> encode_receiver_feedback_payload(
|
|||
const std::string &stream_id,
|
||||
const std::string &session_id,
|
||||
uint64_t frame_id,
|
||||
const std::vector<std::string> &missing_chunk_keys)
|
||||
const std::vector<std::string> &missing_chunk_keys,
|
||||
const std::string &observed_at)
|
||||
{
|
||||
MsgpackWriter record;
|
||||
record.write_array_len(11);
|
||||
|
|
@ -193,7 +194,7 @@ inline std::vector<uint8_t> encode_receiver_feedback_payload(
|
|||
record.write_bool(true);
|
||||
record.write_i64(0);
|
||||
record.write_i64(0);
|
||||
record.write_string(feedback_observed_at());
|
||||
record.write_string(observed_at);
|
||||
write_string_array(record, missing_chunk_keys);
|
||||
|
||||
const std::string record_key = stream_id + ":" + session_id + ":feedback:starfire.obs";
|
||||
|
|
@ -207,7 +208,7 @@ inline std::vector<uint8_t> encode_receiver_feedback_payload(
|
|||
document.write_string("recordKey");
|
||||
document.write_string(record_key);
|
||||
document.write_string("storedAt");
|
||||
document.write_string(feedback_observed_at());
|
||||
document.write_string(observed_at);
|
||||
document.write_string("payloadEncoding");
|
||||
document.write_string("messagepack");
|
||||
document.write_string("payload");
|
||||
|
|
@ -232,4 +233,18 @@ inline std::vector<uint8_t> encode_receiver_feedback_payload(
|
|||
return wire.bytes();
|
||||
}
|
||||
|
||||
inline std::vector<uint8_t> encode_receiver_feedback_payload(
|
||||
const std::string &stream_id,
|
||||
const std::string &session_id,
|
||||
uint64_t frame_id,
|
||||
const std::vector<std::string> &missing_chunk_keys)
|
||||
{
|
||||
return encode_receiver_feedback_payload(
|
||||
stream_id,
|
||||
session_id,
|
||||
frame_id,
|
||||
missing_chunk_keys,
|
||||
feedback_observed_at());
|
||||
}
|
||||
|
||||
} // namespace muninn_media_wire
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#include <cstdint>
|
||||
#include <iomanip>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
|
|
@ -368,7 +369,8 @@ int main(int argc, char **argv)
|
|||
{
|
||||
if (argc < 2) {
|
||||
std::cerr << "usage: muninn_media_decoder_probe <wire.bin> [more-wire.bin ...]\n"
|
||||
<< " muninn_media_decoder_probe --feedback-fixture\n";
|
||||
<< " muninn_media_decoder_probe --feedback-fixture\n"
|
||||
<< " muninn_media_decoder_probe --feedback-fixture-hex\n";
|
||||
return 2;
|
||||
}
|
||||
|
||||
|
|
@ -379,6 +381,16 @@ int main(int argc, char **argv)
|
|||
if (std::string(argv[index]) == "--feedback-fixture") {
|
||||
bytes = muninn_media_wire::encode_receiver_feedback_payload(
|
||||
"muninn.raven.av.rudp", "raven:test:video", 42, {"42:1", "42:3"});
|
||||
} else if (std::string(argv[index]) == "--feedback-fixture-hex") {
|
||||
bytes = muninn_media_wire::encode_receiver_feedback_payload(
|
||||
"muninn.raven.av.rudp", "raven:test:video", 42, {"42:1", "42:3"}, "unix-ms:1000");
|
||||
for (const auto byte : bytes) {
|
||||
std::cout << std::hex << std::setw(2) << std::setfill('0')
|
||||
<< static_cast<unsigned>(byte);
|
||||
}
|
||||
std::cout << "\n";
|
||||
decoded_any = true;
|
||||
continue;
|
||||
} else {
|
||||
std::ifstream file(argv[index], std::ios::binary);
|
||||
bytes.assign(std::istreambuf_iterator<char>(file), std::istreambuf_iterator<char>());
|
||||
|
|
|
|||
Loading…
Reference in a new issue