Commit graph

3 commits

Author SHA1 Message Date
Scott Randolph
8342279a79 Move EVS HAL under automotive folder
Test:  Build locally
Change-Id: I76aa7eb52497169d0edcb6d756e0a7ca31bb0b46
2017-03-06 15:59:50 -08:00
Scott Randolph
db5a598f80 EVS HAL with multi-buffer support via BufferDesc
HAL changes required in order to enable required functionality.
Specifically, support for use of supplied buffers as OpenGL textures.
Addition of getDisplayState is needed in order to meet original API
spec (allow secondary clients to monitor display state).  Expected to be
needed specifically by Car Service.  Note that this HAL is not used on
the phone and only relevant to the Android Auto at this point.

Test:  compile & run evs_test.  Still issues with buffer locking.

Added getDisplayState() to IEvsEnumerator to allow secondary clients to
query for display state without having to acquire the display.

Introduced the use of weak pointers in the service to detect when
clients holding an object disappear unexpectedly.

Plus squashed commit of the following:

commit 26c685b430028384157f573b31264ff03ea4c37b
Author: Scott Randolph <randolphs@google.com>
Date:   Thu Jan 19 17:29:54 2017 -0800

    Convert EVS HAL to use BufferDesc (vs raw handles)

    Use a structure that includes the buffer properties in addition to the
    memory handle itself to make it easier/safer for the HAL client code to
    reconstruct ANativeWindowBuffer objects (as required when using the
    buffer as a GL texture, for example)

    Change-Id: Ifebf0c03b9ad167d61152b85f8229d5970cc41af

commit 0286385694282e017c12f238f5aaa86d8d1bd600
Author: Scott Randolph <randolphs@google.com>
Date:   Tue Jan 17 12:01:09 2017 -0800

    Incremental cleanup of EVS driver

    Change-Id: Ibba2b7d9a1c55629d76ee6faf2a9f36c715e7bd7

commit 71e7b85f3919a60c5a194028a586ce81846c6c0d
Author: Scott Randolph <randolphs@google.com>
Date:   Thu Jan 12 10:40:45 2017 -0800

    Fix error check bug that cause stream start to fail

    Also fixes a minor warning related to log message string formatting.

    Change-Id: I74edf9a02db87c3632b4883ca40207fe861fd75d

commit 164e7ef048eba9bc184319ea928d231a26b695bc
Author: Scott Randolph <randolphs@google.com>
Date:   Wed Jan 11 17:27:46 2017 -0800

    Fix HAL update related compile bugs

    Minor changes to accomodate recent HIDL/HAL changes.

    Change-Id: I466d8979e8e56424442840aff8d17762eac0a590

commit 67391db6a04b2cbbda1a0b5c8b717fe79994f5b9
Author: Scott Randolph <randolphs@google.com>
Date:   Wed Jan 11 13:56:23 2017 -0800

    Avoid mutex reentrancy when setting frame count

    At initialization time, we need to be able to set the number of frames
    available for capture.  This change makes the code to do this a private
    function called from within a mutex in order to avoid having one mutex
    protected call trying to make another mutex protected call as would
    happen if it called directly into the public API.

    Change-Id: I05c383976dd8db1acf5874bd47b2a3c3521d7032

commit 993f6e7e1e43f2bc4a48f6aae32d9ba2c3125d23
Author: Scott Randolph <randolphs@google.com>
Date:   Mon Dec 19 18:39:38 2016 -0800

    Avoid forced exit if frame delivery fails

    If we don't read the error code from the frame delivery call, the
    underlying code forces an application exit if an error was returned.
    Even when we don't care about the result, we have to read it to avoid
    this.

    Change-Id: Ie3695faa10d1c5e340f66c369bfc2595ac516434

commit 08298db0f2d5d0ae7cd0781fde834fc7e63375d0
Author: Scott Randolph <randolphs@google.com>
Date:   Mon Dec 19 18:21:16 2016 -0800

    Support adjustable number of frames in flight

    Add enhanced support for SetMaxFramesInFlight which is required to
    support concurrent camera clients at the EVS Manager level.

    Change-Id: I23b606a017529514370a03cd2eca3ee286af8fec

commit 198050b2cff70d1a232745ce8e7f35e87581562e
Author: Scott Randolph <randolphs@google.com>
Date:   Fri Dec 16 16:27:19 2016 -0800

    Add frame contents validation to EvsDisplay

    Update the default "mock" implementation of EvsDisplay hardware layer to
    provide a frame contents validation based on knowledge of what the
    "mock" EvsCamera implementation will emit.

    Change-Id: If0624f855a440f52a47af7751ed3b09e8b21ff74

commit c830b7ca466155049d6eee047f6c323521451e8b
Author: Scott Randolph <randolphs@google.com>
Date:   Fri Dec 16 15:25:48 2016 -0800

    Add multi-buffer support to EvsCamera

    Extend the EvsCamera implmentation to support more than one buffer in
    flight at a time.  This is necessary in order to support concurrent
    client access through the EvsManager proxy layer.

    Change-Id: I0c32336be40c7bedd797140569650906458d27c1

commit 1bdbb9d641f95d494ec2a398b6d1f5202276d17b
Author: Scott Randolph <randolphs@google.com>
Date:   Fri Dec 16 15:24:28 2016 -0800

    Add additional validation on round trip pointers

    Now that HIDL support returning the same pointer to an interface object
    after a round trip through the transport, we can add a bit more
    validation.

    Change-Id: Ia9a3a6ec7552f5e5523c0f9ad66ceb02b46b2db4

Change-Id: I47468932d6a7b2b5eab47819917cdb20154d8f18
2017-01-25 17:37:38 -08:00
Scott Randolph
5c99d85649 Initial Android Auto External View Systems drivers
Add support for EVS system camera and display drivers.
These build and run but still contain significant placeholder code and
TODO items.

Bug: 32095143
Test:  run against evs_test (submitted in future change set)
Change-Id: I9187e888f03248e5cd43293253dc76a71184c02d
2016-12-15 11:08:48 -08:00