summaryrefslogtreecommitdiff
path: root/libs/bufferstreams
AgeCommit message (Collapse)Author
2024-09-02Add Rust wrapper around AHardwareBuffer_Desc. Andrew Walbran
Bug: 359100544 Test: atest libnativewindow_rs-internal_test Test: atest libbufferstreams-internal_test Change-Id: I9065ca34cebde50a97b1e5331e293347bc42f563
2024-08-21Update source for Rust 1.80.1 Chris Wailes
Fix some Markdown indentation errors Test: m rust Bug: 361370910 Change-Id: I39d68122906e712f964c25f955d79c4ff1b5ad9c
2024-07-29Remove code that break androidx build. Carlos Martinez Romero
Bug: 355293776 Test: build Flag: EXEMPT - test app Change-Id: Iab5ea3ffaad9c1cd4c9e625707dbb20ae83e72a4
2024-05-24Merge Android 24Q2 Release (ab/11526283) to aosp-main-future Xin Li
Bug: 337098550 Merged-In: I8d975b81afd2cde1d543e8bc7e730a6e42393bec Change-Id: I714982d2b0df34afc9f9729deb2636de5d0c7b64
2024-05-10Remove empty doc comment Chris Wailes
Test: m libbufferstreams-internal_test Bug: 333887339 Change-Id: I161f73a836e5e0daf7dd70c62ee4cc00e4809e3a Merged-In: I16c93f1f350eb94139045ee1aec7c6af690a3653
2024-05-03RESTRICT AUTOMERGE Oriol Prieto Gasco
Set the container field of aconfig flags Test: printflags --format='{package}:{container}:' | grep "::" Bug: 312769710 Flag: NONE Change-Id: Ic5c3c7839cb4c34c8a97d841ccaeaeda0771cbcd
2024-02-22Merge changes Ia63685ac,I9c32ac17,I6ca17dda into main Jim Shargo
* changes: bufferstreams: Present times are no longer Instants. bufferstreams: Make BufferOwner Send+Sync bufferstreams: Add AIDL interfaces/parcelables for stream types
2024-02-21Add default_teams John Reck
Test: n/a Change-Id: I6c2426303194df4b94f6181f4b5c71970bc5f7fd
2024-02-16bufferstreams: Present times are no longer Instants. James Shargo
We need to be able to read these over the wire and send them as timestamps to C++ code. Replace the instants with a more compatible i64 timestamp nanos timestamp. Test: atest Change-Id: Ia63685ac406855b4a9257c661839640ab74a555c
2024-02-16bufferstreams: Make BufferOwner Send+Sync Jim Shargo
This is important for IPCs to work, since buffers can come in over the wire, be processed by binder threads, and handed off to client-controlled worker threads. Bug: 296099728 Test: atest Change-Id: I9c32ac17e07456aa6a8e7211c67893a51fc9724c
2024-02-16bufferstreams: Add AIDL interfaces/parcelables for stream types Jim Shargo
These interfaces incorporate jreck@'s ideas for caching and BufferAttachements. This means that we only need to send the heavy-weight HardwareBuffers once, and then we can just send a lightweight reference to the buffer. This interface is not intended for public use yet and is going to be actively developed for the next few months. Bug: 296099728 Bug: 296450069 Test: builds Change-Id: I6ca17dda1186ae74773bc344f3cda4b5574585aa
2024-02-07Set the container field of aconfig flags Oriol Prieto Gasco
Please see go/aconfig-flag-containers for more context Test: m Bug: 312769710 Change-Id: Ibe1f32691a2fb10a267b580766abcde621a596ff
2023-12-08Add logging funtionatily to the example app. Carlos Martinez Romero
Logs can now be sent over from CPP to Kotlin and displayed in the LogOutput Card. Bug: 296272152 Test: Built and run on device. Change-Id: I79641dd9fbd6d04db0615579591a2bef4b24c914
2023-10-26Updated the BufferStreamsDemoApp UI to jetpack compose. Carlos Martinez Romero
The project is no longer using Java and now the MainActivity uses Kotlin, calling JNI from Kotlin is fairly simiar. Currently there are 3 empty demo screens, the first demo screen will call a JNI function but there is no support for logs. Bug: 296272152 Test: Built and ran on device. Change-Id: I92f0951899fb6379e1506abdc8e1d67002433787
2023-10-16libbufferstreams: Add Buffer, BufferPool and BufferOwner. Carlos Martinez Romero
This change adds supoprt for a simple buffer pool. Buffer pools can be notified when a buffer is dropped, so the buffer can be provided by the pool again. We introduced the concept of a BufferOwner, which is generic and can be implemented by a client for their own custom buffer pools. Along the way we updated the Frame struct to use a Buffer instead of a AHardwareBuffer. Pair: jshargo Bug: 296450854, 296101127 Test: atest libbufferstreams-internal_test Change-Id: Ib7c1ba19f96d1deb3d329366aa9215ad89228f9e
2023-10-16libbufferstreams: Add the BufferPoolPublisher. Carlos Martinez Romero
The BufferPoolPublisher submits buffers from a pool over to a subscriber. Pair: jshargo Bug: 296450854, 296101127 Test: atest libbufferstreams-internal_test Change-Id: Ic473677c9c71b0505c3fcd2b4fb7d0fdf3d7d01b
2023-10-10nativewindow: Misc. improvements for AHardwareBuffer Rust wrapper Jim Shargo
Changes include: - Rename AHardwareBuffer to HardwareBuffer - Expose AHardwareBuffer as a raw pointer type - Making HardwareBuffer Send - HardwareBuffer now derives Debug, PartialEq and Eq - Use NonNull instead of a *mut pointer - Adding an into_raw function to match from_raw - Adding a Clone impl that acquires a ref Bug: 296449936, 296100790 Test: atest libnativewindow_rs-internal_test Change-Id: Iaf916fabe49190f47abd1a9ed34afdb76fd20e40
2023-09-26Merge changes Ibbf925d2,I12a2aa59 into main Treehugger Robot
* changes: bufferstreams: Add basic implementations of core BS traits libbufferstreams: Add a StreamConfig type (and associated trait methods)
2023-09-22Bufferstreams test app. Carlos Martinez Romero
Used to test out BufferQueues and BufferStreams. Test: Ran the app. Bug: 296272152 Change-Id: Ie1192658bf7db49b2ccc216433585fbd1cd1bff7
2023-09-22bufferstreams: Add basic implementations of core BS traits James Shargo
For BufferSubscriptions, this change provides a generic implenmentation that tracks requests and cancellations. For BufferPublishers and BufferSubscribers, we provide test implementations that let a user manually control the flow of events between the two objects. The traits themselves have also been updated to be more generic--instead of forcing Arc/Weak pointers for shared objects, we now use generic owned types for a BufferPublisher's BufferSubscriber and a BufferSubscriber's BufferSubscription. To make it possible to hold into a handle to a BufferSubscriber while a BufferPublisher owns it, we provide a generic implementation of BufferSubscriber for any Arc<BS: BufferSubscriber> that delegates to the underlying subscriber. Bug: 296449936, 296100790 Test: atest libbufferstreams-internal_test Change-Id: Ibbf925d2dfb85f606baa3dc1f9722440af4f862c
2023-09-18libbufferstreams: Add a StreamConfig type (and associated trait methods) James Shargo
This type will be used to create publishers and subscribers, and contains enough information to create AHardwareBuffers. Bug: 296100790, 296450062 Test: atest libbufferstreams-internal_test Change-Id: I12a2aa59e8931ab77c658371d16450f3618de8ce
2023-08-24bufferstreams: Set up flags and add ones for each milestone Jim Shargo
Bug: 296101122 Test: m libbufferstreams_flags_rust libbufferstreams_flags_cc Change-Id: I529ab2a168163753df6439bc11fb0ceece0f9f0b
2023-08-04Added the initial traits for bufferstreams. Carlos Martinez Romero
Bug: 290409936 Pair: jshargo Test: Pending tests Change-Id: I4d1344650bf7ce2a677e21e4c69e5884230b53a3
2023-07-13Add the basic files needed for an empty library. Carlos Martinez Romero
Test: None Bug: 290409936 Pair: jshargo Change-Id: I7a31fcbd3f1facc519e6020d17a9de3f1b2e3d91
2023-06-28libs: Add an empty-ish folder for libbufferstreams James Shargo
Bug: 285321812 Ignore-AOSP-First: new OWNERS file, no need to synchronize Test: n/a Change-Id: I3b7665b18a203fdf1a457593fd8827528bb7b079