Summary: | Unknown ioctl (xoscope) | ||
---|---|---|---|
Product: | PulseAudio | Reporter: | Angelo <angelo.compagnucci> |
Component: | tools | Assignee: | pulseaudio-bugs |
Status: | RESOLVED NOTOURBUG | QA Contact: | pulseaudio-bugs |
Severity: | major | ||
Priority: | medium | CC: | lennart |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Angelo
2011-10-24 15:25:05 UTC
If you are correct that the failing ioctl is SNDCTL_DSP_CHANNELS, then it seems that you are also correct in suggesting that xoscope issues the ioctl on the wrong device (mixer instead of dsp). So, I guess the best way forward would be to try to fix the xoscope code. Thank you for the quick reply. I cannot really understand how I can fix the problem in xoscope. I'm explaining better. The code that initializes and issues ioctl is no more than 50 lines. I think that it's really simple (follows a pseudocode): Opening the device snd = open("/dev/dsp", O_RDONLY | O_NDELAY)) then: ioctl(snd, SNDCTL_DSP_CHANNELS, 2) This ioctl fails whit the error I reported. If I comment this ioctl, xoscope works, so I'm sure that this is the source of error. In this code is stated crearly that the device is /dev/dsp, not mixer or anything else. I'm not the original author of xoscope, I'm trying to fix an Ubuntu problem that appeared after the Ubuntu 10.04 LTS (on the ubuntu 10.04 lts xoscope works great). Thank you for your support. OK, i solved, it was a bug in xoscope. The variable preposed to store the IOCTL was a signed integer, that when passed to the unsigned long of padsp ioctl function, produced a wrong ioctl in the form of 0xffffffffc0045006, when it was expected to be 0xc0045006. Change the signed to unsigned int solves the problem. Thank you for your support! |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.