1+ from pathlib import Path
12from typing import Any
23
34from torch import Tensor
@@ -16,7 +17,7 @@ def __init__(self, encoder_tensor: Tensor, stream_index: int):
1617 self ._encoder_tensor = encoder_tensor
1718 self ._stream_index = stream_index
1819
19- def write (self , frames : Tensor ) -> None :
20+ def add_frames (self , frames : Tensor ) -> None :
2021 _core .streaming_encoder_add_frames (
2122 self ._encoder_tensor , frames , self ._stream_index
2223 )
@@ -27,13 +28,13 @@ def __init__(self, encoder_tensor: Tensor, stream_index: int):
2728 self ._encoder_tensor = encoder_tensor
2829 self ._stream_index = stream_index
2930
30- def write (self , samples : Tensor ) -> None :
31+ def add_samples (self , samples : Tensor ) -> None :
3132 _core .streaming_encoder_add_samples (
3233 self ._encoder_tensor , samples , self ._stream_index
3334 )
3435
3536
36- class StreamingEncoder :
37+ class Encoder :
3738 def __init__ (self ):
3839 self ._encoder_tensor = _core .create_streaming_encoder ()
3940
@@ -73,33 +74,31 @@ def add_audio(
7374 sample_rate : int ,
7475 num_channels : int ,
7576 bit_rate : int | None = None ,
76- # TODO MultiStreamEncoder: Decide on public API for 'output' params
77- output_num_channels : int | None = None ,
78- output_sample_rate : int | None = None ,
77+ out_num_channels : int | None = None ,
78+ out_sample_rate : int | None = None ,
7979 ) -> _AudioStream :
8080 stream_index = _core .streaming_encoder_add_audio_stream (
8181 self ._encoder_tensor ,
8282 sample_rate = sample_rate ,
8383 num_channels = num_channels ,
8484 bit_rate = bit_rate ,
85- output_num_channels = output_num_channels ,
86- output_sample_rate = output_sample_rate ,
85+ output_num_channels = out_num_channels ,
86+ output_sample_rate = out_sample_rate ,
8787 )
8888 return _AudioStream (self ._encoder_tensor , stream_index )
8989
90- # TODO MultiStreamEncoder: Maybe there should 2 separate methods, one for
91- # file, one for file-like.
92- def open (self , dest , * , format : str | None = None ) -> "StreamingEncoder" :
93- if format is not None :
94- _core .streaming_encoder_open_file_like (self ._encoder_tensor , format , dest )
95- else :
96- _core .streaming_encoder_open_file (self ._encoder_tensor , str (dest ))
90+ def open_file (self , dest : str | Path ) -> "Encoder" :
91+ _core .streaming_encoder_open_file (self ._encoder_tensor , str (dest ))
92+ return self
93+
94+ def open_file_like (self , dest , * , format : str ) -> "Encoder" :
95+ _core .streaming_encoder_open_file_like (self ._encoder_tensor , format , dest )
9796 return self
9897
9998 def close (self ) -> None :
10099 _core .streaming_encoder_close (self ._encoder_tensor )
101100
102- def __enter__ (self ) -> "StreamingEncoder " :
101+ def __enter__ (self ) -> "Encoder " :
103102 return self
104103
105104 def __exit__ (self , exc_type , exc_val , exc_tb ) -> None :
0 commit comments