88
99import pytest
1010
11- from helper import get_codec , get_inbound_rtp , get_outbound_rtp , get_simulcast_outbound_rtp , get_transport
11+ from helper import (
12+ get_codec ,
13+ get_inbound_rtp ,
14+ get_outbound_rtp ,
15+ get_simulcast_outbound_rtp ,
16+ get_transport ,
17+ )
1218from sumomo import Sumomo
1319
14-
1520# Apple Video Toolbox 環境が有効でない場合はスキップ
1621pytestmark = pytest .mark .skipif (
1722 not os .environ .get ("APPLE_VIDEO_TOOLBOX" ),
@@ -56,9 +61,9 @@ def test_sendonly_recvonly(
5661 role = "sendonly" ,
5762 metadata = sora_settings .metadata ,
5863 http_port = next (port_allocator ),
64+ audio = False ,
5965 video = True ,
6066 video_codec_type = video_codec_type ,
61- audio = True ,
6267 initial_wait = 10 ,
6368 ** encoder_params ,
6469 ) as sender :
@@ -69,8 +74,6 @@ def test_sendonly_recvonly(
6974 role = "recvonly" ,
7075 metadata = sora_settings .metadata ,
7176 http_port = next (port_allocator ),
72- video = True ,
73- audio = True ,
7477 ** decoder_params ,
7578 ) as receiver :
7679 time .sleep (3 )
@@ -84,11 +87,6 @@ def test_sendonly_recvonly(
8487 assert sender_video_codec is not None
8588 assert sender_video_codec ["mimeType" ] == expected_mime_type
8689
87- # audio codec を確認
88- sender_audio_codec = get_codec (sender_stats , "audio/opus" )
89- assert sender_audio_codec is not None
90- assert sender_audio_codec ["mimeType" ] == "audio/opus"
91-
9290 # video outbound-rtp を確認
9391 sender_video_outbound = get_outbound_rtp (sender_stats , "video" )
9492 assert sender_video_outbound is not None
@@ -97,12 +95,6 @@ def test_sendonly_recvonly(
9795 assert "encoderImplementation" in sender_video_outbound
9896 assert sender_video_outbound ["encoderImplementation" ] == "VideoToolbox"
9997
100- # audio outbound-rtp を確認
101- sender_audio_outbound = get_outbound_rtp (sender_stats , "audio" )
102- assert sender_audio_outbound is not None
103- assert sender_audio_outbound ["packetsSent" ] > 0
104- assert sender_audio_outbound ["bytesSent" ] > 0
105-
10698 # 受信側の統計を確認
10799 receiver_stats = receiver .get_stats ()
108100 assert receiver_stats is not None
@@ -112,11 +104,6 @@ def test_sendonly_recvonly(
112104 assert receiver_video_codec is not None
113105 assert receiver_video_codec ["mimeType" ] == expected_mime_type
114106
115- # audio codec を確認
116- receiver_audio_codec = get_codec (receiver_stats , "audio/opus" )
117- assert receiver_audio_codec is not None
118- assert receiver_audio_codec ["mimeType" ] == "audio/opus"
119-
120107 # video inbound-rtp を確認
121108 receiver_video_inbound = get_inbound_rtp (receiver_stats , "video" )
122109 assert receiver_video_inbound is not None
@@ -125,12 +112,6 @@ def test_sendonly_recvonly(
125112 assert "decoderImplementation" in receiver_video_inbound
126113 assert receiver_video_inbound ["decoderImplementation" ] == "VideoToolbox"
127114
128- # audio inbound-rtp を確認
129- receiver_audio_inbound = get_inbound_rtp (receiver_stats , "audio" )
130- assert receiver_audio_inbound is not None
131- assert receiver_audio_inbound ["packetsReceived" ] > 0
132- assert receiver_audio_inbound ["bytesReceived" ] > 0
133-
134115
135116@pytest .mark .parametrize (
136117 "video_codec_type" ,
@@ -172,9 +153,9 @@ def test_sendrecv(
172153 role = "sendrecv" ,
173154 metadata = sora_settings .metadata ,
174155 http_port = next (port_allocator ),
156+ audio = False ,
175157 video = True ,
176158 video_codec_type = video_codec_type ,
177- audio = True ,
178159 initial_wait = 10 ,
179160 ** codec_params ,
180161 ) as client1 :
@@ -185,9 +166,9 @@ def test_sendrecv(
185166 role = "sendrecv" ,
186167 metadata = sora_settings .metadata ,
187168 http_port = next (port_allocator ),
169+ audio = False ,
188170 video = True ,
189171 video_codec_type = video_codec_type ,
190- audio = True ,
191172 initial_wait = 10 ,
192173 ** codec_params ,
193174 ) as client2 :
@@ -202,11 +183,6 @@ def test_sendrecv(
202183 assert client1_video_codec is not None
203184 assert client1_video_codec ["mimeType" ] == expected_mime_type
204185
205- # audio codec を確認
206- client1_audio_codec = get_codec (client1_stats , "audio/opus" )
207- assert client1_audio_codec is not None
208- assert client1_audio_codec ["mimeType" ] == "audio/opus"
209-
210186 # video outbound-rtp を確認
211187 client1_video_outbound = get_outbound_rtp (client1_stats , "video" )
212188 assert client1_video_outbound is not None
@@ -229,12 +205,6 @@ def test_sendrecv(
229205 assert "decoderImplementation" in client1_video_inbound
230206 assert client1_video_inbound ["decoderImplementation" ] == "VideoToolbox"
231207
232- # audio inbound-rtp を確認
233- client1_audio_inbound = get_inbound_rtp (client1_stats , "audio" )
234- assert client1_audio_inbound is not None
235- assert client1_audio_inbound ["packetsReceived" ] > 0
236- assert client1_audio_inbound ["bytesReceived" ] > 0
237-
238208 # クライアント 2 の統計を確認
239209 client2_stats = client2 .get_stats ()
240210 assert client2_stats is not None
@@ -244,11 +214,6 @@ def test_sendrecv(
244214 assert client2_video_codec is not None
245215 assert client2_video_codec ["mimeType" ] == expected_mime_type
246216
247- # audio codec を確認
248- client2_audio_codec = get_codec (client2_stats , "audio/opus" )
249- assert client2_audio_codec is not None
250- assert client2_audio_codec ["mimeType" ] == "audio/opus"
251-
252217 # video outbound-rtp を確認
253218 client2_video_outbound = get_outbound_rtp (client2_stats , "video" )
254219 assert client2_video_outbound is not None
@@ -257,12 +222,6 @@ def test_sendrecv(
257222 assert "encoderImplementation" in client2_video_outbound
258223 assert client2_video_outbound ["encoderImplementation" ] == "VideoToolbox"
259224
260- # audio outbound-rtp を確認
261- client2_audio_outbound = get_outbound_rtp (client2_stats , "audio" )
262- assert client2_audio_outbound is not None
263- assert client2_audio_outbound ["packetsSent" ] > 0
264- assert client2_audio_outbound ["bytesSent" ] > 0
265-
266225 # video inbound-rtp を確認
267226 client2_video_inbound = get_inbound_rtp (client2_stats , "video" )
268227 assert client2_video_inbound is not None
@@ -271,12 +230,6 @@ def test_sendrecv(
271230 assert "decoderImplementation" in client2_video_inbound
272231 assert client2_video_inbound ["decoderImplementation" ] == "VideoToolbox"
273232
274- # audio inbound-rtp を確認
275- client2_audio_inbound = get_inbound_rtp (client2_stats , "audio" )
276- assert client2_audio_inbound is not None
277- assert client2_audio_inbound ["packetsReceived" ] > 0
278- assert client2_audio_inbound ["bytesReceived" ] > 0
279-
280233
281234@pytest .mark .parametrize (
282235 "video_codec_type" ,
@@ -300,7 +253,7 @@ def test_simulcast(sora_settings, free_port, video_codec_type):
300253 role = "sendonly" ,
301254 metadata = sora_settings .metadata ,
302255 http_port = free_port ,
303- audio = True ,
256+ audio = False ,
304257 video = True ,
305258 video_codec_type = video_codec_type ,
306259 simulcast = True ,
@@ -329,23 +282,12 @@ def test_simulcast(sora_settings, free_port, video_codec_type):
329282 for expected_type in expected_types :
330283 assert expected_type in stat_types
331284
332- # audio codec を確認
333- audio_codec = get_codec (stats , "audio/opus" )
334- assert audio_codec is not None
335- assert audio_codec ["clockRate" ] == 48000
336-
337285 # video codec を確認
338286 expected_mime_type = f"video/{ video_codec_type } "
339287 video_codec = get_codec (stats , expected_mime_type )
340288 assert video_codec is not None
341289 assert video_codec ["clockRate" ] == 90000
342290
343- # audio の outbound-rtp を確認
344- audio_outbound = get_outbound_rtp (stats , "audio" )
345- assert audio_outbound is not None
346- assert audio_outbound ["packetsSent" ] > 0
347- assert audio_outbound ["bytesSent" ] > 0
348-
349291 # simulcast では video の outbound-rtp が 3 つ存在することを確認
350292 video_outbound_rtp_by_rid = get_simulcast_outbound_rtp (stats , "video" )
351293 assert len (video_outbound_rtp_by_rid ) == 3
0 commit comments