Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e1e77cca authored by Rachel Lee's avatar Rachel Lee
Browse files

Implement timeline in libandroid ASurfaceControl.

As part of choreographer project.

Bug: 198192003
Test: atest ASurfaceControlTest
Change-Id: I36fdeae1d2bc07fdbd487fc0a40324fe48baca09
parent caeabe22
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -263,6 +263,7 @@ LIBANDROID {
    ASurfaceTransaction_setEnableBackPressure; # introduced=31
    ASurfaceTransaction_setFrameRate; # introduced=30
    ASurfaceTransaction_setFrameRateWithChangeStrategy; # introduced=31
    ASurfaceTransaction_setFrameTimeline; # introduced=Tiramisu
    ASurfaceTransaction_setGeometry; # introduced=29
    ASurfaceTransaction_setHdrMetadata_cta861_3; # introduced=29
    ASurfaceTransaction_setHdrMetadata_smpte2086; # introduced=29
+8 −0
Original line number Diff line number Diff line
@@ -659,3 +659,11 @@ void ASurfaceTransaction_setOnCommit(ASurfaceTransaction* aSurfaceTransaction, v

    transaction->addTransactionCommittedCallback(callback, context);
}

void ASurfaceTransaction_setFrameTimeline(ASurfaceTransaction* aSurfaceTransaction,
                                          int64_t vsyncId) {
    CHECK_NOT_NULL(aSurfaceTransaction);
    // TODO(b/210043506): Get start time from platform.
    ASurfaceTransaction_to_Transaction(aSurfaceTransaction)
            ->setFrameTimelineInfo({.vsyncId = vsyncId, .startTimeNanos = 0});
}