Loading include/media/stagefright/ACodec.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -110,6 +110,9 @@ private: enum { enum { kWhatSetup = 'setu', kWhatSetup = 'setu', kWhatOMXMessage = 'omx ', kWhatOMXMessage = 'omx ', // same as kWhatOMXMessage - but only used with // handleMessage during OMX message-list handling kWhatOMXMessageItem = 'omxI', kWhatOMXMessageList = 'omxL', kWhatOMXMessageList = 'omxL', kWhatInputBufferFilled = 'inpF', kWhatInputBufferFilled = 'inpF', kWhatOutputBufferDrained = 'outD', kWhatOutputBufferDrained = 'outD', Loading media/libstagefright/ACodec.cpp +8 −1 Original line number Original line Diff line number Diff line Loading @@ -4511,6 +4511,12 @@ bool ACodec::BaseState::onMessageReceived(const sp<AMessage> &msg) { return checkOMXMessage(msg) ? onOMXMessageList(msg) : true; return checkOMXMessage(msg) ? onOMXMessageList(msg) : true; } } case ACodec::kWhatOMXMessageItem: { // no need to check as we already did it for kWhatOMXMessageList return onOMXMessage(msg); } case ACodec::kWhatOMXMessage: case ACodec::kWhatOMXMessage: { { return checkOMXMessage(msg) ? onOMXMessage(msg) : true; return checkOMXMessage(msg) ? onOMXMessage(msg) : true; Loading Loading @@ -4598,7 +4604,8 @@ bool ACodec::BaseState::onOMXMessageList(const sp<AMessage> &msg) { bool receivedRenderedEvents = false; bool receivedRenderedEvents = false; for (std::list<sp<AMessage>>::const_iterator it = msgList->getList().cbegin(); for (std::list<sp<AMessage>>::const_iterator it = msgList->getList().cbegin(); it != msgList->getList().cend(); ++it) { it != msgList->getList().cend(); ++it) { onOMXMessage(*it); (*it)->setWhat(ACodec::kWhatOMXMessageItem); mCodec->handleMessage(*it); int32_t type; int32_t type; CHECK((*it)->findInt32("type", &type)); CHECK((*it)->findInt32("type", &type)); if (type == omx_message::FRAME_RENDERED) { if (type == omx_message::FRAME_RENDERED) { Loading Loading
include/media/stagefright/ACodec.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -110,6 +110,9 @@ private: enum { enum { kWhatSetup = 'setu', kWhatSetup = 'setu', kWhatOMXMessage = 'omx ', kWhatOMXMessage = 'omx ', // same as kWhatOMXMessage - but only used with // handleMessage during OMX message-list handling kWhatOMXMessageItem = 'omxI', kWhatOMXMessageList = 'omxL', kWhatOMXMessageList = 'omxL', kWhatInputBufferFilled = 'inpF', kWhatInputBufferFilled = 'inpF', kWhatOutputBufferDrained = 'outD', kWhatOutputBufferDrained = 'outD', Loading
media/libstagefright/ACodec.cpp +8 −1 Original line number Original line Diff line number Diff line Loading @@ -4511,6 +4511,12 @@ bool ACodec::BaseState::onMessageReceived(const sp<AMessage> &msg) { return checkOMXMessage(msg) ? onOMXMessageList(msg) : true; return checkOMXMessage(msg) ? onOMXMessageList(msg) : true; } } case ACodec::kWhatOMXMessageItem: { // no need to check as we already did it for kWhatOMXMessageList return onOMXMessage(msg); } case ACodec::kWhatOMXMessage: case ACodec::kWhatOMXMessage: { { return checkOMXMessage(msg) ? onOMXMessage(msg) : true; return checkOMXMessage(msg) ? onOMXMessage(msg) : true; Loading Loading @@ -4598,7 +4604,8 @@ bool ACodec::BaseState::onOMXMessageList(const sp<AMessage> &msg) { bool receivedRenderedEvents = false; bool receivedRenderedEvents = false; for (std::list<sp<AMessage>>::const_iterator it = msgList->getList().cbegin(); for (std::list<sp<AMessage>>::const_iterator it = msgList->getList().cbegin(); it != msgList->getList().cend(); ++it) { it != msgList->getList().cend(); ++it) { onOMXMessage(*it); (*it)->setWhat(ACodec::kWhatOMXMessageItem); mCodec->handleMessage(*it); int32_t type; int32_t type; CHECK((*it)->findInt32("type", &type)); CHECK((*it)->findInt32("type", &type)); if (type == omx_message::FRAME_RENDERED) { if (type == omx_message::FRAME_RENDERED) { Loading