|
|
|
|
@ -57,6 +57,8 @@ 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);
|
|
|
|
|
|
|
|
|
|
codec_store_cleanup(&rtp_types_sp.codecs);
|
|
|
|
|
memset(&flags, 0, sizeof(flags));
|
|
|
|
|
@ -66,6 +68,8 @@ static void __init(void) {
|
|
|
|
|
codec_store_init(&rtp_types_sp.codecs, NULL);
|
|
|
|
|
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 void __start(const char *file, int line) {
|
|
|
|
|
printf("running test %s:%i\n", file, line);
|
|
|
|
|
@ -79,11 +83,11 @@ static void __start(const char *file, int line) {
|
|
|
|
|
bencode_buffer_init(&call.buffer);
|
|
|
|
|
media_A = call_media_new(&call); // originator
|
|
|
|
|
media_B = call_media_new(&call); // output destination
|
|
|
|
|
ml_A = (struct call_monologue) { .ssrc_hash = create_ssrc_hash_call(), 0, };
|
|
|
|
|
ZERO(ml_A);
|
|
|
|
|
ZERO(ml_B);
|
|
|
|
|
str_init(&ml_A.tag, "tag_A");
|
|
|
|
|
media_A->monologue = &ml_A;
|
|
|
|
|
media_A->protocol = &transport_protocols[PROTO_RTP_AVP];
|
|
|
|
|
ml_B = (struct call_monologue) { .ssrc_hash = create_ssrc_hash_call(), 0, };
|
|
|
|
|
str_init(&ml_B.tag, "tag_B");
|
|
|
|
|
media_B->monologue = &ml_B;
|
|
|
|
|
media_B->protocol = &transport_protocols[PROTO_RTP_AVP];
|
|
|
|
|
|