1
0
Fork 0
pipewire/spa/plugins/alsa/compress-offload-api-util.c
Daniel Baumann 6b016a712f
Adding upstream version 1.4.2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-22 21:40:42 +02:00

36 lines
1.1 KiB
C

#include <errno.h>
#include <inttypes.h>
#include "compress-offload-api.h"
#include "compress-offload-api-util.h"
int get_compress_offload_device_direction(int card_nr, int device_nr,
struct spa_log *log,
enum spa_compress_offload_direction *direction)
{
int ret = 0;
struct compress_offload_api_context *device_context;
const struct snd_compr_caps *compr_caps;
device_context = compress_offload_api_open(card_nr, device_nr, log);
if (device_context == NULL)
return -errno;
compr_caps = compress_offload_api_get_caps(device_context);
switch (compr_caps->direction) {
case SND_COMPRESS_PLAYBACK:
*direction = SPA_COMPRESS_OFFLOAD_DIRECTION_PLAYBACK;
break;
case SND_COMPRESS_CAPTURE:
*direction = SPA_COMPRESS_OFFLOAD_DIRECTION_CAPTURE;
break;
default:
spa_log_error(log, "card nr %d device nr %d: unknown direction %#" PRIx32,
card_nr, device_nr, (uint32_t)(compr_caps->direction));
ret = -EINVAL;
}
compress_offload_api_close(device_context);
return ret;
}