Jump to content

VoodooHDA 3.0.2


Slice
672 posts in this topic

Recommended Posts

@Slice:

Mystery solved.

It's got nothing to do with clipOutputSamples or not enough overhead...

Here is the bug...

With 6 channels, 6 is divisible by 3, yes?

The stream buffer size is 256KB.

The size of each sample frame is a multiple of 3 - right?

So the buffer does not contain a whole number of sample frames.

And the code does not set up the DMA right if the buffer is not a whole number of sample frames  :drool:

I reproduced the problem by disabling the Grey pin using NodesToPatch in Info.plist to reduce from 7.1CH to 5.1CH.  I get same choppy sound.

 

EDIT: Fixed and tested on 5.1CH - rev 135.

Edited by Zenith432
Link to comment
Share on other sites

QuickTime can also play .ac3 and multichannel .wav if you configure speakers in audio-midi setup to one of the surround configs.
iTunes does not want such files in its library and does not play them.

Moreover I took multichannel sound and play it with VLC.


There are a couple of things that should work now but I can't test

  • HDMI multichannel PCM with > 2 channels.
  • AC3 passthrough on SPDIF or HDMI.  In audio-midi setup, the "Encoded digital audio" option is grayed out because the format is not mixable - but there are instructions found in a web search how to set AC3 passthrough up on macOS.  Unfortunately, this also needs connecting HDMI port to A/V receiver to test.

For HDMI pin that supports hardware mute amp, there's mute control that can be found in System Preferences/Sound or audio-midi setup.

 

In audio-midi setup, the volume control for analog multichannel is still binary.  Left controls all left+FC.  Right controls all right+LFE.  I want to make it possible to control all 6 or 8 channels separately but this needs review and some development of the OSS mixer code.  Anyway, it is still possible to set the volume for all channels simultaneously in System Preferences (or the MenuBar) - so at least the most useful volume control works.

Link to comment
Share on other sites

It's because your default sound device is set to SPDIF Output.

See the icons

- speaker icon is default sound output

- finder icon is default output for system sound effects

- microphone icon is default sound input

You can set the defaults with that star icon and dropdown menu at the bottom left

or through system preferences/sound

 

no audio front panel (Asus Prime B350M-A)  ALC 887 .

Link to comment
Share on other sites

Are there any settings you can think of that would help reduce the buzzing sound my mid-range and bass speakers make?  I can reduce the volume in relation to the tweeters but when I want volume, I get a lot of buzzing as a result.  Thanks for any tips anyone can think of.

Link to comment
Share on other sites

Test 10.7.5 compilation

attachicon.gifVoodooHDA.kext-2.9.0.zip

Not work with this kext, same thing with the other kext

No Audio

System Freeze , I need Force to quit Preference System 

Thats never append before 2.9.0  :blush:

sans_t14.png

 

EDIT****

I am going to make a fresh Install 10.6 for make it sure

and I retest the kext

Link to comment
Share on other sites

It's because your default sound device is set to SPDIF Output.

See the icons

- speaker icon is default sound output

- finder icon is default output for system sound effects

- microphone icon is default sound input

You can set the defaults with that star icon and dropdown menu at the bottom left

or through system preferences/sound

 

:wink_anim:

 

Yes, I know that, do not trust the picture ;)

Link to comment
Share on other sites

@chris1111:
There are any number of recent changes that could break on old system, such as...
- change advertised type of HDMI port from 'spdf' to 'hdmi'.  This may crash old System Preferences/Sound prefpane.
- setClockIsStable(true), setInputSampleOffset(), setTerminalType().
- advertise IOAudioEngineInputChannelLayout or IOAudioEngineOutputChannelLayout.

- availability of multichannel engines.

 

@gils83:

So I'm left with no useful information that could help diagnose the problem.

Link to comment
Share on other sites

Open voodoohda prefpane, select your sound device, and start playing around with the available mixers until you find something usable.  My microphones were not working until I did this.  The OSS mixer system is not understandable.  I'm trying to figure out how control the amp for each channel in 6 or 8-channel sperarately.

Are there any settings you can think of that would help reduce the buzzing sound my mid-range and bass speakers make?  I can reduce the volume in relation to the tweeters but when I want volume, I get a lot of buzzing as a result.  Thanks for any tips anyone can think of.


