Lines Matching refs:notifier
638 auto notifier = GetNotifierByReceiverId(receiverId);
639 if (notifier == nullptr) {
671 DataNotifier::Ptr notifier = std::make_shared<DataNotifier>();
672 notifier->SetListenDispatcher(shared_from_this());
673 notifier->SetNotifyReceiver(receiver);
683 notifier->SetReadIndex(static_cast<uint32_t>(log2(usableRef)));
685 receiver->GetReceiverId(), notifier->GetReadIndex(), usableRef, readRefFlag_);
687 notifiers_.emplace(receiver->GetReceiverId(), notifier);
690 notifier->audioIndex = INVALID_INDEX;
691 notifier->videoIndex = INVALID_INDEX;
701 notifier->audioIndex = circularBuffer_.size() - 1;
703 notifier->videoIndex = INVALID_INDEX;
712 notifier->audioIndex = tempIndex == keyIndexList_.back() ? INVALID_INDEX : tempIndex;
713 notifier->videoIndex = keyIndexList_.back();
724 notifier->audioIndex = tempIndex;
725 notifier->videoIndex = INVALID_INDEX;
750 auto notifier = GetNotifierByReceiverPtr(receiver);
751 if (notifier == nullptr) {
757 notifier->SetBlock();
761 readRefFlag_ &= ~(RECV_FLAG_BASE << notifier->GetReadIndex());
767 int32_t BufferDispatcher::DetachReceiver(uint32_t receiverId, DataNotifier::Ptr notifier)
769 SHARING_LOGI("buffer dispatcher: Detach notifier in.");
770 if (notifier == nullptr) {
771 SHARING_LOGE("buffer dispatcher: Detach receiver failed - null notifier.");
774 notifier->SetBlock();
778 readRefFlag_ &= ~(RECV_FLAG_BASE << notifier->GetReadIndex());
789 auto notifier = it->second;
790 if (notifier == nullptr) {
795 auto receiver = notifier->GetBufferReceiver();
860 auto notifier = GetNotifierByReceiverId(receiverId);
861 if (notifier == nullptr) {
862 SHARING_LOGE("notifier is nullptr.");
867 uint32_t readIndex = notifier->GetReceiverReadIndex(type);
873 if ((keyOnly_ || notifier->IsKeyModeReceiver()) && type == MEDIA_TYPE_VIDEO &&
885 readIndex = notifier->GetReceiverReadIndex(type);
1198 for (auto &[recvId, notifier] : notifiers_) {
1199 if (notifier->videoIndex > 0 && notifier->videoIndex != INVALID_INDEX) {
1200 notifier->videoIndex--;
1202 if (notifier->audioIndex > 0 && notifier->audioIndex != INVALID_INDEX) {
1203 notifier->audioIndex--;
1247 auto notifier = GetNotifierByReceiverId(receiverId);
1248 if (notifier == nullptr) {
1249 SHARING_LOGE("notifier is nullptr.");
1254 if (readOver && notifier->NeedAcceleration() && type == MEDIA_TYPE_VIDEO) {
1256 notifier->SendAccelerationDone();
1259 notifier->SetNeedUpdate(noAvaliableData, type);
1262 notifier->videoIndex = nextIndex;
1264 notifier->audioIndex = nextIndex;
1266 notifier->videoIndex = nextIndex;
1267 notifier->audioIndex = nextIndex;
1271 notifier->audioIndex, notifier->videoIndex);
1309 auto notifier = GetNotifierByReceiverId(receiverId);
1310 if (notifier == nullptr) {
1315 bool keyModeReceiver = notifier->IsKeyModeReceiver();
1341 for (auto &[recvId, notifier] : notifiers_) {
1342 notifier->videoIndex = INVALID_INDEX;
1343 notifier->audioIndex = INVALID_INDEX;
1473 for (auto &[recvId, notifier] : dispatcher->notifiers_) {
1474 auto index = notifier->GetReadIndex();
1478 if (notifier->IsMixedReceiver()) {
1486 notifier->NotifyDataReceiver(notifyType);
1500 auto notifier = GetNotifierByReceiverId(receiverId);
1501 if (notifier == nullptr) {
1502 SHARING_LOGE("notifier is nullptr.");
1515 bool dataAvaliable = notifier->DataAvailable(type);
1562 for (auto &[recvId, notifier] : notifiers_) {
1563 auto index = notifier->GetReadIndex();
1569 keyModeReceiver = notifier->IsKeyModeReceiver();
1571 notifier->videoIndex = circularBuffer_.size() - 1;
1711 for (auto &[recvId, notifier] : notifiers_) {
1713 if (notifier->videoIndex == INVALID_INDEX) {
1714 notifier->videoIndex = index;
1715 SHARING_LOGD("RecvId %{public}d Activate %{public}d.", notifier->GetReceiverId(), notifier->videoIndex);
1719 if (notifier->audioIndex == INVALID_INDEX) {
1720 notifier->audioIndex = index;
1721 SHARING_LOGD("RecvId %{public}d Activate %{public}d.", notifier->GetReceiverId(), notifier->audioIndex);
1794 for (auto &[recvId, notifier] : notifiers_) {
1795 if (notifier->IsKeyRedirectReceiver()) {
1797 notifier->GetReceiverId(), notifier->videoIndex, nextIndex);
1798 auto curIndex = notifier->videoIndex;
1799 notifier->videoIndex = nextIndex;
1801 SetReceiverReadFlag(notifier->GetReceiverId(), circularBuffer_[i]);
1804 auto receiver = notifier->GetBufferReceiver();