Accéder à la caméra via OpenMAX sous Android

J’essaie actuellement de comprendre comment accéder à la caméra via OpenMAX sous Android 4.0. La documentation ne me suffit pas. Je ne parviens donc pas à récupérer le XADataSource correct pour l’appel suivant.

 (*_engine)->CreateMediaRecorder(_engine, &_mediaRecorder, //pRecorder nullptr, //pAudioSrc XADataSource *, //pImageVideoSrc XADataSink *, //pDataSnk XAuint32, // numInterfaces const XAInterfaceID *, //pInterfaceIds const XAboolean *, //pInterfaceRequired ); 

Et s’il vous plaît épargnez-moi l’ utilisation juste Java – “réponses”.

    Il s’agit d’une définition de XADataSource, extraite de http://www.khronos.org/registry/omxal/specs/OpenMAX_AL_1_1_Specification.pdf.

     typedef struct XADataSource_ { void * pLocator; void * pFormat; } XADataSource; 

    Les champs comprennent:

     Field Description pLocator Pointer to the specified data locator structure. This may point to any of the following structures. XADataLocator_Address XADataLocator_IODevice XADataLocator_URI XADataLocator_MediaObject XADataLocator_Null XADataLocator_ContentPipe The first field of each of these structures includes the 32 bit locatorType field, which identifies the locator type (see XA_DATALOCATOR definitions) and hence the structure pointed to. Note: The available XA_DATALOCATOR definitions may be extended through an API extension. pFormat A pointer to the specified format structure. This may point to any of the following structures. XADataFormat_PCM (Deprecated) XADataFormat_PCM_EX XADataFormat_MIME XADataFormat_RawImage The first field of each of these structures includes the 32 bit formatType field, which identifies the format type (XA_DATAFORMAT definitions) and hence the structure pointed to. pFormat is ignored if pLocator is XADataLocator_IODevice 

    Désolé, je ne pourrais pas mieux le formater, mais je suggère quand même de vérifier ce document si vous ne l’avez pas déjà fait.

    http://mobilepearls.com/labs/native-android-api/ndk/docs/openmaxal/

    L’implémentation d’Android ne prend en charge que CreateMediaPlayer et permet de lire le stream MP2T H264 AAC.