The device is recognized but does not work :)

That part I understood. I mean something useful like getdump. Or check the mixers in prefpane - maybe some volume is all the way off. Stuff like that. Also try lowering 192KHz to 48KHz for a start.
  • Like 1
Link to comment
Share on other sites

@chris1111:

There are any number of recent changes that could break on old system, such as...

- change advertised type of HDMI port from 'spdf' to 'hdmi'.  This may crash old System Preferences/Sound prefpane.

- setClockIsStable(true), setInputSampleOffset(), setTerminalType().

- advertise IOAudioEngineInputChannelLayout or IOAudioEngineOutputChannelLayout.

- availability of multichannel engines.

 

 

Yes You are right 

Its crash again after a fresh install

Not a problème now I am using VodooHDA 2.8.10  for Snow :D 

Now I compiled the kext with "OSX Deployment Target=10.6".

Take it!

attachicon.gifVoodooHDA.kext.zip

No same problem after a fresh install 

Dont break your head, its Not a problème now I am using VoodooHDA 2.8.10  for Snow

 

EDIT****

VoodooHDA 2.9.0 works good also in Mavericks 10.9.5 and Sierra 10.12.4  B) 

Link to comment
Share on other sites

Yes You are right 

Its crash again after a fresh install

Not a problème now I am using VodooHDA 2.8.10  for Snow :D 

No same problem after a fresh install 

Dont break your head, its Not a problème now I am using VoodooHDA 2.8.10  for Snow

 

EDIT****

VoodooHDA 2.9.0 works good also in Mavericks 10.9.5 and Sierra 10.12.4  B) 

Chris! 2.9.0 is renamed version of 2.8.10. They are the same.

@chris1111:

There are any number of recent changes that could break on old system, such as...

- change advertised type of HDMI port from 'spdf' to 'hdmi'.  This may crash old System Preferences/Sound prefpane.

- setClockIsStable(true), setInputSampleOffset(), setTerminalType().

- advertise IOAudioEngineInputChannelLayout or IOAudioEngineOutputChannelLayout.

- availability of multichannel engines.

 

 

2.9.0 tested on old system 10.7.5.

Link to comment
Share on other sites

Chris! 2.9.0 is renamed version of 2.8.10. They are the same.

2.9.0 tested on old system 10.7.5.

2.8.10d2 Works

but not 2.9.0d7 ➤ Snow Leopard 10.6.8  System Freeze +  no Audio

Link to comment
Share on other sites

@chris1111

If you can compile for 10.6.8, try revert this change, see if it fixes the freeze

 

--- a/tranc/VoodooHDAEngine.cpp
+++ b/tranc/VoodooHDAEngine.cpp
@@ -99,15 +99,38 @@
 		case HDA_CONFIG_DEFAULTCONF_DEVICE_CD:
 			return kIOAudioSelectorControlSelectionValueCD;
 		case HDA_CONFIG_DEFAULTCONF_DEVICE_SPDIF_OUT:
+		case HDA_CONFIG_DEFAULTCONF_DEVICE_SPDIF_IN:
+			return kIOAudioSelectorControlSelectionValueSPDIF;
 		case HDA_CONFIG_DEFAULTCONF_DEVICE_DIGITAL_OTHER_OUT:
-		case HDA_CONFIG_DEFAULTCONF_DEVICE_SPDIF_IN:
 		case HDA_CONFIG_DEFAULTCONF_DEVICE_DIGITAL_OTHER_IN:
-			return kIOAudioSelectorControlSelectionValueSPDIF;
+			return kIOAudioDeviceTransportTypeHdmi;

 

