实现很简单,给 mFrameAvailableListener 赋值。
ConsumerBase 继承 ConsumerListener,在构造函数 ConsumerBase() 中,调用 consumerConnect() 注册了 listener。它收到回调时会转发给 ConsumerBase::FrameAvailableListener 对象 mFrameAvailableListener。
void ConsumerBase::setFrameAvailableListener(
const wp<FrameAvailableListener>& listener) {
CB_LOGV("setFrameAvailableListener");
Mutex::Autolock lock(mFrameAvailableMutex);
mFrameAvailableListener = listener;
}