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 :
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!
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!