Codec2: adjust to C2Work structure changes

Bug: 64121714
Change-Id: I1a4a80bc0def673933e2734497db0cefcd034f8b
diff --git a/C2VDAComponent.cpp b/C2VDAComponent.cpp
index ede61ba..ab7ff13 100644
--- a/C2VDAComponent.cpp
+++ b/C2VDAComponent.cpp
@@ -102,8 +102,8 @@
 }
 
 // Mask against 30 bits to avoid (undefined) wraparound on signed integer.
-int32_t frameIndexToBitstreamId(uint64_t frameIndex) {
-    return static_cast<int32_t>(frameIndex & 0x3FFFFFFF);
+int32_t frameIndexToBitstreamId(c2_cntr64_t frameIndex) {
+    return static_cast<int32_t>(frameIndex.peeku() & 0x3FFFFFFF);
 }
 
 const C2String kH264DecoderName = "v4l2.h264.decode";
@@ -578,15 +578,15 @@
     mQueue.pop();
 
     // Send input buffer to VDA for decode.
-    // Use frame_index as bitstreamId.
+    // Use frameIndex as bitstreamId.
     CHECK_EQ(work->input.buffers.size(), 1u);
     C2ConstLinearBlock linearBlock = work->input.buffers.front()->data().linearBlocks().front();
     if (linearBlock.size() > 0) {
-        int32_t bitstreamId = frameIndexToBitstreamId(work->input.ordinal.frame_index);
+        int32_t bitstreamId = frameIndexToBitstreamId(work->input.ordinal.frameIndex);
         sendInputBufferToAccelerator(linearBlock, bitstreamId);
     }
 
-    if (work->input.flags & C2BufferPack::FLAG_END_OF_STREAM) {
+    if (work->input.flags & C2FrameData::FLAG_END_OF_STREAM) {
         mVDAAdaptor->flush();
         mComponentState = ComponentState::DRAINING;
     }
@@ -670,9 +670,10 @@
             info->mGraphicBlock, base::Bind(&C2VDAComponent::returnOutputBuffer,
                                             mWeakThisFactory.GetWeakPtr(), pictureBufferId)));
     work->worklets.front()->output.ordinal = work->input.ordinal;
-    work->worklets_processed = 1u;
+    work->workletsProcessed = 1u;
 
-    int64_t currentTimestamp = base::checked_cast<int64_t>(work->input.ordinal.timestamp);
+    // TODO: this does not work for timestamps as they can wrap around
+    int64_t currentTimestamp = base::checked_cast<int64_t>(work->input.ordinal.timestamp.peek());
     CHECK_GE(currentTimestamp, mLastOutputTimestamp);
     mLastOutputTimestamp = currentTimestamp;
 
@@ -684,19 +685,19 @@
     ALOGV("onDrain");
     EXPECT_STATE_OR_RETURN_ON_ERROR(STARTED);
 
-    // Set input flag as C2BufferPack::FLAG_END_OF_STREAM to the last queued work. If mQueue is
+    // Set input flag as C2FrameData::FLAG_END_OF_STREAM to the last queued work. If mQueue is
     // empty, set to the last work in mPendingWorks and then signal flush immediately.
     if (!mQueue.empty()) {
-        mQueue.back()->input.flags = static_cast<C2BufferPack::flags_t>(
-                mQueue.back()->input.flags | C2BufferPack::FLAG_END_OF_STREAM);
+        mQueue.back()->input.flags = static_cast<C2FrameData::flags_t>(
+                mQueue.back()->input.flags | C2FrameData::FLAG_END_OF_STREAM);
     } else if (!mPendingWorks.empty()) {
         C2Work* work = getPendingWorkLastToFinish();
         if (!work) {
             reportError(C2_CORRUPTED);
             return;
         }
-        mPendingWorks.back()->input.flags = static_cast<C2BufferPack::flags_t>(
-                mPendingWorks.back()->input.flags | C2BufferPack::FLAG_END_OF_STREAM);
+        mPendingWorks.back()->input.flags = static_cast<C2FrameData::flags_t>(
+                mPendingWorks.back()->input.flags | C2FrameData::FLAG_END_OF_STREAM);
         mVDAAdaptor->flush();
         mComponentState = ComponentState::DRAINING;
     } else {
@@ -834,7 +835,7 @@
 C2Work* C2VDAComponent::getPendingWorkByBitstreamId(int32_t bitstreamId) {
     auto workIter = std::find_if(mPendingWorks.begin(), mPendingWorks.end(),
                                  [bitstreamId](const std::unique_ptr<C2Work>& w) {
-                                     return frameIndexToBitstreamId(w->input.ordinal.frame_index) ==
+                                     return frameIndexToBitstreamId(w->input.ordinal.frameIndex) ==
                                             bitstreamId;
                                  });