Add FFmpegOpusAudio and other voice improvements
Rework FFmpeg player and add FFmpegOpusAudio I have extracted some of the base FFmpeg source code into its own base class and reimplemented the PCM and the new Opus variants. Support avconv probing Also fix a few things Update `__all__` Fix the bugs Rework probe functions and add factory function Probing involves subprocess so it has been reworked into an async factory function. Add docs + a few tweaks * Removed unnecessary read() and is_opus() functions from FFmpegAudio * Clear self._stdout in cleanup() * Add 20 second process communication timeout to probe functions * Capped probe function bitrate values at 512 Change AudioPlayer to use more accurate, monotonic time.perf_counter() Add lazy opus loading The library now no longer loads libopus on import, only on opus.Encoder creation or manually. Fix review nits
This commit is contained in:
		@@ -60,9 +60,15 @@ Voice
 | 
			
		||||
.. autoclass:: PCMAudio
 | 
			
		||||
    :members:
 | 
			
		||||
 | 
			
		||||
.. autoclass:: FFmpegAudio
 | 
			
		||||
    :members:
 | 
			
		||||
 | 
			
		||||
.. autoclass:: FFmpegPCMAudio
 | 
			
		||||
    :members:
 | 
			
		||||
 | 
			
		||||
.. autoclass:: FFmpegOpusAudio
 | 
			
		||||
    :members:
 | 
			
		||||
 | 
			
		||||
.. autoclass:: PCMVolumeTransformer
 | 
			
		||||
    :members:
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user