|
|
|
@ -77,7 +77,7 @@ static void queue_dump(GString *s, GQueue *q) { |
|
|
|
g_string_free(s, TRUE); \ |
|
|
|
} |
|
|
|
|
|
|
|
#define packet_seq(side, pt_in, pload, pt_out, pload_exp, rtp_ts, rtp_seq) { \ |
|
|
|
#define packet_seq(side, pt_in, pload, rtp_ts, rtp_seq, pt_out, pload_exp) { \ |
|
|
|
printf("running test %s:%i\n", __FILE__, __LINE__); \ |
|
|
|
struct codec_handler *h = codec_handler_get(media_ ## side, pt_in); \ |
|
|
|
str pl = STR_CONST_INIT(pload); \ |
|
|
|
@ -142,7 +142,7 @@ static void queue_dump(GString *s, GQueue *q) { |
|
|
|
} |
|
|
|
|
|
|
|
#define packet(side, pt_in, pload, pt_out, pload_exp) \ |
|
|
|
packet_seq(side, pt_in, pload, pt_out, pload_exp, 0, 0) |
|
|
|
packet_seq(side, pt_in, pload, 0, 0, pt_out, pload_exp) |
|
|
|
|
|
|
|
#define end() } /* free/cleanup should go here */ |
|
|
|
|
|
|
|
@ -302,10 +302,10 @@ int main() { |
|
|
|
expect(A, send, "0/PCMU/8000"); |
|
|
|
expect(B, recv, "0/PCMU/8000 96/AMR-WB/16000/octet-align=1"); |
|
|
|
expect(B, send, "96/AMR-WB/16000/octet-align=1"); |
|
|
|
packet_seq(A, 0, PCMU_payload, -1, "", 0, 0); // nothing due to resampling buffer |
|
|
|
packet_seq(A, 0, PCMU_payload, 96, AMR_WB_payload, 160, 1); |
|
|
|
packet_seq(B, 96, AMR_WB_payload, -1, "", 0, 0); // nothing due to resampling/decoding buffer |
|
|
|
packet_seq(B, 96, AMR_WB_payload, 0, PCMU_payload_AMR, 320, 1); |
|
|
|
packet_seq(A, 0, PCMU_payload, 0, 0, -1, ""); // nothing due to resampling buffer |
|
|
|
packet_seq(A, 0, PCMU_payload, 160, 1, 96, AMR_WB_payload); |
|
|
|
packet_seq(B, 96, AMR_WB_payload, 0, 0, -1, ""); // nothing due to resampling/decoding buffer |
|
|
|
packet_seq(B, 96, AMR_WB_payload, 320, 1, 0, PCMU_payload_AMR); |
|
|
|
end(); |
|
|
|
|
|
|
|
// reverse AMR-WB (octet aligned) |
|
|
|
@ -323,10 +323,10 @@ int main() { |
|
|
|
expect(A, send, "96/AMR-WB/16000/octet-align=1"); |
|
|
|
expect(B, recv, "96/AMR-WB/16000/octet-align=1 0/PCMU/8000"); |
|
|
|
expect(B, send, "0/PCMU/8000"); |
|
|
|
packet_seq(B, 0, PCMU_payload, -1, "", 0, 0); // nothing due to resampling buffer |
|
|
|
packet_seq(B, 0, PCMU_payload, 96, AMR_WB_payload, 160, 1); |
|
|
|
packet_seq(A, 96, AMR_WB_payload, -1, "", 0, 0); // nothing due to resampling/decoding buffer |
|
|
|
packet_seq(A, 96, AMR_WB_payload, 0, PCMU_payload_AMR, 320, 1); |
|
|
|
packet_seq(B, 0, PCMU_payload, 0, 0, -1, ""); // nothing due to resampling buffer |
|
|
|
packet_seq(B, 0, PCMU_payload, 160, 1, 96, AMR_WB_payload); |
|
|
|
packet_seq(A, 96, AMR_WB_payload, 0, 0, -1, ""); // nothing due to resampling/decoding buffer |
|
|
|
packet_seq(A, 96, AMR_WB_payload, 320, 1, 0, PCMU_payload_AMR); |
|
|
|
end(); |
|
|
|
|
|
|
|
// reverse AMR-WB (bandwidth efficient) |
|
|
|
@ -344,10 +344,10 @@ int main() { |
|
|
|
expect(A, send, "96/AMR-WB/16000"); |
|
|
|
expect(B, recv, "96/AMR-WB/16000 0/PCMU/8000"); |
|
|
|
expect(B, send, "0/PCMU/8000"); |
|
|
|
packet_seq(B, 0, PCMU_payload, -1, "", 0, 0); // nothing due to resampling buffer |
|
|
|
packet_seq(B, 0, PCMU_payload, 96, AMR_WB_payload_noe, 160, 1); |
|
|
|
packet_seq(A, 96, AMR_WB_payload_noe, -1, "", 0, 0); // nothing due to resampling/decoding buffer |
|
|
|
packet_seq(A, 96, AMR_WB_payload_noe, 0, PCMU_payload_AMR, 320, 1); |
|
|
|
packet_seq(B, 0, PCMU_payload, 0, 0, -1, ""); // nothing due to resampling buffer |
|
|
|
packet_seq(B, 0, PCMU_payload, 160, 1, 96, AMR_WB_payload_noe); |
|
|
|
packet_seq(A, 96, AMR_WB_payload_noe, 0, 0, -1, ""); // nothing due to resampling/decoding buffer |
|
|
|
packet_seq(A, 96, AMR_WB_payload_noe, 320, 1, 0, PCMU_payload_AMR); |
|
|
|
end(); |
|
|
|
} |
|
|
|
} |
|
|
|
|