ALSA: emu10k1: merge conditions in patch loader
authorOswald Buddenhagen <oswald.buddenhagen@gmx.de>
Sat, 6 Apr 2024 06:48:24 +0000 (08:48 +0200)
committerTakashi Iwai <tiwai@suse.de>
Sun, 7 Apr 2024 06:35:50 +0000 (08:35 +0200)
This de-duplicates the code slightly. But the real reason is that it
moves the code up, which the next patch will depend on.

Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Message-ID: <20240406064830.1029573-12-oswald.buddenhagen@gmx.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/emu10k1/emu10k1_patch.c

index eb3d1ef8a33a9f702da67447fdb2869631a652cb..281881f7d0a44dcf5fcbdcae0bfd0e8dafe5c62c 100644 (file)
@@ -53,8 +53,14 @@ snd_emu10k1_sample_new(struct snd_emux *rec, struct snd_sf_sample *sp,
 
        /* compute true data size to be loaded */
        truesize = sp->v.size + BLANK_HEAD_SIZE;
-       if (sp->v.mode_flags & SNDRV_SFNT_SAMPLE_NO_BLANK)
+       if (sp->v.mode_flags & SNDRV_SFNT_SAMPLE_NO_BLANK) {
                truesize += BLANK_LOOP_SIZE;
+               /* if no blank loop is attached in the sample, add it */
+               if (sp->v.mode_flags & SNDRV_SFNT_SAMPLE_SINGLESHOT) {
+                       sp->v.loopstart = sp->v.end + BLANK_LOOP_START;
+                       sp->v.loopend = sp->v.end + BLANK_LOOP_END;
+               }
+       }
 
        /* try to allocate a memory block */
        blocksize = truesize;
@@ -93,14 +99,6 @@ snd_emu10k1_sample_new(struct snd_emux *rec, struct snd_sf_sample *sp,
        if (offset < blocksize)
                snd_emu10k1_synth_memset(emu, sp->block, offset, blocksize - offset, fill);
 
-       if (sp->v.mode_flags & SNDRV_SFNT_SAMPLE_NO_BLANK) {
-               /* if no blank loop is attached in the sample, add it */
-               if (sp->v.mode_flags & SNDRV_SFNT_SAMPLE_SINGLESHOT) {
-                       sp->v.loopstart = sp->v.end + BLANK_LOOP_START;
-                       sp->v.loopend = sp->v.end + BLANK_LOOP_END;
-               }
-       }
-
        /* recalculate offset */
        start_addr = BLANK_HEAD_SIZE * 2;
        if (! (sp->v.mode_flags & SNDRV_SFNT_SAMPLE_8BITS))