void clock_domain_descriptor_imp::store_clock_sources(uint8_t *frame, size_t pos)
	{
		uint16_t offset = 0x0;

		for(uint32_t index_i = 0; index_i < get_clock_sources_count(); index_i++)
		{
			clk_src_vec.push_back(jdksavdecc_uint16_get(frame, get_clock_sources_offset() + pos + offset));
			offset += 0x2;
		}
	}
    void configuration_descriptor_imp::desc_count_vec_init(const uint8_t *frame, size_t pos)
    {
        uint16_t offset = 0x2;

        for(uint32_t i = 0; i < descriptor_counts_count(); i++)
        {
            desc_count_vec.push_back(jdksavdecc_uint16_get(frame, descriptor_counts_offset() + pos + offset));
            offset += 0x4;
        }
    }
stream_port_input_get_audio_map_response_imp::stream_port_input_get_audio_map_response_imp(uint8_t * frame, size_t frame_len, ssize_t pos)
{
    m_position = pos;
    m_size = frame_len;
    m_frame = (uint8_t *)malloc(m_size * sizeof(uint8_t));
    memcpy(m_frame, frame, m_size);

    offset = m_position + JDKSAVDECC_AEM_COMMAND_GET_AUDIO_MAP_RESPONSE_OFFSET_MAPPINGS + (8 * map_index());

    for (unsigned int i = 0; i < (unsigned int)number_of_mappings(); i++)
    {
        struct stream_port_input_audio_mapping map;

        map.stream_index = jdksavdecc_uint16_get(frame, offset);
        map.stream_channel = jdksavdecc_uint16_get(frame, offset + 2);
        map.cluster_offset = jdksavdecc_uint16_get(frame, offset + 4);
        map.cluster_channel = jdksavdecc_uint16_get(frame, offset + 6);
        maps.push_back(map);
        offset += sizeof(struct stream_port_input_audio_mapping);
    }
}