1- from typing import Any , Dict , List , Mapping , Optional
21import uuid
2+ from typing import Any , Dict , List , Mapping , Optional
33
44from grpclib .client import Channel
5-
6- from viam .proto .component .audioin import GetAudioRequest , GetAudioResponse
7- from viam .proto .common import (
8- DoCommandRequest ,
9- DoCommandResponse ,
10- GetPropertiesRequest ,
11- Geometry )
125from grpclib .client import Stream as ClientStream
13- from viam .proto .component .audioin import AudioInServiceStub
6+
7+ from viam .proto .common import DoCommandRequest , DoCommandResponse , Geometry , GetPropertiesRequest
8+ from viam .proto .component .audioin import AudioInServiceStub , GetAudioRequest , GetAudioResponse
149from viam .resource .rpc_client_base import ReconfigurableResourceRPCClientBase
1510from viam .streams import StreamWithIterator
11+ from viam .utils import ValueTypes , dict_to_struct , get_geometries , struct_to_dict
1612
1713from .audio_in import AudioIn
18- from viam .utils import ValueTypes , dict_to_struct , get_geometries , struct_to_dict
1914
2015
2116class AudioInClient (AudioIn , ReconfigurableResourceRPCClientBase ):
22-
2317 def __init__ (self , name : str , channel : Channel ) -> None :
2418 self .channel = channel
2519 self .client = AudioInServiceStub (channel )
2620 super ().__init__ (name )
2721
22+ async def get_audio (
23+ self ,
24+ codec : str ,
25+ duration_seconds : float ,
26+ previous_timestamp_ns : int ,
27+ * ,
28+ extra : Optional [Dict [str , Any ]] = None ,
29+ ** kwargs ,
30+ ):
31+ request = GetAudioRequest (
32+ name = self .name ,
33+ codec = codec ,
34+ duration_seconds = duration_seconds ,
35+ previous_timestamp_nanoseconds = previous_timestamp_ns ,
36+ request_id = str (uuid .uuid4 ()),
37+ extra = dict_to_struct (extra ),
38+ )
2839
29- async def get_audio (self ,
30- codec :str ,
31- duration_seconds : float ,
32- previous_timestamp_ns :int ,
33- * ,
34- extra : Optional [Dict [str , Any ]] = None ,
35- ** kwargs ,
36- ):
37- request = GetAudioRequest (name = self .name , codec = codec ,
38- duration_seconds = duration_seconds ,
39- previous_timestamp_nanoseconds = previous_timestamp_ns ,
40- request_id = str (uuid .uuid4 ()),
41- extra = dict_to_struct (extra ))
4240 async def read ():
4341 md = kwargs .get ("metadata" , self .Metadata ()).proto
4442 audio_stream : ClientStream [GetAudioRequest , GetAudioResponse ]
@@ -52,7 +50,6 @@ async def read():
5250
5351 return StreamWithIterator (read ())
5452
55-
5653 async def get_properties (
5754 self ,
5855 * ,
0 commit comments