Implement timeline in libandroid ASurfaceControl.

As part of choreographer project.

Bug: 198192003
Test: atest ASurfaceControlTest
Change-Id: I36fdeae1d2bc07fdbd487fc0a40324fe48baca09
This commit is contained in:
Rachel Lee
2021-10-19 16:40:41 -07:00
parent caeabe22ad
commit e1e77cca8a
2 changed files with 9 additions and 0 deletions

View File

@@ -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

View File

@@ -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});
}