summaryrefslogtreecommitdiff
path: root/src/components/media_manager
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/media_manager')
-rw-r--r--src/components/media_manager/CMakeLists.txt2
-rw-r--r--src/components/media_manager/include/media_manager/audio/audio_stream_sender_thread.h18
-rw-r--r--src/components/media_manager/include/media_manager/media_adapter_impl.h4
-rw-r--r--src/components/media_manager/include/media_manager/media_manager_impl.h4
-rw-r--r--src/components/media_manager/include/media_manager/streamer_adapter.h7
-rw-r--r--src/components/media_manager/src/audio/a2dp_source_player_adapter.cc12
-rw-r--r--src/components/media_manager/src/audio/audio_stream_sender_thread.cc65
-rw-r--r--src/components/media_manager/src/audio/from_mic_to_file_recorder_thread.cc30
-rw-r--r--src/components/media_manager/src/media_manager_impl.cc39
-rw-r--r--src/components/media_manager/src/streamer_adapter.cc2
-rw-r--r--src/components/media_manager/test/include/media_manager/mock_media_adapter_impl.h5
-rw-r--r--src/components/media_manager/test/media_manager_impl_test.cc39
12 files changed, 162 insertions, 65 deletions
diff --git a/src/components/media_manager/CMakeLists.txt b/src/components/media_manager/CMakeLists.txt
index 4913102c9c..9010d15dc0 100644
--- a/src/components/media_manager/CMakeLists.txt
+++ b/src/components/media_manager/CMakeLists.txt
@@ -35,7 +35,6 @@ include_directories(
${COMPONENTS_DIR}/media_manager/include/
${COMPONENTS_DIR}/media_manager/include/audio/
${COMPONENTS_DIR}/media_manager/include/video/
- ${COMPONENTS_DIR}/remote_control/include/
${COMPONENTS_DIR}/utils/include/
${COMPONENTS_DIR}/protocol_handler/include/
${COMPONENTS_DIR}/connection_handler/include/
@@ -43,7 +42,6 @@ include_directories(
${COMPONENTS_DIR}/smart_objects/include/
${COMPONENTS_DIR}/policy/include/
${COMPONENTS_DIR}/rpc_base/include/
- ${COMPONENTS_DIR}/functional_module/include/
${COMPONENTS_DIR}/hmi_message_handler/include/
${COMPONENTS_DIR}/formatters/include/
${COMPONENTS_DIR}/config_profile/include/
diff --git a/src/components/media_manager/include/media_manager/audio/audio_stream_sender_thread.h b/src/components/media_manager/include/media_manager/audio/audio_stream_sender_thread.h
index 3645a9cb81..a246e468b7 100644
--- a/src/components/media_manager/include/media_manager/audio/audio_stream_sender_thread.h
+++ b/src/components/media_manager/include/media_manager/audio/audio_stream_sender_thread.h
@@ -62,6 +62,12 @@ typedef enum {
typedef enum { AT_INVALID = -1, AT_PCM = 0 } AudioType;
+// AudioPassThru
+typedef struct {
+ std::vector<uint8_t> binary_data;
+ int32_t session_key;
+} AudioData;
+
/*
* @brief AudioStreamSenderThread class used to read binary data written from
* microphone
@@ -104,6 +110,18 @@ class AudioStreamSenderThread : public threads::ThreadDelegate {
*/
bool SendEndAudioPassThru();
+ /**
+ * @brief Creates AudioPassThru data chunk and inserts it
+ * to audio_pass_thru_messages_
+ *
+ * @param session_key Id of application for which
+ * audio pass thru should be sent
+ *
+ * @param binary_data AudioPassThru data chunk
+ */
+ void SendAudioPassThroughNotification(uint32_t session_key,
+ std::vector<uint8_t>& binary_data);
+
void sendAudioChunkToMobile();
bool getShouldBeStopped();
diff --git a/src/components/media_manager/include/media_manager/media_adapter_impl.h b/src/components/media_manager/include/media_manager/media_adapter_impl.h
index 75c48c98b7..37401f9c2b 100644
--- a/src/components/media_manager/include/media_manager/media_adapter_impl.h
+++ b/src/components/media_manager/include/media_manager/media_adapter_impl.h
@@ -40,7 +40,7 @@
namespace media_manager {
-typedef utils::SharedPtr<MediaAdapterListener> MediaListenerPtr;
+typedef std::shared_ptr<MediaAdapterListener> MediaListenerPtr;
class MediaAdapterImpl : public MediaAdapter {
public:
@@ -57,7 +57,7 @@ class MediaAdapterImpl : public MediaAdapter {
DISALLOW_COPY_AND_ASSIGN(MediaAdapterImpl);
};
-typedef utils::SharedPtr<MediaAdapterImpl> MediaAdapterImplPtr;
+typedef std::shared_ptr<MediaAdapterImpl> MediaAdapterImplPtr;
} // namespace media_manager
diff --git a/src/components/media_manager/include/media_manager/media_manager_impl.h b/src/components/media_manager/include/media_manager/media_manager_impl.h
index 7fbd4f2f6f..749356e656 100644
--- a/src/components/media_manager/include/media_manager/media_manager_impl.h
+++ b/src/components/media_manager/include/media_manager/media_manager_impl.h
@@ -86,10 +86,10 @@ class MediaManagerImpl : public MediaManager,
void set_mock_mic_listener(MediaListenerPtr media_listener);
void set_mock_mic_recorder(MediaAdapterImpl* media_adapter);
void set_mock_streamer(protocol_handler::ServiceType stype,
- ::utils::SharedPtr<MediaAdapterImpl> mock_stream);
+ std::shared_ptr<MediaAdapterImpl> mock_stream);
void set_mock_streamer_listener(
protocol_handler::ServiceType stype,
- ::utils::SharedPtr<MediaAdapterListener> mock_stream);
+ std::shared_ptr<MediaAdapterListener> mock_stream);
#endif // BUILD_TESTS
protected:
diff --git a/src/components/media_manager/include/media_manager/streamer_adapter.h b/src/components/media_manager/include/media_manager/streamer_adapter.h
index 5ac8e05cac..56bf941f8e 100644
--- a/src/components/media_manager/include/media_manager/streamer_adapter.h
+++ b/src/components/media_manager/include/media_manager/streamer_adapter.h
@@ -37,8 +37,7 @@
#include "utils/message_queue.h"
#include "utils/threads/thread.h"
#include "utils/threads/thread_delegate.h"
-#include "utils/atomic_object.h"
-#include "utils/shared_ptr.h"
+#include <atomic>
#include "protocol/raw_message.h"
namespace media_manager {
@@ -80,7 +79,7 @@ class StreamerAdapter : public MediaAdapterImpl {
virtual bool Send(protocol_handler::RawMessagePtr msg) = 0;
private:
- sync_primitives::atomic_bool stop_flag_;
+ std::atomic_bool stop_flag_;
StreamerAdapter* adapter_;
DISALLOW_COPY_AND_ASSIGN(Streamer);
@@ -96,7 +95,7 @@ class StreamerAdapter : public MediaAdapterImpl {
DISALLOW_COPY_AND_ASSIGN(StreamerAdapter);
};
-typedef utils::SharedPtr<StreamerAdapter> StreamerAdapterPtr;
+typedef std::shared_ptr<StreamerAdapter> StreamerAdapterPtr;
} // namespace media_manager
diff --git a/src/components/media_manager/src/audio/a2dp_source_player_adapter.cc b/src/components/media_manager/src/audio/a2dp_source_player_adapter.cc
index 5e9d6ab0ba..91e3c5465d 100644
--- a/src/components/media_manager/src/audio/a2dp_source_player_adapter.cc
+++ b/src/components/media_manager/src/audio/a2dp_source_player_adapter.cc
@@ -91,19 +91,19 @@ void A2DPSourcePlayerAdapter::StartActivity(int32_t application_key) {
if (application_key != current_application_) {
current_application_ = application_key;
- uint32_t device_id = 0;
+ transport_manager::DeviceHandle device_id = 0;
session_observer_.GetDataOnSessionKey(application_key, 0, NULL, &device_id);
- std::string mac_adddress;
- session_observer_.GetDataOnDeviceID(device_id, NULL, NULL, &mac_adddress);
+ std::string mac_address;
+ session_observer_.GetDataOnDeviceID(device_id, NULL, NULL, &mac_address);
- // TODO(PK): Convert mac_adddress to the
+ // TODO(PK): Convert mac_address to the
// following format : "bluez_source.XX_XX_XX_XX_XX_XX" if needed
// before passing to the A2DPSourcePlayerThread constructor
A2DPSourcePlayerThread* delegate =
- new A2DPSourcePlayerAdapter::A2DPSourcePlayerThread(mac_adddress);
+ new A2DPSourcePlayerAdapter::A2DPSourcePlayerThread(mac_address);
threads::Thread* new_activity =
- threads::CreateThread(mac_adddress.c_str(), delegate);
+ threads::CreateThread(mac_address.c_str(), delegate);
sources_[application_key] = Pair(new_activity, delegate);
new_activity->start();
}
diff --git a/src/components/media_manager/src/audio/audio_stream_sender_thread.cc b/src/components/media_manager/src/audio/audio_stream_sender_thread.cc
index 9b0057dfe8..23181e7431 100644
--- a/src/components/media_manager/src/audio/audio_stream_sender_thread.cc
+++ b/src/components/media_manager/src/audio/audio_stream_sender_thread.cc
@@ -38,8 +38,9 @@
#include <string>
#include <string.h>
#include "application_manager/application_manager.h"
-#include "application_manager/mobile_command_factory.h"
#include "application_manager/application_impl.h"
+#include "application_manager/rpc_service.h"
+#include "application_manager/commands/command.h"
#include "smart_objects/smart_object.h"
#include "interfaces/MOBILE_API.h"
#include "utils/file_system.h"
@@ -51,6 +52,7 @@
namespace media_manager {
using sync_primitives::AutoLock;
+namespace strings = application_manager::strings;
#ifdef EXTENDED_MEDIA_MODE
const int32_t AudioStreamSenderThread::kAudioPassThruTimeout = 50;
@@ -59,6 +61,15 @@ const int32_t AudioStreamSenderThread::kAudioPassThruTimeout = 1000;
#endif
const uint32_t kMqueueMessageSize = 4095;
+// Size of RIFF header contained in a .wav file: 12 bytes for 'RIFF' chunk
+// descriptor, 24 bytes for 'fmt ' sub-chunk and 8 bytes for 'data' sub-chunk
+// header.
+// The correct format of audio stream for AudioPassThru feature is to include
+// only audio sample data. Since both pre-recorded file (audio.8bit.wav) and
+// GStreamer-generated file contain RIFF header, we will skip it when reading
+// the files.
+static const uint32_t kRIFFHeaderSize = 44;
+
CREATE_LOGGERPTR_GLOBAL(logger_, "MediaManager")
AudioStreamSenderThread::AudioStreamSenderThread(
@@ -67,7 +78,7 @@ AudioStreamSenderThread::AudioStreamSenderThread(
application_manager::ApplicationManager& app_mngr)
: session_key_(session_key)
, fileName_(fileName)
- , offset_(0)
+ , offset_(kRIFFHeaderSize)
, shouldBeStoped_(false)
, shouldBeStoped_lock_()
, shouldBeStoped_cv_()
@@ -80,7 +91,7 @@ AudioStreamSenderThread::~AudioStreamSenderThread() {}
void AudioStreamSenderThread::threadMain() {
LOG4CXX_AUTO_TRACE(logger_);
- offset_ = 0;
+ offset_ = kRIFFHeaderSize;
while (false == getShouldBeStopped()) {
AutoLock auto_lock(shouldBeStoped_lock_);
@@ -118,15 +129,59 @@ void AudioStreamSenderThread::sendAudioChunkToMobile() {
offset_ = offset_ + to - from;
std::vector<uint8_t> data(from, to);
- application_manager_.SendAudioPassThroughNotification(session_key_, data);
+ SendAudioPassThroughNotification(session_key_, data);
binaryData.clear();
}
#if !defined(EXTENDED_MEDIA_MODE)
// without recording stream restart reading 1-sec file
- offset_ = 0;
+ offset_ = kRIFFHeaderSize;
#endif
}
+void AudioStreamSenderThread::SendAudioPassThroughNotification(
+ uint32_t session_key, std::vector<uint8_t>& binary_data) {
+ LOG4CXX_AUTO_TRACE(logger_);
+
+ if (!application_manager_.is_audio_pass_thru_active()) {
+ LOG4CXX_ERROR(logger_,
+ "Trying to send PassThroughNotification"
+ " when PassThrough is not active");
+ return;
+ }
+
+ AudioData data;
+ data.session_key = session_key;
+ data.binary_data = binary_data;
+
+ smart_objects::SmartObjectSPtr on_audio_pass =
+ std::make_shared<smart_objects::SmartObject>();
+
+ if (!on_audio_pass) {
+ LOG4CXX_ERROR(logger_, "OnAudioPassThru NULL pointer");
+ return;
+ }
+
+ LOG4CXX_DEBUG(logger_, "Fill smart object");
+
+ (*on_audio_pass)[strings::params][strings::message_type] =
+ application_manager::MessageType::kNotification;
+
+ (*on_audio_pass)[strings::params][strings::connection_key] =
+ static_cast<int32_t>(data.session_key);
+ (*on_audio_pass)[strings::params][strings::function_id] =
+ mobile_apis::FunctionID::OnAudioPassThruID;
+
+ LOG4CXX_DEBUG(logger_, "Fill binary data");
+ // binary data
+ (*on_audio_pass)[strings::params][strings::binary_data] =
+ smart_objects::SmartObject(data.binary_data);
+
+ LOG4CXX_DEBUG(logger_, "After fill binary data");
+ LOG4CXX_DEBUG(logger_, "Send data");
+ application_manager_.GetRPCService().ManageMobileCommand(
+ on_audio_pass, application_manager::commands::Command::SOURCE_SDL);
+}
+
bool AudioStreamSenderThread::getShouldBeStopped() {
AutoLock auto_lock(shouldBeStoped_lock_);
diff --git a/src/components/media_manager/src/audio/from_mic_to_file_recorder_thread.cc b/src/components/media_manager/src/audio/from_mic_to_file_recorder_thread.cc
index 99548e71bd..5c12614662 100644
--- a/src/components/media_manager/src/audio/from_mic_to_file_recorder_thread.cc
+++ b/src/components/media_manager/src/audio/from_mic_to_file_recorder_thread.cc
@@ -42,6 +42,9 @@ CREATE_LOGGERPTR_GLOBAL(logger_, "MediaManager")
GMainLoop* FromMicToFileRecorderThread::loop = NULL;
+// As per spec, AudioPassThru recording is in monaural
+static const int kNumAudioChannels = 1;
+
FromMicToFileRecorderThread::FromMicToFileRecorderThread(
const std::string& output_file, int32_t duration)
: threads::ThreadDelegate()
@@ -119,7 +122,8 @@ void FromMicToFileRecorderThread::threadMain() {
initArgs();
GstElement* pipeline;
- GstElement* alsasrc, *wavenc, *filesink;
+ GstElement* alsasrc, *audioconvert, *capsfilter, *wavenc, *filesink;
+ GstCaps* audiocaps;
GstBus* bus;
const gchar* device = "hw:0,0";
@@ -196,11 +200,18 @@ void FromMicToFileRecorderThread::threadMain() {
// Create all of the elements to be added to the pipeline
alsasrc = gst_element_factory_make("alsasrc", "alsasrc0");
+ audioconvert = gst_element_factory_make("audioconvert", "audioconvert0");
+ capsfilter = gst_element_factory_make("capsfilter", "filter0");
wavenc = gst_element_factory_make("wavenc", "wavenc0");
filesink = gst_element_factory_make("filesink", "filesink0");
+ // create a capability to downmix the recorded audio to monaural
+ audiocaps = gst_caps_new_simple(
+ "audio/x-raw", "channels", G_TYPE_INT, kNumAudioChannels, NULL);
+
// Assert that all the elements were created
- if (!alsasrc || !wavenc || !filesink) {
+ if (!alsasrc || !audioconvert || !capsfilter || !wavenc || !filesink ||
+ !audiocaps) {
g_error("Failed creating one or more of the pipeline elements.\n");
}
@@ -209,10 +220,21 @@ void FromMicToFileRecorderThread::threadMain() {
g_object_set(G_OBJECT(filesink), "location", outfile, NULL);
// Add the elements to the pipeline
- gst_bin_add_many(GST_BIN(pipeline), alsasrc, wavenc, filesink, NULL);
+ gst_bin_add_many(GST_BIN(pipeline),
+ alsasrc,
+ audioconvert,
+ capsfilter,
+ wavenc,
+ filesink,
+ NULL);
// Link the elements
- gst_element_link_many(alsasrc, wavenc, filesink, NULL);
+ gst_element_link_many(
+ alsasrc, audioconvert, capsfilter, wavenc, filesink, NULL);
+
+ // set the capability
+ g_object_set(G_OBJECT(capsfilter), "caps", audiocaps, NULL);
+ gst_caps_unref(audiocaps);
gst_element_set_state(pipeline, GST_STATE_PLAYING);
diff --git a/src/components/media_manager/src/media_manager_impl.cc b/src/components/media_manager/src/media_manager_impl.cc
index 6a9ded9029..ec88e910d3 100644
--- a/src/components/media_manager/src/media_manager_impl.cc
+++ b/src/components/media_manager/src/media_manager_impl.cc
@@ -98,13 +98,13 @@ void MediaManagerImpl::set_mock_mic_recorder(MediaAdapterImpl* media_adapter) {
void MediaManagerImpl::set_mock_streamer(
protocol_handler::ServiceType stype,
- ::utils::SharedPtr<MediaAdapterImpl> mock_stream) {
+ std::shared_ptr<MediaAdapterImpl> mock_stream) {
streamer_[stype] = mock_stream;
}
void MediaManagerImpl::set_mock_streamer_listener(
protocol_handler::ServiceType stype,
- ::utils::SharedPtr<MediaAdapterListener> mock_stream) {
+ std::shared_ptr<MediaAdapterListener> mock_stream) {
streamer_listener_[stype] = mock_stream;
}
@@ -120,29 +120,36 @@ void MediaManagerImpl::Init() {
#endif
if ("socket" == settings().video_server_type()) {
- streamer_[ServiceType::kMobileNav] = new SocketVideoStreamerAdapter(
- settings().server_address(), settings().video_streaming_port());
+ streamer_[ServiceType::kMobileNav] =
+ std::make_shared<SocketVideoStreamerAdapter>(
+ settings().server_address(), settings().video_streaming_port());
} else if ("pipe" == settings().video_server_type()) {
- streamer_[ServiceType::kMobileNav] = new PipeVideoStreamerAdapter(
- settings().named_video_pipe_path(), settings().app_storage_folder());
+ streamer_[ServiceType::kMobileNav] =
+ std::make_shared<PipeVideoStreamerAdapter>(
+ settings().named_video_pipe_path(),
+ settings().app_storage_folder());
} else if ("file" == settings().video_server_type()) {
- streamer_[ServiceType::kMobileNav] = new FileVideoStreamerAdapter(
- settings().video_stream_file(), settings().app_storage_folder());
+ streamer_[ServiceType::kMobileNav] =
+ std::make_shared<FileVideoStreamerAdapter>(
+ settings().video_stream_file(), settings().app_storage_folder());
}
if ("socket" == settings().audio_server_type()) {
- streamer_[ServiceType::kAudio] = new SocketAudioStreamerAdapter(
- settings().server_address(), settings().audio_streaming_port());
+ streamer_[ServiceType::kAudio] =
+ std::make_shared<SocketAudioStreamerAdapter>(
+ settings().server_address(), settings().audio_streaming_port());
} else if ("pipe" == settings().audio_server_type()) {
- streamer_[ServiceType::kAudio] = new PipeAudioStreamerAdapter(
+ streamer_[ServiceType::kAudio] = std::make_shared<PipeAudioStreamerAdapter>(
settings().named_audio_pipe_path(), settings().app_storage_folder());
} else if ("file" == settings().audio_server_type()) {
- streamer_[ServiceType::kAudio] = new FileAudioStreamerAdapter(
+ streamer_[ServiceType::kAudio] = std::make_shared<FileAudioStreamerAdapter>(
settings().audio_stream_file(), settings().app_storage_folder());
}
- streamer_listener_[ServiceType::kMobileNav] = new StreamerListener(*this);
- streamer_listener_[ServiceType::kAudio] = new StreamerListener(*this);
+ streamer_listener_[ServiceType::kMobileNav] =
+ std::make_shared<StreamerListener>(*this);
+ streamer_listener_[ServiceType::kAudio] =
+ std::make_shared<StreamerListener>(*this);
if (streamer_[ServiceType::kMobileNav]) {
streamer_[ServiceType::kMobileNav]->AddListener(
@@ -187,8 +194,8 @@ void MediaManagerImpl::StartMicrophoneRecording(int32_t application_key,
std::string file_path = settings().app_storage_folder();
file_path += "/";
file_path += output_file;
- from_mic_listener_ =
- new FromMicRecorderListener(file_path, application_manager_);
+ from_mic_listener_ = std::make_shared<FromMicRecorderListener>(
+ file_path, application_manager_);
#ifdef EXTENDED_MEDIA_MODE
if (from_mic_recorder_) {
from_mic_recorder_->AddListener(from_mic_listener_);
diff --git a/src/components/media_manager/src/streamer_adapter.cc b/src/components/media_manager/src/streamer_adapter.cc
index 90a40b1add..37cb1426dc 100644
--- a/src/components/media_manager/src/streamer_adapter.cc
+++ b/src/components/media_manager/src/streamer_adapter.cc
@@ -48,8 +48,8 @@ StreamerAdapter::~StreamerAdapter() {
streamer_->Close();
}
thread_->join();
- threads::DeleteThread(thread_);
delete streamer_;
+ threads::DeleteThread(thread_);
}
void StreamerAdapter::StartActivity(int32_t application_key) {
diff --git a/src/components/media_manager/test/include/media_manager/mock_media_adapter_impl.h b/src/components/media_manager/test/include/media_manager/mock_media_adapter_impl.h
index 80b2ee3377..96499d9358 100644
--- a/src/components/media_manager/test/include/media_manager/mock_media_adapter_impl.h
+++ b/src/components/media_manager/test/include/media_manager/mock_media_adapter_impl.h
@@ -44,10 +44,9 @@ using namespace media_manager;
class MockMediaAdapterImpl : public ::media_manager::MediaAdapterImpl {
public:
- MOCK_METHOD1(AddListener,
- void(const utils::SharedPtr<MediaAdapterListener>&));
+ MOCK_METHOD1(AddListener, void(const std::shared_ptr<MediaAdapterListener>&));
MOCK_METHOD1(RemoveListener,
- void(const utils::SharedPtr<MediaAdapterListener>&));
+ void(const std::shared_ptr<MediaAdapterListener>&));
MOCK_METHOD2(SendData,
void(int32_t application_key,
const ::protocol_handler::RawMessagePtr message));
diff --git a/src/components/media_manager/test/media_manager_impl_test.cc b/src/components/media_manager/test/media_manager_impl_test.cc
index a9dc27d7a3..c77c984a75 100644
--- a/src/components/media_manager/test/media_manager_impl_test.cc
+++ b/src/components/media_manager/test/media_manager_impl_test.cc
@@ -44,8 +44,7 @@
#include "application_manager/state_controller.h"
#include "protocol_handler/mock_protocol_handler.h"
#include "protocol/common.h"
-#include "utils/make_shared.h"
-#include "utils/shared_ptr.h"
+
#include "utils/file_system.h"
#include "utils/scope_guard.h"
@@ -58,7 +57,7 @@ using namespace ::media_manager;
using ::testing::_;
using ::testing::Return;
using ::testing::ReturnRef;
-using ::utils::SharedPtr;
+
using ::utils::ScopeGuard;
using ::utils::MakeGuard;
using ::testing::NiceMock;
@@ -99,20 +98,18 @@ void dealloc_file(std::ofstream* test_file) {
} // namespace
typedef NiceMock<application_manager_test::MockApplication> MockApp;
-typedef SharedPtr<MockApp> MockAppPtr;
-typedef SharedPtr<MockMediaAdapterImpl> MockMediaAdapterImplPtr;
+typedef std::shared_ptr<MockApp> MockAppPtr;
+typedef std::shared_ptr<MockMediaAdapterImpl> MockMediaAdapterImplPtr;
class MediaManagerImplTest : public ::testing::Test {
public:
- // media_adapter_mock_ will be deleted in media_manager_impl (dtor)
- MediaManagerImplTest() : media_adapter_mock_(new MockMediaAdapter()) {
- media_adapter_listener_mock_ =
- utils::MakeShared<MockMediaAdapterListener>();
+ MediaManagerImplTest() {
+ media_adapter_listener_mock_ = std::make_shared<MockMediaAdapterListener>();
ON_CALL(mock_media_manager_settings_, video_server_type())
.WillByDefault(ReturnRef(kDefaultValue));
ON_CALL(mock_media_manager_settings_, audio_server_type())
.WillByDefault(ReturnRef(kDefaultValue));
- mock_app_ = ::utils::MakeShared<MockApp>();
+ mock_app_ = std::make_shared<MockApp>();
media_manager_impl_.reset(
new MediaManagerImpl(app_mngr_, mock_media_manager_settings_));
}
@@ -181,7 +178,7 @@ class MediaManagerImplTest : public ::testing::Test {
.WillOnce(Return(mock_app_));
EXPECT_CALL(*mock_app_, WakeUpStreaming(service_type));
MockMediaAdapterImplPtr mock_media_streamer =
- utils::MakeShared<MockMediaAdapterImpl>();
+ std::make_shared<MockMediaAdapterImpl>();
media_manager_impl_->set_mock_streamer(service_type, mock_media_streamer);
media_manager_impl_->set_mock_streamer_listener(
service_type, media_adapter_listener_mock_);
@@ -204,11 +201,10 @@ class MediaManagerImplTest : public ::testing::Test {
application_manager_test::MockApplicationManager app_mngr_;
MockAppPtr mock_app_;
- SharedPtr<MockMediaAdapterListener> media_adapter_listener_mock_;
- MockMediaAdapter* media_adapter_mock_;
+ std::shared_ptr<MockMediaAdapterListener> media_adapter_listener_mock_;
const ::testing::NiceMock<MockMediaManagerSettings>
mock_media_manager_settings_;
- SharedPtr<MediaManagerImpl> media_manager_impl_;
+ std::shared_ptr<MediaManagerImpl> media_manager_impl_;
};
TEST_F(MediaManagerImplTest,
@@ -277,14 +273,17 @@ TEST_F(MediaManagerImplTest, Init_Settings_ExpectFileValue) {
}
TEST_F(MediaManagerImplTest, PlayA2DPSource_WithCorrectA2DP_SUCCESS) {
- media_manager_impl_->set_mock_a2dp_player(media_adapter_mock_);
- EXPECT_CALL(*media_adapter_mock_, StartActivity(kApplicationKey));
+ // media_adapter_mock_ will be deleted in media_manager_impl (dtor)
+ MockMediaAdapter* media_adapter_mock = new MockMediaAdapter();
+ media_manager_impl_->set_mock_a2dp_player(media_adapter_mock);
+ EXPECT_CALL(*media_adapter_mock, StartActivity(kApplicationKey));
media_manager_impl_->PlayA2DPSource(kApplicationKey);
}
TEST_F(MediaManagerImplTest, StopA2DPSource_WithCorrectA2DP_SUCCESS) {
- media_manager_impl_->set_mock_a2dp_player(media_adapter_mock_);
- EXPECT_CALL(*media_adapter_mock_, StopActivity(kApplicationKey));
+ MockMediaAdapter* media_adapter_mock = new MockMediaAdapter();
+ media_manager_impl_->set_mock_a2dp_player(media_adapter_mock);
+ EXPECT_CALL(*media_adapter_mock, StopActivity(kApplicationKey));
media_manager_impl_->StopA2DPSource(kApplicationKey);
}
@@ -375,11 +374,11 @@ TEST_F(MediaManagerImplTest, StopMicrophoneRecording_SUCCESS) {
TEST_F(MediaManagerImplTest,
StartStopStreaming_AudioAndVideoServiceType_SUCCESS) {
MockMediaAdapterImplPtr mock_audio_media_streamer =
- utils::MakeShared<MockMediaAdapterImpl>();
+ std::make_shared<MockMediaAdapterImpl>();
media_manager_impl_->set_mock_streamer(ServiceType::kAudio,
mock_audio_media_streamer);
MockMediaAdapterImplPtr mock_nav_media_streamer =
- utils::MakeShared<MockMediaAdapterImpl>();
+ std::make_shared<MockMediaAdapterImpl>();
media_manager_impl_->set_mock_streamer(ServiceType::kMobileNav,
mock_nav_media_streamer);