mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
bug fix: handle OMX_EventBufferFlag events
OMX_EventBufferFlag event is sent when the component has processed a buffer with its EOS flag set. This event is not sent by soft omx components. Vendor components can send this. From IOMX point of view, this event is not sent for processing bug:64102197 Merged-In: I3a978a885b1e4446f82f2356ae677f70ea6f8150 Change-Id: I3a978a885b1e4446f82f2356ae677f70ea6f8150
This commit is contained in:
committed by
Pawin Vongmasa
parent
74fcad94f1
commit
28cd8404d6
@@ -560,9 +560,6 @@ void testEOS(sp<IOmxNode> omxNode, sp<CodecObserver> observer,
|
||||
// something unexpected happened
|
||||
EXPECT_TRUE(false);
|
||||
}
|
||||
} else if (msg.data.eventData.event == OMX_EventBufferFlag) {
|
||||
// soft omx components donot send this, we will just ignore it
|
||||
// for now
|
||||
} else {
|
||||
// something unexpected happened
|
||||
EXPECT_TRUE(false);
|
||||
|
||||
@@ -131,6 +131,12 @@ struct CodecObserver : public IOmxObserver {
|
||||
android::hardware::media::omx::V1_0::Message::Type::EVENT) {
|
||||
*msg = *it;
|
||||
msgQueue.erase(it);
|
||||
// OMX_EventBufferFlag event is sent when the component has
|
||||
// processed a buffer with its EOS flag set. This event is
|
||||
// not sent by soft omx components. Vendor components can
|
||||
// send this. From IOMX point of view, we will ignore this
|
||||
// event.
|
||||
if (msg->data.eventData.event == OMX_EventBufferFlag) break;
|
||||
return ::android::hardware::media::omx::V1_0::Status::OK;
|
||||
} else if (it->type == android::hardware::media::omx::V1_0::
|
||||
Message::Type::FILL_BUFFER_DONE) {
|
||||
|
||||
@@ -587,9 +587,6 @@ void portReconfiguration(sp<IOmxNode> omxNode, sp<CodecObserver> observer,
|
||||
std::cout << "[ ] Warning ! OMX_EventError/ "
|
||||
"Decode Frame Call might be failed \n";
|
||||
return;
|
||||
} else if (msg.data.eventData.event == OMX_EventBufferFlag) {
|
||||
// soft omx components donot send this, we will just ignore it
|
||||
// for now
|
||||
} else {
|
||||
// something unexpected happened
|
||||
ASSERT_TRUE(false);
|
||||
|
||||
Reference in New Issue
Block a user