Tuya AVS SDK Library

Last Updated on : 2022-03-02 02:06:00download

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
	}
}