1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Line 6 Linux USB driver 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at) 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #ifndef PLAYBACK_H 9*4882a593Smuzhiyun #define PLAYBACK_H 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #include <sound/pcm.h> 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #include "driver.h" 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun /* 16*4882a593Smuzhiyun * When the TonePort is used with jack in full duplex mode and the outputs are 17*4882a593Smuzhiyun * not connected, the software monitor produces an ugly noise since everything 18*4882a593Smuzhiyun * written to the output buffer (i.e., the input signal) will be repeated in 19*4882a593Smuzhiyun * the next period (sounds like a delay effect). As a workaround, the output 20*4882a593Smuzhiyun * buffer is cleared after the data have been read, but there must be a better 21*4882a593Smuzhiyun * solution. Until one is found, this workaround can be used to fix the 22*4882a593Smuzhiyun * problem. 23*4882a593Smuzhiyun */ 24*4882a593Smuzhiyun #define USE_CLEAR_BUFFER_WORKAROUND 1 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun extern const struct snd_pcm_ops snd_line6_playback_ops; 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun extern int line6_create_audio_out_urbs(struct snd_line6_pcm *line6pcm); 29*4882a593Smuzhiyun extern int line6_submit_audio_out_all_urbs(struct snd_line6_pcm *line6pcm); 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun #endif 32