Recompilation de driver audio, pb de types et fct

SuperCed

Membre expert
Club iGen
20 Juin 2001
1 329
70
45
superced.rb38.eu
Je cherche à adapter le driver audio AppleAC97Audio.kext pour une carte audio VIA.
En fait, ce driver fonctionne mais j'ai seulement le canal gauche, donc j'aimerais le modifier un peu afin de corriger ce problème. De plus, on ne peut pas régler le volume, il y a donc quelques corrections à apporter.
J'ai récupéré le code source dans Darwin (10.4.3), a priori, c'est la dernière version du driver.
J'ai ouvert le projet avec XCode et j'ai essayé de recompiler. C'est la première étape de mon adaptation, essayer de recompiler le driver Darwin.
Cependant, j'ai quelques erreurs. Dans un premier temps, j'ai eu quelques cast à mettre sur des types AbsoluteTime à transformer en uint64_t*.

Par contre, il me reste 2 erreurs, une est un cast simple, l'autre est une fonction introuvable.

Erreur : IOAC97Family/IOAC97AudioCodec.cpp:2291: error: 'sub_absolutetime' was not declared in this scope
IOAC97Family/IOAC97AudioCodec.cpp:2292: error: cannot convert 'AbsoluteTime' to 'uint64_t' for argument '1' to 'void absolutetime_to_nanoseconds(uint64_t, uint64_t*)'


IOAC97Family/IOAC97AudioCodec.cpp:2290: error: 'SUB_ABSOLUTETIME' was not declared in this scope
IOAC97Family/IOAC97AudioCodec.cpp:2292: error: invalid cast from type 'AbsoluteTime' to type 'uint64_t'

code :
Bloc de code:
SUB_ABSOLUTETIME(&finalTime, &startTime);
absolutetime_to_nanoseconds((uint64_t)finalTime, (uint64_t*)&elapsedTimeNS);

J'ai mis des casts sur absolutetime_to_nanoseconds mais ça ne semble pas fonctionner.
La fonction ou macro SUB_ABSOLUTETIME n'existe pas et ne semble pas documentée. Comment puis-je remplacer cet appel?

Merci!