void MCameraClient::dataCallback(int32_t msgType, const sp<IMemory>& data) { INFO("%s", __func__); int dataSize = data->size(); INFO("data type = %d, size = %d", msgType, dataSize); Mutex::Autolock _l(mLock); ssize_t i = mDataCount.indexOfKey(msgType); if (i < 0) { mDataCount.add(msgType, 1); mDataSize.add(msgType, dataSize); } else { ++mDataCount.editValueAt(i); mDataSize.editValueAt(i) = dataSize; } mCond.signal(); if (msgType == CAMERA_MSG_VIDEO_FRAME) { ASSERT(mReleaser != NULL); mReleaser->releaseRecordingFrame(data); } }
void MCameraClient::notifyCallback(int32_t msgType, int32_t ext1, int32_t ext2) { INFO("%s", __func__); Mutex::Autolock _l(mLock); ssize_t i = mNotifyCount.indexOfKey(msgType); if (i < 0) { mNotifyCount.add(msgType, 1); } else { ++mNotifyCount.editValueAt(i); } mCond.signal(); }