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

Commit 7dbf76d5 authored by Adithya Srinivasan's avatar Adithya Srinivasan
Browse files

Add implementation for onFrameDetached and onFrameCancelled

With the detach and cancel events added to the proto, the
onFrameDetached and onFrameCancelled functions need to be implemented
and start emitting the respective events.

Test: Run GAPID, open youtube and play a video.
Bug: 142502670
Change-Id: I25a90e75a83dc4e55a5676697050689dabc56fa1
parent 58a5df89
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -374,13 +374,26 @@ void BufferQueueLayer::latchPerFrameState(

void BufferQueueLayer::onFrameDequeued(const uint64_t bufferId) {
    const int32_t layerID = getSequence();
    mFlinger->mFrameTracer->traceNewLayer(layerID, getName().c_str());
    mFlinger->mFrameTracer->traceTimestamp(layerID, bufferId, FrameTracer::UNSPECIFIED_FRAME_NUMBER,
                                           systemTime(), FrameTracer::FrameEvent::DEQUEUE, 3000);
                                           systemTime(), FrameTracer::FrameEvent::DEQUEUE);
}

void BufferQueueLayer::onFrameAvailable(const BufferItem& item) {
void BufferQueueLayer::onFrameDetached(const uint64_t bufferId) {
    const int32_t layerID = getSequence();
    mFlinger->mFrameTracer->traceNewLayer(layerID, getName().c_str());
    mFlinger->mFrameTracer->traceTimestamp(layerID, bufferId, FrameTracer::UNSPECIFIED_FRAME_NUMBER,
                                           systemTime(), FrameTracer::FrameEvent::DETACH);
}

void BufferQueueLayer::onFrameCancelled(const uint64_t bufferId) {
    const int32_t layerID = getSequence();
    mFlinger->mFrameTracer->traceTimestamp(layerID, bufferId, FrameTracer::UNSPECIFIED_FRAME_NUMBER,
                                           systemTime(), FrameTracer::FrameEvent::CANCEL);
}

void BufferQueueLayer::onFrameAvailable(const BufferItem& item) {
    const int32_t layerID = getSequence();
    mFlinger->mFrameTracer->traceTimestamp(layerID, item.mGraphicBuffer->getId(), item.mFrameNumber,
                                           systemTime(), FrameTracer::FrameEvent::QUEUE);

+2 −0
Original line number Diff line number Diff line
@@ -94,6 +94,8 @@ protected:
    void onFrameReplaced(const BufferItem& item) override;
    void onSidebandStreamChanged() override;
    void onFrameDequeued(const uint64_t bufferId) override;
    void onFrameDetached(const uint64_t bufferId) override;
    void onFrameCancelled(const uint64_t bufferId) override;
    // -----------------------------------------------------------------------

public: