תמיכה בכמה מצלמות

בגרסה 1.1 של המערכת לתצוגה חיצונית, התקן המצלמה הלוגי שמורכב יש תמיכה בכמה מצלמות פיזיות. כדי להשתמש במכשיר הווירטואלי הזה, חייבים לתמוך סנכרון מסגרת.

ספירה, פתיחה וסגירה של מצלמה לוגית

האפליקציה יכולה להשתמש באותן שיטות של IEvsEnumerator כדי להשתמש של מצלמות לוגיות זמינות. האובייקט EvsCamera שהוחזר, מייצג מכשיר מצלמה לוגי, חייב להכיל את הפריטים הבאים במטא-נתונים:

  • ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
    אם אובייקט Evscam שמוחזר מייצג מצלמה לוגית, המטא-נתונים של המצלמה שלו. חייב להכיל את מפתח היכולת הזה בANDROID_REQUEST_AVAILABLE_CAPABILITIES שלו השדה הזה.
  • ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS בשדה הזה מפורטים המזהים של המכשירים הפיזיים של המצלמה.
  • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE השדה יכול להכיל אחד מערכי enum הבאים:
    • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE מיועד לחיישנים במצב מאסטר-מאסטר, ללא סנכרון תריס/חשיפה של חומרה.
    • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED מיועד לחיישנים במצב מאסטר-עבד, סנכרון תריס/חשיפה של חומרה. הערך הזה חייב להיות מוגדר למצלמות GMSL2 מסונכרנות.

האפליקציה יכולה לאחזר תיאור של מכשירי מצלמה פיזיים באמצעות IEvsCamera בגרסה החדשה של getPhysicalCameraInfo(stringcameraId) .

/**
 * Returns the description of the physical camera device that backs this
 * logical camera.
 *
 * If a requested device does not either exist or back this logical device,
 * this method returns a null camera descriptor. And, if this is called on
 * a physical camera device, this method is the same as getCameraInfo_1_1()
 * method if a given device ID is matched. Otherwise, this returns a
 * null camera descriptor.
 *
 * @param  deviceId Physical camera device identifier string.
 * @return info     The description of a member physical camera device.
 *                  This must be the same value as reported by
 *                  EvsEnumerator::getCameraList_1_1().
 */
getPhysicalCameraInfo(string deviceId) generates (CameraDesc info);

הגדרת תמיכה במספר מצלמות

כל המצלמות הלוגיות חייבות להיות מוגדרות באופן סטטי, שנספר באמצעות הטמעה של מנהל ההגדרות. מאחר שכלי הרכב החשמלי (EVS) מאפשרים שיש להגדיר את המכשיר בקבוצה באופן שונה, EVS מספק רשימה ומציין אם צילום התמונה מסונכרן.

<!-- camera group 0 -->
<group id='group0' synchronized='CALIBRATED'>
    <caps>
        <!-- list of supported controls supported by all physical devices -->
        <supported_controls>
            <control name='BRIGHTNESS' min='0' max='255'/>
            <control name='CONTRAST' min='0' max='255'/>
        </supported_controls>

        <!-- list of stream configuration supported by all physical devices -->
        <stream id='0' width='640' height='480' format='RGBA_8888' framerate='30'/>
    </caps>

    <!-- list of parameters -->
    <characteristics>
        <parameter
            name='REQUEST_AVAILABLE_CAPABILITIES'
            type='enum'
            size='1'
            value='LOGICAL_MULTI_CAMERA'
        />
        <parameter
            name='LOGICAL_MULTI_CAMERA_PHYSICAL_IDS'
            type='byte[]'
            size='2'
            value='/dev/video3,/dev/video4'
        />
    </characteristics>
</group>