Skip to content

Commit

Permalink
MT#55283 test-transcode -> dynamic monologues
Browse files Browse the repository at this point in the history
Change-Id: I3d65889d2f7cb2d08336886333b194138cf202b2
  • Loading branch information
rfuchs committed Aug 18, 2023
1 parent d9131bf commit 410e9d4
Showing 1 changed file with 30 additions and 29 deletions.
59 changes: 30 additions & 29 deletions t/test-transcode.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ static struct call call;
static struct sdp_ng_flags flags;
static struct call_media *media_A;
static struct call_media *media_B;
struct call_monologue ml_A;
struct call_monologue ml_B;
struct call_monologue *ml_A;
struct call_monologue *ml_B;
struct stream_params rtp_types_sp;

#define start() __start(__FILE__, __LINE__)
Expand All @@ -59,8 +59,7 @@ static void __cleanup(void) {
g_queue_clear_full(&flags.codec_accept, free);
g_queue_clear_full(&flags.codec_consume, free);
g_queue_clear_full(&flags.codec_mask, free);
free_ssrc_hash(&ml_A.ssrc_hash);
free_ssrc_hash(&ml_B.ssrc_hash);
g_queue_clear(&call.monologues);

codec_store_cleanup(&rtp_types_sp.codecs);
memset(&flags, 0, sizeof(flags));
Expand All @@ -71,8 +70,6 @@ static void __init(void) {
rtp_types_sp.rtp_endpoint.port = 9;
flags.codec_except = g_hash_table_new_full(str_case_hash, str_case_equal, free, NULL);
flags.codec_set = g_hash_table_new_full(str_case_hash, str_case_equal, free, free);
ml_A.ssrc_hash = create_ssrc_hash_call();
ml_B.ssrc_hash = create_ssrc_hash_call();
}
static struct packet_stream *ps_new(struct call *c) {
struct packet_stream *ps = malloc(sizeof(*ps));
Expand All @@ -92,17 +89,17 @@ static void __start(const char *file, int line) {
call.tags = g_hash_table_new(g_str_hash, g_str_equal);
str_init(&call.callid, "test-call");
bencode_buffer_init(&call.buffer);
ml_A = __monologue_create(&call);
ml_B = __monologue_create(&call);
media_A = call_media_new(&call); // originator
media_B = call_media_new(&call); // output destination
g_queue_push_tail(&media_A->streams, ps_new(&call));
g_queue_push_tail(&media_B->streams, ps_new(&call));
ZERO(ml_A);
ZERO(ml_B);
str_init(&ml_A.tag, "tag_A");
media_A->monologue = &ml_A;
str_init(&ml_A->tag, "tag_A");
media_A->monologue = ml_A;
media_A->protocol = &transport_protocols[PROTO_RTP_AVP];
str_init(&ml_B.tag, "tag_B");
media_B->monologue = &ml_B;
str_init(&ml_B->tag, "tag_B");
media_B->monologue = ml_B;
media_B->protocol = &transport_protocols[PROTO_RTP_AVP];
__init();
}
Expand Down Expand Up @@ -378,6 +375,10 @@ static void end(void) {
bencode_buffer_free(&call.buffer);
g_hash_table_destroy(call.tags);
g_queue_clear(&call.medias);
if (ml_A)
__monologue_free(ml_A);
if (ml_B)
__monologue_free(ml_B);
__cleanup();
printf("\n");
}
Expand Down Expand Up @@ -957,17 +958,17 @@ int main(void) {
packet_seq_exp(A, 8, PCMA_payload, 1000960, 212, 8, PCMA_payload, 5); // DTMF packets appear lost
packet_seq(A, 8, PCMA_payload, 1001120, 213, 8, PCMA_payload);
// media blocking
ml_A.block_media = 1;
ml_A->block_media = 1;
packet_seq_exp(A, 8, PCMA_payload, 1001280, 214, -1, "", 0);
packet_seq_exp(A, 8, PCMA_payload, 1001440, 215, -1, "", 0);
ml_A.block_media = 0;
ml_A->block_media = 0;
packet_seq_exp(A, 8, PCMA_payload, 1001600, 216, 8, PCMA_payload, 3); // media packets appear lost
call.block_media = 1;
packet_seq_exp(A, 8, PCMA_payload, 1001760, 217, -1, "", 0);
packet_seq_exp(A, 8, PCMA_payload, 1001920, 218, -1, "", 0);
call.block_media = 0;
packet_seq_exp(A, 8, PCMA_payload, 1002080, 219, 8, PCMA_payload, 3); // media packets appear lost
ml_B.block_media = 1;
ml_B->block_media = 1;
packet_seq(A, 8, PCMA_payload, 1002240, 220, 8, PCMA_payload);
end();

Expand Down Expand Up @@ -1022,17 +1023,17 @@ int main(void) {
packet_seq_exp(A, 8, PCMA_payload, 1000960, 212, 0, PCMU_payload, 5); // DTMF packets appear lost
packet_seq(A, 8, PCMA_payload, 1001120, 213, 0, PCMU_payload);
// media blocking
ml_A.block_media = 1;
ml_A->block_media = 1;
packet_seq_exp(A, 8, PCMA_payload, 1001280, 214, -1, "", 0);
packet_seq_exp(A, 8, PCMA_payload, 1001440, 215, -1, "", 0);
ml_A.block_media = 0;
ml_A->block_media = 0;
packet_seq_exp(A, 8, PCMA_payload, 1001600, 214, 0, PCMU_payload, 1); // cheat with the seq here - 216 would get held by the jitter buffer
call.block_media = 1;
packet_seq_exp(A, 8, PCMA_payload, 1001760, 215, -1, "", 0);
packet_seq_exp(A, 8, PCMA_payload, 1001920, 216, -1, "", 0);
call.block_media = 0;
packet_seq_exp(A, 8, PCMA_payload, 1002080, 215, 0, PCMU_payload, 1);
ml_B.block_media = 1;
ml_B->block_media = 1;
packet_seq_exp(A, 8, PCMA_payload, 1002240, 216, 0, PCMU_payload, 1);
end();

Expand Down Expand Up @@ -1086,17 +1087,17 @@ int main(void) {
packet_seq_exp(A, 0, PCMU_payload, 1000960, 212, 0, PCMU_payload, 5); // DTMF packets appear lost
packet_seq(A, 0, PCMU_payload, 1001120, 213, 0, PCMU_payload);
// media blocking
ml_A.block_media = 1;
ml_A->block_media = 1;
packet_seq_exp(A, 0, PCMU_payload, 1001280, 214, -1, "", 0);
packet_seq_exp(A, 0, PCMU_payload, 1001440, 215, -1, "", 0);
ml_A.block_media = 0;
ml_A->block_media = 0;
packet_seq_exp(A, 0, PCMU_payload, 1001600, 216, 0, PCMU_payload, 3); // media packets appear lost
call.block_media = 1;
packet_seq_exp(A, 0, PCMU_payload, 1001760, 217, -1, "", 0);
packet_seq_exp(A, 0, PCMU_payload, 1001920, 218, -1, "", 0);
call.block_media = 0;
packet_seq_exp(A, 0, PCMU_payload, 1002080, 219, 0, PCMU_payload, 3); // media packets appear lost
ml_B.block_media = 1;
ml_B->block_media = 1;
packet_seq(A, 0, PCMU_payload, 1002240, 220, 0, PCMU_payload);
end();

Expand Down Expand Up @@ -1595,22 +1596,22 @@ int main(void) {
packet_seq(B, 8, PCMA_payload, 640, 4, 8, PCMA_payload);
packet_seq(A, 8, PCMA_payload, 800, 5, 8, PCMA_payload);
packet_seq(B, 8, PCMA_payload, 800, 5, 8, PCMA_payload);
ml_A.silence_media = 1;
ml_A->silence_media = 1;
packet_seq(A, 8, PCMA_payload, 960, 6, 8, PCMA_silence);
packet_seq(B, 8, PCMA_payload, 960, 6, 8, PCMA_payload);
packet_seq(A, 8, PCMA_payload, 1120, 7, 8, PCMA_silence);
packet_seq(B, 8, PCMA_payload, 1120, 7, 8, PCMA_payload);
ml_A.silence_media = 0;
ml_A->silence_media = 0;
packet_seq(A, 8, PCMA_payload, 1280, 8, 8, PCMA_payload);
packet_seq(B, 8, PCMA_payload, 1280, 8, 8, PCMA_payload);
packet_seq(A, 8, PCMA_payload, 1440, 9, 8, PCMA_payload);
packet_seq(B, 8, PCMA_payload, 1440, 9, 8, PCMA_payload);
ml_B.silence_media = 1;
ml_B->silence_media = 1;
packet_seq(A, 8, PCMA_payload, 1600, 10, 8, PCMA_payload);
packet_seq(B, 8, PCMA_payload, 1600, 10, 8, PCMA_silence);
packet_seq(A, 8, PCMA_payload, 1760, 11, 8, PCMA_payload);
packet_seq(B, 8, PCMA_payload, 1760, 11, 8, PCMA_silence);
ml_B.silence_media = 0;
ml_B->silence_media = 0;
packet_seq(A, 8, PCMA_payload, 1920, 12, 8, PCMA_payload);
packet_seq(B, 8, PCMA_payload, 1920, 12, 8, PCMA_payload);
packet_seq(A, 8, PCMA_payload, 2080, 13, 8, PCMA_payload);
Expand Down Expand Up @@ -1641,22 +1642,22 @@ int main(void) {
packet_seq(B, 0, PCMU_payload, 640, 4, 0, PCMU_payload);
packet_seq(A, 0, PCMU_payload, 800, 5, 0, PCMU_payload);
packet_seq(B, 0, PCMU_payload, 800, 5, 0, PCMU_payload);
ml_A.silence_media = 1;
ml_A->silence_media = 1;
packet_seq(A, 0, PCMU_payload, 960, 6, 0, PCMU_silence);
packet_seq(B, 0, PCMU_payload, 960, 6, 0, PCMU_payload);
packet_seq(A, 0, PCMU_payload, 1120, 7, 0, PCMU_silence);
packet_seq(B, 0, PCMU_payload, 1120, 7, 0, PCMU_payload);
ml_A.silence_media = 0;
ml_A->silence_media = 0;
packet_seq(A, 0, PCMU_payload, 1280, 8, 0, PCMU_payload);
packet_seq(B, 0, PCMU_payload, 1280, 8, 0, PCMU_payload);
packet_seq(A, 0, PCMU_payload, 1440, 9, 0, PCMU_payload);
packet_seq(B, 0, PCMU_payload, 1440, 9, 0, PCMU_payload);
ml_B.silence_media = 1;
ml_B->silence_media = 1;
packet_seq(A, 0, PCMU_payload, 1600, 10, 0, PCMU_payload);
packet_seq(B, 0, PCMU_payload, 1600, 10, 0, PCMU_silence);
packet_seq(A, 0, PCMU_payload, 1760, 11, 0, PCMU_payload);
packet_seq(B, 0, PCMU_payload, 1760, 11, 0, PCMU_silence);
ml_B.silence_media = 0;
ml_B->silence_media = 0;
packet_seq(A, 0, PCMU_payload, 1920, 12, 0, PCMU_payload);
packet_seq(B, 0, PCMU_payload, 1920, 12, 0, PCMU_payload);
packet_seq(A, 0, PCMU_payload, 2080, 13, 0, PCMU_payload);
Expand Down

0 comments on commit 410e9d4

Please sign in to comment.