|
|
|
|
@ -4868,7 +4868,7 @@ SDP
|
|
|
|
|
$resp = rtpe_req('play media', 'media playback, offer only', { 'from-tag' => ft(), blob => $wav_file });
|
|
|
|
|
is $resp->{duration}, 100, 'media duration';
|
|
|
|
|
|
|
|
|
|
($seq, $ts, $ssrc) = rcv($sock_a, -1, rtpm(8 | 0x80, -1, -1, -1, $pcma_1));
|
|
|
|
|
(undef, $seq, $ts, $ssrc) = rcv($sock_a, -1, rtpm(8 | 0x80, -1, -1, -1, $pcma_1));
|
|
|
|
|
rcv($sock_a, -1, rtpm(8, $seq + 1, $ts + 160 * 1, $ssrc, $pcma_2));
|
|
|
|
|
rcv($sock_a, -1, rtpm(8, $seq + 2, $ts + 160 * 2, $ssrc, $pcma_3));
|
|
|
|
|
rcv($sock_a, -1, rtpm(8, $seq + 3, $ts + 160 * 3, $ssrc, $pcma_4));
|
|
|
|
|
@ -4923,7 +4923,7 @@ SDP
|
|
|
|
|
$resp = rtpe_req('play media', 'media playback, side A', { 'from-tag' => ft(), blob => $wav_file });
|
|
|
|
|
is $resp->{duration}, 100, 'media duration';
|
|
|
|
|
|
|
|
|
|
($seq, $ts, $ssrc) = rcv($sock_a, -1, rtpm(8 | 0x80, -1, -1, -1, $pcma_1));
|
|
|
|
|
(undef, $seq, $ts, $ssrc) = rcv($sock_a, -1, rtpm(8 | 0x80, -1, -1, -1, $pcma_1));
|
|
|
|
|
rcv($sock_a, -1, rtpm(8, $seq + 1, $ts + 160 * 1, $ssrc, $pcma_2));
|
|
|
|
|
rcv($sock_a, -1, rtpm(8, $seq + 2, $ts + 160 * 2, $ssrc, $pcma_3));
|
|
|
|
|
rcv($sock_a, -1, rtpm(8, $seq + 3, $ts + 160 * 3, $ssrc, $pcma_4));
|
|
|
|
|
@ -4978,7 +4978,7 @@ SDP
|
|
|
|
|
$resp = rtpe_req('play media', 'media playback, side B', { 'from-tag' => tt(), blob => $wav_file });
|
|
|
|
|
is $resp->{duration}, 100, 'media duration';
|
|
|
|
|
|
|
|
|
|
($seq, $ts, $ssrc) = rcv($sock_b, -1, rtpm(8 | 0x80, -1, -1, -1, $pcma_1));
|
|
|
|
|
(undef, $seq, $ts, $ssrc) = rcv($sock_b, -1, rtpm(8 | 0x80, -1, -1, -1, $pcma_1));
|
|
|
|
|
rcv($sock_b, -1, rtpm(8, $seq + 1, $ts + 160 * 1, $ssrc, $pcma_2));
|
|
|
|
|
rcv($sock_b, -1, rtpm(8, $seq + 2, $ts + 160 * 2, $ssrc, $pcma_3));
|
|
|
|
|
rcv($sock_b, -1, rtpm(8, $seq + 3, $ts + 160 * 3, $ssrc, $pcma_4));
|
|
|
|
|
@ -4989,7 +4989,7 @@ is $resp->{duration}, 100, 'media duration';
|
|
|
|
|
|
|
|
|
|
$ts += 160 * 5;
|
|
|
|
|
my $old_ts = $ts;
|
|
|
|
|
($ts) = rcv($sock_b, -1, rtpm(8 | 0x80, $seq + 5, -1, $ssrc, $pcma_1));
|
|
|
|
|
(undef, $ts) = rcv($sock_b, -1, rtpm(8 | 0x80, $seq + 5, -1, $ssrc, $pcma_1));
|
|
|
|
|
print("ts $ts old $old_ts\n");
|
|
|
|
|
SKIP: {
|
|
|
|
|
skip 'random timestamp too close to margin', 2 if $old_ts < 500 or $old_ts > 4294966795;
|
|
|
|
|
@ -5052,7 +5052,7 @@ $resp = rtpe_req('play media', 'media playback, side A, select by label', { labe
|
|
|
|
|
blob => $wav_file });
|
|
|
|
|
is $resp->{duration}, 100, 'media duration';
|
|
|
|
|
|
|
|
|
|
($seq, $ts, $ssrc) = rcv($sock_a, -1, rtpm(8 | 0x80, -1, -1, -1, $pcma_1));
|
|
|
|
|
(undef, $seq, $ts, $ssrc) = rcv($sock_a, -1, rtpm(8 | 0x80, -1, -1, -1, $pcma_1));
|
|
|
|
|
rcv($sock_a, -1, rtpm(8, $seq + 1, $ts + 160 * 1, $ssrc, $pcma_2));
|
|
|
|
|
rcv($sock_a, -1, rtpm(8, $seq + 2, $ts + 160 * 2, $ssrc, $pcma_3));
|
|
|
|
|
rcv($sock_a, -1, rtpm(8, $seq + 3, $ts + 160 * 3, $ssrc, $pcma_4));
|
|
|
|
|
@ -5108,7 +5108,7 @@ SDP
|
|
|
|
|
$resp = rtpe_req('play media', 'media playback, side B, select by label', { label => 'meh', blob => $wav_file });
|
|
|
|
|
is $resp->{duration}, 100, 'media duration';
|
|
|
|
|
|
|
|
|
|
($seq, $ts, $ssrc) = rcv($sock_b, -1, rtpm(8 | 0x80, -1, -1, -1, $pcma_1));
|
|
|
|
|
(undef, $seq, $ts, $ssrc) = rcv($sock_b, -1, rtpm(8 | 0x80, -1, -1, -1, $pcma_1));
|
|
|
|
|
rcv($sock_b, -1, rtpm(8, $seq + 1, $ts + 160 * 1, $ssrc, $pcma_2));
|
|
|
|
|
rcv($sock_b, -1, rtpm(8, $seq + 2, $ts + 160 * 2, $ssrc, $pcma_3));
|
|
|
|
|
rcv($sock_b, -1, rtpm(8, $seq + 3, $ts + 160 * 3, $ssrc, $pcma_4));
|
|
|
|
|
@ -5181,7 +5181,7 @@ my $srtp_ctx = {
|
|
|
|
|
cs => $NGCP::Rtpclient::SRTP::crypto_suites{AES_CM_128_HMAC_SHA1_80},
|
|
|
|
|
key => 'DVM+BTeYX2UI1LaA9bgXrcBEDBxoItA9/39fSoRF',
|
|
|
|
|
};
|
|
|
|
|
($seq, $ts, $ssrc) = srtp_rcv($sock_a, -1, rtpm(8 | 0x80, -1, -1, -1, $pcma_1), $srtp_ctx);
|
|
|
|
|
(undef, $seq, $ts, $ssrc) = srtp_rcv($sock_a, -1, rtpm(8 | 0x80, -1, -1, -1, $pcma_1), $srtp_ctx);
|
|
|
|
|
srtp_rcv($sock_a, -1, rtpm(8, $seq + 1, $ts + 160 * 1, $ssrc, $pcma_2), $srtp_ctx);
|
|
|
|
|
srtp_rcv($sock_a, -1, rtpm(8, $seq + 2, $ts + 160 * 2, $ssrc, $pcma_3), $srtp_ctx);
|
|
|
|
|
srtp_rcv($sock_a, -1, rtpm(8, $seq + 3, $ts + 160 * 3, $ssrc, $pcma_4), $srtp_ctx);
|
|
|
|
|
@ -7129,7 +7129,7 @@ $resp = rtpe_req('play media', 'media playback after delete', { 'from-tag' => tt
|
|
|
|
|
blob => $wav_file });
|
|
|
|
|
is $resp->{duration}, 100, 'media duration';
|
|
|
|
|
|
|
|
|
|
($seq, $ts, $ssrc) = rcv($sock_b, -1, rtpm(8 | 0x80, -1, -1, -1, $pcma_1));
|
|
|
|
|
(undef, $seq, $ts, $ssrc) = rcv($sock_b, -1, rtpm(8 | 0x80, -1, -1, -1, $pcma_1));
|
|
|
|
|
rcv($sock_b, -1, rtpm(8, $seq + 1, $ts + 160 * 1, $ssrc, $pcma_2));
|
|
|
|
|
rcv($sock_b, -1, rtpm(8, $seq + 2, $ts + 160 * 2, $ssrc, $pcma_3));
|
|
|
|
|
rcv($sock_b, -1, rtpm(8, $seq + 3, $ts + 160 * 3, $ssrc, $pcma_4));
|
|
|
|
|
|