|  | @@ -105,11 +105,14 @@ bool is_spdif_config_locked(){
 | 
	
		
			
				|  |  |   * Set pin from config string
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  static void set_i2s_pin(char *config, i2s_pin_config_t *pin_config) {
 | 
	
		
			
				|  |  | -	char *p;
 | 
	
		
			
				|  |  | -	pin_config->bck_io_num = pin_config->ws_io_num = pin_config->data_out_num = pin_config->data_in_num = -1; 				
 | 
	
		
			
				|  |  | -	if ((p = strcasestr(config, "bck"))) sscanf(p, "bck%*[^=]=%d", &pin_config->bck_io_num);
 | 
	
		
			
				|  |  | -	if ((p = strcasestr(config, "ws"))) sscanf(p, "ws%*[^=]=%d", &pin_config->ws_io_num);
 | 
	
		
			
				|  |  | -	if ((p = strcasestr(config, "do"))) sscanf(p, "do%*[^=]=%d", &pin_config->data_out_num);
 | 
	
		
			
				|  |  | +	pin_config->bck_io_num = pin_config->ws_io_num = pin_config->data_out_num = pin_config->data_in_num = -1;
 | 
	
		
			
				|  |  | +	PARSE_PARAM(config, "bck", '=', pin_config->bck_io_num);
 | 
	
		
			
				|  |  | +	PARSE_PARAM(config, "ws", '=', pin_config->ws_io_num);
 | 
	
		
			
				|  |  | +	PARSE_PARAM(config, "do", '=', pin_config->data_out_num);
 | 
	
		
			
				|  |  | +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(4, 4, 0)
 | 
	
		
			
				|  |  | +    pin_config->mck_io_num = strcasestr(config, "mck") ? 0 : -1;
 | 
	
		
			
				|  |  | +    PARSE_PARAM(config, "mck", '=', pin_config->mck_io_num);   
 | 
	
		
			
				|  |  | +#endif    
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /****************************************************************************************
 |