summaryrefslogtreecommitdiff
path: root/src/components/media_manager/src/media_manager_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/media_manager/src/media_manager_impl.cc')
-rw-r--r--src/components/media_manager/src/media_manager_impl.cc28
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 {