(It's in pinConfigToSelection in VoodooHDAEngine.cpp)

If that doesn't do it, try comment out the lines

setInputSampleOffset(SAMPLE_OFFSET);
setClockIsStable(true);
publishChannelLayout(direction, channels);
mStream->setTerminalType(selectionAndDirectionToTerminalType(mPortType, direction));
In VoodooHDAEngine.cpp.
Link to comment
Share on other sites

@chris1111

If you can compile for 10.6.8, try revert this change, see if it fixes the freeze

--- a/tranc/VoodooHDAEngine.cpp
+++ b/tranc/VoodooHDAEngine.cpp
@@ -99,15 +99,38 @@
 		case HDA_CONFIG_DEFAULTCONF_DEVICE_CD:
 			return kIOAudioSelectorControlSelectionValueCD;
 		case HDA_CONFIG_DEFAULTCONF_DEVICE_SPDIF_OUT:
+		case HDA_CONFIG_DEFAULTCONF_DEVICE_SPDIF_IN:
+			return kIOAudioSelectorControlSelectionValueSPDIF;
 		case HDA_CONFIG_DEFAULTCONF_DEVICE_DIGITAL_OTHER_OUT:
-		case HDA_CONFIG_DEFAULTCONF_DEVICE_SPDIF_IN:
 		case HDA_CONFIG_DEFAULTCONF_DEVICE_DIGITAL_OTHER_IN:
-			return kIOAudioSelectorControlSelectionValueSPDIF;
+			return kIOAudioDeviceTransportTypeHdmi;
(It's in pinConfigToSelection in VoodooHDAEngine.cpp)

If that doesn't do it, try comment out the lines

setInputSampleOffset(SAMPLE_OFFSET);
setClockIsStable(true);
publishChannelLayout(direction, channels);
mStream->setTerminalType(selectionAndDirectionToTerminalType(mPortType, direction));
In VoodooHDAEngine.cpp.

 

Thanks Zenith432 

I am on 10.12.4 with Xcode 8.3.2

I try to compile / tranc/ but always this error  :(

captu157.png

 

If I used branches / zdev / its work compile succeed 

but I am not change the file

 

captu158.png

 

More easy for me if you give me the modifying file  

I am not a Coder 

Thank you

Link to comment
Share on other sites

Confirm crash in 10.6.8 (comp #2)

Screen shot 2017-04-19 at 21.26.00.png

Process:         coreaudiod [125]
Path:            /usr/sbin/coreaudiod
Identifier:      coreaudiod
Version:         ??? (???)
Code Type:       X86-64 (Native)
Parent Process:  launchd [1]

Date/Time:       2017-04-19 21:21:25.724 +0200
OS Version:      Mac OS X 10.6.8 (10K549)
Report Version:  6

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
Crashed Thread:  2

Application Specific Information:
objc_msgSend() selector name: _getValue:forType:


Thread 0:  Dispatch queue: com.apple.main-thread
0   libSystem.B.dylib             	0x00007fff837d2d7a mach_msg_trap + 10
1   libSystem.B.dylib             	0x00007fff837d33ed mach_msg + 59
2   com.apple.CoreFoundation      	0x00007fff83a1e902 __CFRunLoopRun + 1698
3   com.apple.CoreFoundation      	0x00007fff83a1dd8f CFRunLoopRunSpecific + 575
4   coreaudiod                    	0x00000001000071e0 0x100000000 + 29152
5   coreaudiod                    	0x00000001000016a4 0x100000000 + 5796

Thread 1:  Dispatch queue: com.apple.libdispatch-manager
0   libSystem.B.dylib             	0x00007fff837ebc0a kevent + 10
1   libSystem.B.dylib             	0x00007fff837edadd _dispatch_mgr_invoke + 154
2   libSystem.B.dylib             	0x00007fff837ed7b4 _dispatch_queue_invoke + 185
3   libSystem.B.dylib             	0x00007fff837ed2de _dispatch_worker_thread2 + 252
4   libSystem.B.dylib             	0x00007fff837ecc08 _pthread_wqthread + 353
5   libSystem.B.dylib             	0x00007fff837ecaa5 start_wqthread + 13

Thread 2 Crashed:
0   libobjc.A.dylib               	0x00007fff88db8f10 objc_msgSend + 44
1   com.apple.CoreFoundation      	0x00007fff83a0af43 CFNumberGetValue + 131
2   com.apple.audio.CoreAudio     	0x00007fff88e75b75 IOA_HWDevice::IsConstantRateClock(unsigned int, unsigned int) + 77
3   com.apple.audio.CoreAudio     	0x00007fff88e75822 IOA_HWDevice::Initialize() + 292
4   com.apple.audio.CoreAudio     	0x00007fff88e74b22 IOA_HWDeviceManager::IOServiceMatchingHandler(IOA_HWDeviceManager*, unsigned 
  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...