diff options
Diffstat (limited to 'src/components/media_manager/src/media_manager_impl.cc')
-rw-r--r-- | src/components/media_manager/src/media_manager_impl.cc | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/components/media_manager/src/media_manager_impl.cc b/src/components/media_manager/src/media_manager_impl.cc index 90b891133d..bc93f2f764 100644 --- a/src/components/media_manager/src/media_manager_impl.cc +++ b/src/components/media_manager/src/media_manager_impl.cc @@ -311,6 +311,34 @@ void MediaManagerImpl::FramesProcessed(int32_t application_key, if (protocol_handler_) { protocol_handler_->SendFramesNumber(application_key, frame_number); } + + application_manager::ApplicationSharedPtr app = + application_manager_.application(application_key); + + if (app) { + auto audio_stream = std::dynamic_pointer_cast<StreamerAdapter>( + streamer_[protocol_handler::ServiceType::kAudio]); + auto video_stream = std::dynamic_pointer_cast<StreamerAdapter>( + streamer_[protocol_handler::ServiceType::kMobileNav]); + + if (audio_stream.use_count() != 0) { + size_t audio_queue_size = audio_stream->GetMsgQueueSize(); + LOG4CXX_DEBUG(logger_, + "# Messages in audio queue = " << audio_queue_size); + if (audio_queue_size > 0) { + app->WakeUpStreaming(protocol_handler::ServiceType::kAudio); + } + } + + if (video_stream.use_count() != 0) { + size_t video_queue_size = video_stream->GetMsgQueueSize(); + LOG4CXX_DEBUG(logger_, + "# Messages in video queue = " << video_queue_size); + if (video_queue_size > 0) { + app->WakeUpStreaming(protocol_handler::ServiceType::kMobileNav); + } + } + } } const MediaManagerSettings& MediaManagerImpl::settings() const { |