alsa-compress-offload-sink: major sink rework

* Add support for running the sink as a driver
* Detect which compressed formats are actually supported
* Correctly open/close/start/stop device according to the node commands
* Shift away from tinycompress and use Compress-Offload ioctls directly
  to be able to access various caps information (including fragment sizes)
  which are unavailable in the tinycompress API
* Implement SPA_PARAM_PropInfo and SPA_PARAM_Props support
This commit is contained in:
Carlos Rafael Giani 2023-02-11 20:52:06 +01:00
parent f03c606ad9
commit 031f992981
6 changed files with 1941 additions and 695 deletions

View file

@ -14,9 +14,8 @@ spa_alsa_sources = ['alsa.c',
'alsa-seq-bridge.c',
'alsa-seq.c']
if tinycompress_dep.found()
spa_alsa_sources += [ 'alsa-compress-offload-sink.c' ]
spa_alsa_dependencies += tinycompress_dep
if compress_offload_option.allowed()
spa_alsa_sources += [ 'alsa-compress-offload-sink.c', 'compress-offload-api.c' ]
endif
spa_alsa = shared_library(