Tuya AVS SDK Library

Last Updated on : 2021-10-15 07:13:35Copy for LLMView as MarkdownDownload PDF

This topic describes the related dependencies of Tuya AVS SDK, including basic dependencies, network pairing, and multimedia.

Basic libraries

Library Minimum version
glibc TBC
Need to support C++11
boost TBC
libconfig TBC
libcurl 6.6
Enable HTTP2 support (–with-nghttps)
nghttp2 1.39.2
openssl 1.1.1

Wi-Fi, Bluetooth pairing, and A2DP support

By default, Tuya AVS SDK uses wpa_supplicant and bluez as the Wi-Fi management tool and Bluetooth protocol stack respectively. If you need to use other management tools and protocol stacks, see the Wi-Fi HAL and BT HAL in the SDK to implement the interfaces.

Library Minimum version
wpa_supplicant TBC
You need to enable CONFIG_BUILD_WPA_CLIENT_SO support in the configuration file.
bluez 5.37
blue-alsa -
sbc TBC

Multimedia player

Tuya AVS SDK uses gstreamer as the back-end media player.

Library Minimum version
GStreamer 1.8.3
GStreamer Base Plug-ins 1.8.3
GStreamer Good Plug-ins 1.8.3
GStreamer Libav Plug-ins 1.8.3
libsoup TBD

gst1-plugins-bad

Need to enable the support of the following plug-ins:

Option Description
–enable-audiolatency -
–enable-autoconvert Enable automatic conversion support
–enable-id3tag Enable ID3 support
–enable-mpegdemux Enable mpeg decoding support
–enable-mpegtsmux Enable mpegts decoding support
–enable-curl Enable libcurl support
–enable-hls Enable hls support

gst1-plugins-base

Need to enable support for the following options:

Option Description
–enable-audioparsers Enable audio parsing support
–enable-autodetect Enable support for automatic format detection
–enable-equalizer Enable equalizer support
–enable-id3demux Enable ID3 support
–enable-isomp4 Enable MP4 support
–enable-wavparse Enable WAV support
–enable-soup Enable soup support

ALSA configuration

Library Minimum version
alsa-plugins -
speex -
libsamplerate -
defaults.pcm.rate_converter "speexrate_medium"

pcm.!default
{
	type asym
	playback.pcm {
		type plug
		slave.pcm "avs_playback"
	}
	capture.pcm {
		type plug
		slave {
			pcm "hw:0,0"
		}
	}
}

pcm.avs_record {
	type dsnoop
	ipc_key 4096
	ipc_key_add_uid 0
	ipc_perm 0666
	slave {
		pcm "hw:0,0"
		period_size 160
		buffer_size 1600
		rate 16000
		channels 8
	}

	bindings {
		0 0
		1 1
		2 2
		3 3
		4 4
		5 5
		6 6
		7 7
	}
}

pcm.avs_playback {
	type dmix
	ipc_key 1024
	slave {
		pcm "hw:0,0"
		period_size 480
		buffer_size 4800
		rate 48000
		format "S32_LE"
	}

	bindings {
		0 0
		1 1
	}
}

pcm.rate32k {
	type rate
	slave {
		pcm "hw:0,0"
		rate 32000
	}
}