summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCollin <iCollin@users.noreply.github.com>2019-10-03 15:43:09 -0400
committerGitHub <noreply@github.com>2019-10-03 15:43:09 -0400
commit4332289e7db5e7c4208ef99177631178abebe336 (patch)
tree27bc4ea39a449267ed590aeef91c2a0ef04779e1
parent7c442abce73c462e7724a64b3ce037bcb8e9093e (diff)
downloadsdl_core-4332289e7db5e7c4208ef99177631178abebe336.tar.gz
ensure correct order of stream length calculations (#3064)
OnMessageReceived is called with data before StartStream is called
-rw-r--r--src/components/media_manager/src/media_manager_impl.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/components/media_manager/src/media_manager_impl.cc b/src/components/media_manager/src/media_manager_impl.cc
index 1f09f67ace..44f9601242 100644
--- a/src/components/media_manager/src/media_manager_impl.cc
+++ b/src/components/media_manager/src/media_manager_impl.cc
@@ -275,11 +275,6 @@ void MediaManagerImpl::StartStreaming(
int32_t application_key, protocol_handler::ServiceType service_type) {
LOG4CXX_AUTO_TRACE(logger_);
- if (protocol_handler::ServiceType::kAudio == service_type &&
- "socket" == settings().audio_server_type()) {
- socket_audio_stream_start_time_ = std::chrono::system_clock::now();
- }
-
if (streamer_[service_type]) {
streamer_[service_type]->StartActivity(application_key);
}
@@ -289,6 +284,8 @@ void MediaManagerImpl::StopStreaming(
int32_t application_key, protocol_handler::ServiceType service_type) {
LOG4CXX_AUTO_TRACE(logger_);
+ stream_data_size_ = 0ull;
+
if (streamer_[service_type]) {
streamer_[service_type]->StopActivity(application_key);
}
@@ -326,6 +323,10 @@ void MediaManagerImpl::OnMessageReceived(
if (app) {
if (ServiceType::kAudio == service_type &&
"socket" == settings().audio_server_type()) {
+ if (stream_data_size_ == 0) {
+ socket_audio_stream_start_time_ = std::chrono::system_clock::now();
+ }
+
stream_data_size_ += message->data_size();
uint32_t ms_for_all_data = DataSizeToMilliseconds(stream_data_size_);
uint32_t ms_since_stream_start =