From f3914e494cdaab7a75ca276c3b97168167e91f22 Mon Sep 17 00:00:00 2001 From: Carlos Rafael Giani Date: Wed, 18 Jan 2023 13:12:29 +0100 Subject: [PATCH] spa: Add ENCODED audio format to compressed format builder results WirePlumber checks for the ENCODED audio format to determine if the format is compressed/encoded. Without this info, it is not able to automatically link compressed audio nodes. --- spa/include/spa/param/audio/aac-utils.h | 1 + spa/include/spa/param/audio/alac-utils.h | 1 + spa/include/spa/param/audio/amr-utils.h | 1 + spa/include/spa/param/audio/ape-utils.h | 1 + spa/include/spa/param/audio/flac-utils.h | 1 + spa/include/spa/param/audio/mp3-utils.h | 1 + spa/include/spa/param/audio/ra-utils.h | 1 + spa/include/spa/param/audio/vorbis-utils.h | 1 + spa/include/spa/param/audio/wma-utils.h | 1 + 9 files changed, 9 insertions(+) diff --git a/spa/include/spa/param/audio/aac-utils.h b/spa/include/spa/param/audio/aac-utils.h index 85c15c06c..4d539877b 100644 --- a/spa/include/spa/param/audio/aac-utils.h +++ b/spa/include/spa/param/audio/aac-utils.h @@ -61,6 +61,7 @@ spa_format_audio_aac_build(struct spa_pod_builder *builder, uint32_t id, struct spa_pod_builder_add(builder, SPA_FORMAT_mediaType, SPA_POD_Id(SPA_MEDIA_TYPE_audio), SPA_FORMAT_mediaSubtype, SPA_POD_Id(SPA_MEDIA_SUBTYPE_aac), + SPA_FORMAT_AUDIO_format, SPA_POD_Id(SPA_AUDIO_FORMAT_ENCODED), 0); if (info->rate != 0) spa_pod_builder_add(builder, diff --git a/spa/include/spa/param/audio/alac-utils.h b/spa/include/spa/param/audio/alac-utils.h index b515e0691..39dbd787d 100644 --- a/spa/include/spa/param/audio/alac-utils.h +++ b/spa/include/spa/param/audio/alac-utils.h @@ -58,6 +58,7 @@ spa_format_audio_alac_build(struct spa_pod_builder *builder, uint32_t id, struct spa_pod_builder_add(builder, SPA_FORMAT_mediaType, SPA_POD_Id(SPA_MEDIA_TYPE_audio), SPA_FORMAT_mediaSubtype, SPA_POD_Id(SPA_MEDIA_SUBTYPE_alac), + SPA_FORMAT_AUDIO_format, SPA_POD_Id(SPA_AUDIO_FORMAT_ENCODED), 0); if (info->rate != 0) spa_pod_builder_add(builder, diff --git a/spa/include/spa/param/audio/amr-utils.h b/spa/include/spa/param/audio/amr-utils.h index cd91629b2..dafe1f8e0 100644 --- a/spa/include/spa/param/audio/amr-utils.h +++ b/spa/include/spa/param/audio/amr-utils.h @@ -59,6 +59,7 @@ spa_format_audio_amr_build(struct spa_pod_builder *builder, uint32_t id, struct spa_pod_builder_add(builder, SPA_FORMAT_mediaType, SPA_POD_Id(SPA_MEDIA_TYPE_audio), SPA_FORMAT_mediaSubtype, SPA_POD_Id(SPA_MEDIA_SUBTYPE_amr), + SPA_FORMAT_AUDIO_format, SPA_POD_Id(SPA_AUDIO_FORMAT_ENCODED), 0); if (info->rate != 0) spa_pod_builder_add(builder, diff --git a/spa/include/spa/param/audio/ape-utils.h b/spa/include/spa/param/audio/ape-utils.h index 84272eaa2..a625900ce 100644 --- a/spa/include/spa/param/audio/ape-utils.h +++ b/spa/include/spa/param/audio/ape-utils.h @@ -58,6 +58,7 @@ spa_format_audio_ape_build(struct spa_pod_builder *builder, uint32_t id, struct spa_pod_builder_add(builder, SPA_FORMAT_mediaType, SPA_POD_Id(SPA_MEDIA_TYPE_audio), SPA_FORMAT_mediaSubtype, SPA_POD_Id(SPA_MEDIA_SUBTYPE_ape), + SPA_FORMAT_AUDIO_format, SPA_POD_Id(SPA_AUDIO_FORMAT_ENCODED), 0); if (info->rate != 0) spa_pod_builder_add(builder, diff --git a/spa/include/spa/param/audio/flac-utils.h b/spa/include/spa/param/audio/flac-utils.h index 35f88e7f9..7c612d678 100644 --- a/spa/include/spa/param/audio/flac-utils.h +++ b/spa/include/spa/param/audio/flac-utils.h @@ -58,6 +58,7 @@ spa_format_audio_flac_build(struct spa_pod_builder *builder, uint32_t id, struct spa_pod_builder_add(builder, SPA_FORMAT_mediaType, SPA_POD_Id(SPA_MEDIA_TYPE_audio), SPA_FORMAT_mediaSubtype, SPA_POD_Id(SPA_MEDIA_SUBTYPE_flac), + SPA_FORMAT_AUDIO_format, SPA_POD_Id(SPA_AUDIO_FORMAT_ENCODED), 0); if (info->rate != 0) spa_pod_builder_add(builder, diff --git a/spa/include/spa/param/audio/mp3-utils.h b/spa/include/spa/param/audio/mp3-utils.h index a4e7a7a04..b76457892 100644 --- a/spa/include/spa/param/audio/mp3-utils.h +++ b/spa/include/spa/param/audio/mp3-utils.h @@ -58,6 +58,7 @@ spa_format_audio_mp3_build(struct spa_pod_builder *builder, uint32_t id, struct spa_pod_builder_add(builder, SPA_FORMAT_mediaType, SPA_POD_Id(SPA_MEDIA_TYPE_audio), SPA_FORMAT_mediaSubtype, SPA_POD_Id(SPA_MEDIA_SUBTYPE_mp3), + SPA_FORMAT_AUDIO_format, SPA_POD_Id(SPA_AUDIO_FORMAT_ENCODED), 0); if (info->rate != 0) spa_pod_builder_add(builder, diff --git a/spa/include/spa/param/audio/ra-utils.h b/spa/include/spa/param/audio/ra-utils.h index b268e57f3..88356baf7 100644 --- a/spa/include/spa/param/audio/ra-utils.h +++ b/spa/include/spa/param/audio/ra-utils.h @@ -58,6 +58,7 @@ spa_format_audio_ra_build(struct spa_pod_builder *builder, uint32_t id, struct s spa_pod_builder_add(builder, SPA_FORMAT_mediaType, SPA_POD_Id(SPA_MEDIA_TYPE_audio), SPA_FORMAT_mediaSubtype, SPA_POD_Id(SPA_MEDIA_SUBTYPE_ra), + SPA_FORMAT_AUDIO_format, SPA_POD_Id(SPA_AUDIO_FORMAT_ENCODED), 0); if (info->rate != 0) spa_pod_builder_add(builder, diff --git a/spa/include/spa/param/audio/vorbis-utils.h b/spa/include/spa/param/audio/vorbis-utils.h index a7bf542c8..475906e94 100644 --- a/spa/include/spa/param/audio/vorbis-utils.h +++ b/spa/include/spa/param/audio/vorbis-utils.h @@ -58,6 +58,7 @@ spa_format_audio_vorbis_build(struct spa_pod_builder *builder, uint32_t id, stru spa_pod_builder_add(builder, SPA_FORMAT_mediaType, SPA_POD_Id(SPA_MEDIA_TYPE_audio), SPA_FORMAT_mediaSubtype, SPA_POD_Id(SPA_MEDIA_SUBTYPE_vorbis), + SPA_FORMAT_AUDIO_format, SPA_POD_Id(SPA_AUDIO_FORMAT_ENCODED), 0); if (info->rate != 0) spa_pod_builder_add(builder, diff --git a/spa/include/spa/param/audio/wma-utils.h b/spa/include/spa/param/audio/wma-utils.h index cb8156059..f3fe09458 100644 --- a/spa/include/spa/param/audio/wma-utils.h +++ b/spa/include/spa/param/audio/wma-utils.h @@ -61,6 +61,7 @@ spa_format_audio_wma_build(struct spa_pod_builder *builder, uint32_t id, struct spa_pod_builder_add(builder, SPA_FORMAT_mediaType, SPA_POD_Id(SPA_MEDIA_TYPE_audio), SPA_FORMAT_mediaSubtype, SPA_POD_Id(SPA_MEDIA_SUBTYPE_wma), + SPA_FORMAT_AUDIO_format, SPA_POD_Id(SPA_AUDIO_FORMAT_ENCODED), 0); if (info->rate != 0) spa_pod_builder_add(builder,