]> git.alsa-project.org Git - alsa-lib.git/commitdiff
topology: Fix to skip writing of header for compound elements
authorGuruprasadX Pawse <guruprasadx.pawse@intel.com>
Tue, 2 Jan 2018 05:20:01 +0000 (10:50 +0530)
committerTakashi Iwai <tiwai@suse.de>
Tue, 2 Jan 2018 15:33:54 +0000 (16:33 +0100)
While calculating the size of data to be written into the topology
binary file, the size of the compound elements is added as well. This
results in wrong file offset calculation and topology build failure.

The compound elements shouldn't be written to the topology as these are
already embedded as part of other elements. So, skip adding the size of
compound elements to the file offset size calculation.

Signed-off-by: GuruprasadX Pawse <guruprasadx.pawse@intel.com>
Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: Guneshwor Singh <guneshwor.o.singh@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
src/topology/builder.c

index 997df0c7aa6c5253a36897f4804d3eb09cb1aa2e..5ae3ae89dac733f32e1d7ed3155a2d7042ee2826 100644 (file)
@@ -95,6 +95,10 @@ static int write_elem_block(snd_tplg_t *tplg,
        list_for_each(pos, base) {
                /* find elems with the same index to make a block */
                elem = list_entry(pos, struct tplg_elem, list);
+
+               if (elem->compound_elem)
+                       continue;
+
                elem_next = list_entry(pos->next, struct tplg_elem, list);
                block_size += elem->size;
                count++;