diff --git a/native/android/libandroid.map.txt b/native/android/libandroid.map.txt index f00eef2f1b001..3c1aa4409254b 100644 --- a/native/android/libandroid.map.txt +++ b/native/android/libandroid.map.txt @@ -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 diff --git a/native/android/surface_control.cpp b/native/android/surface_control.cpp index ceba4d60bed0e..d3b7744453262 100644 --- a/native/android/surface_control.cpp +++ b/native/android/surface_control.cpp @@ -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}); +}