Crash when using two different soundcards
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Soundcard for master: M-Audio Audiophile USB (snd-usb-audio)
Soundcard for headphones: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03) (sdn-hda-intel)
anti@xxxxxxx:~$ mixxx
Warning: Qt: Session management error: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed
Debug: Mixxx 1.6.0 "" is starting...
Debug: ControlObject:
Debug: SampleRate 44100
Debug: Latency 64
Debug: createWaveformV
Debug: WaveformViewerF
Debug: WaveformViewerF
Debug: WaveformRenderBeat :: samples = 0
Debug: WaveformRenderMark :: samples = 0
Debug: WaveformRendere
Debug: Got bgColor QColor(ARGB 1, 0.0980392, 0.0980392, 0.0980392)
Debug: Got signalColor QColor(ARGB 1, 0, 0.803922, 0)
Debug: createWaveformV
Debug: WaveformViewerF
Debug: WaveformViewerF
Debug: WaveformRenderBeat :: samples = 0
Debug: WaveformRenderMark :: samples = 0
Debug: WaveformRendere
Debug: Got bgColor QColor(ARGB 1, 0.0980392, 0.0980392, 0.0980392)
Debug: Got signalColor QColor(ARGB 1, 0, 0.803922, 0)
Debug: Loading playlists and library tracks from XML...
Debug: Track::readXML "/home/
Debug: Promo track directory does not exist: "/usr/share/
Debug: Constructed LibraryScanner!!!
Debug: No playlists, returning
Debug: FIXME: Need to tell the m_pPlaylistList
Debug: Trying to add 1325 songs to the library playlist
Debug: Adjusting column widths: tracktable width = 582 1% of that is: 5.82 FIXME: this should be done when initalizing the skin.
Debug: Shrinking Title/Comment for small screen...
Debug: FIXME: repaintEverything switches table model and shouldn't do that when viewing the playlist model in src/wtracktable
Debug: selectedAPI is: "ALSA"
Debug: Warning: Creation of the midi queue failed. Funzione non permessa
Debug: PowerMate: write(): Descrittore di file errato
Debug: PowerMate: write(): Descrittore di file errato
Debug: HerculesLinux: Constructor called
Debug: m_pHercules init: QThread(0x841ac20)
Debug: Starting Hercules DJ Console detection
No Hercules DJ Console found
Debug: Sorry, no love.
Debug: Midi OK (Workaround not required)
Debug: setupMappings( "/usr/share/
Debug: loadSettings: 1 0 ""
Debug: slotApply crossfader: 1 ""
Debug: BpmSchemes::readXML "/home/
Debug: SoundManager:
Debug: Building timecode lookup tables...
Allocating 2097152 slots (8192Kb) for 20 bit timecode (Serato 2nd Ed., side A)
Debug: Building timecode lookup tables...
Allocating 2097152 slots (8192Kb) for 20 bit timecode (Serato 2nd Ed., side A)
Debug: iNumDevicesOpen
Debug: iNumDevicesOpen
Debug: DlgPrefVinyl:
Debug: DlgPrefVinyl::Apply
Debug: in VinylGainSlotAp
Debug: DlgPrefVinyl:
Debug: DlgPrefSound::Apply
Debug: Setting ChannelMaster in config to: "0"
Debug: request msec 64
Debug: SoundManager:
Debug: Building timecode lookup tables...
Allocating 2097152 slots (8192Kb) for 20 bit timecode (Serato 2nd Ed., side A)
Debug: Building timecode lookup tables...
Allocating 2097152 slots (8192Kb) for 20 bit timecode (Serato 2nd Ed., side A)
Debug: SoundDevicePort
Debug: m_dSampleRate 44100
Debug: iLatencyMSec: 64
Debug: output channels: 2 | input channels: 0
Debug: iLatencySamples: 5648
Debug: iLatencyMSec: 64
Debug: Opening stream with id 2
Debug: Opened PortAudio stream successfully... starting
Debug: Dynamically loaded PortAudio library!
Debug: PortAudio: Started stream successfully
Debug: SoundDevicePort
Debug: m_dSampleRate 44100
Debug: iLatencyMSec: 64
Debug: output channels: 2 | input channels: 0
Debug: iLatencySamples: 5648
Debug: iLatencyMSec: 64
Debug: Opening stream with id 4
mixxx: mask_inline.h:160: snd_mask_leave: Assertion 'val <= 64' failed.
Aborted
For what it's worth: I have observed a similar assertion failure while I was trying to get the Native Instruments Audio 4 DJ USB audio interface to work properly on my system, and trying to access the device directly (hw:0,0).
After having discovered that, for instance, xwax worked fine with "plughw:0,0,0" and "plughw:0,0,1", I googled a bit and, apart from hitting this page, I discovered that apparently some USB audio devices have "subdevices". perhaps this is also the case with the M-Audio hardware, and this is not specifically a problem with two different soundcards?
So.. Might anyone stumble here like I did, with possibly the same problem like me: I configured ALSA to route "usb_1" and a "usb_2" to these plughw devices so they would appear in the sound system set-up in Mixxx. The assertion failure has since gone away (and the audio device works properly too). This is what I have in /etc/asound.conf, and this allows me to select usb_1 for main output, usb_2 for headphones, and usb_1 / usb_2 for the vinyl control decks:
pcm.usb_1 {
channels 2
type route
slave {
pcm "plughw:0,0,0"
}
ttable.0.0 1
ttable.1.1 1
}
pcm.usb_2 {
channels 2
type route
slave {
pcm "plughw:0,0,1"
}
ttable.0.0 1
ttable.1.1 1
}