RDK Documentation (Open Sourced RDK Components)
setAudioDucking.cpp
1 /*
2  * If not stated otherwise in this file or this component's Licenses.txt file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2016 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 // TODO: Include your class to test here.
21 
22 
23 /**
24 * @defgroup devicesettings
25 * @{
26 * @defgroup sample
27 * @{
28 **/
29 
30 
31 #include "videoOutputPort.hpp"
32 #include "videoOutputPortType.hpp"
33 #include "host.hpp"
34 #include "audioOutputPort.hpp"
35 #include "dsUtl.h"
36 #include "dsError.h"
37 #include "stdlib.h"
38 #include "manager.hpp"
39 
40 
41 
42 #include "libIBus.h"
43 
44 
45 #include <string>
46 
47 
48 
49 int main(int argc, char *argv[])
50 {
51 
52  IARM_Bus_Init("SampleDSClient");
54 
56 
57 
58  if (argc != 4) {
59  printf("%s : <Ducking action 0-start 1-stop> <type 0-absolute 1-relative> <level 0-100>\r\n", argv[0]);
60  return 0;
61  }
62 
63  unsigned char action = (unsigned char) atoi((const char *)argv[1]);
64  unsigned char type = (unsigned char) atoi((const char *)argv[2]);
65  unsigned char level = (unsigned char) atoi((const char *)argv[3]);
66 
67  try {
68  printf("Sample Application: set Audio Ducking\r\n");
70  for (size_t i = 0; i < aPorts.size(); i++)
71  {
72  printf("setting ducking for port: %s\n",aPorts.at(i).getName().c_str());
73  aPorts.at(i).setAudioDucking((dsAudioDuckingAction_t)action,(dsAudioDuckingType_t)type,level);
74 
75  }
76  printf("Sample Application: set Audio Ducking is completed\r\n");
77  }
78  catch (...) {
79  printf("Exception Caught during [%s]\r\n", argv[0]);
80  }
81 
84  IARM_Bus_Term();
85 
86  return 0;
87 }
88 
89 
90 /** @} */
91 /** @} */
IARM_Bus_Term
IARM_Result_t IARM_Bus_Term(void)
This API is used to terminate the IARM-Bus library.
dsAudioDuckingType_t
enum _dsAudioDuckingType_t dsAudioDuckingType_t
manager.hpp
It contains class referenced by manager.cpp file.
device::AudioOutputPort::getName
const std::string & getName() const
This API gets the name of the AudioOutputPort. The AudioOutputPort names can be IDLR,...
Definition: audioOutputPort.hpp:105
device::Host::getAudioOutputPorts
List< AudioOutputPort > getAudioOutputPorts()
This API is used to get the list of the audio output ports supported on the device....
Definition: host.cpp:309
dsError.h
Device Settings HAL error codes.
device::List::size
size_t size()
This function gets the size of the container.
Definition: list.hpp:118
dsUtl.h
Device Settings HAL utilities.
IARM_Bus_Disconnect
IARM_Result_t IARM_Bus_Disconnect(void)
This API disconnect Application from IARM Bus so the application will not receive any IARM event or R...
videoOutputPortType.hpp
It contains structures and class referenced by the videoOutputportTypes.cpp file.
device::Manager::Initialize
static void Initialize()
This API is used to initialize the Device Setting module. Each API should be called by any client of ...
Definition: manager.cpp:97
libIBus.h
RDK IARM-Bus API Declarations.
device::AudioOutputPort::setAudioDucking
void setAudioDucking(dsAudioDuckingAction_t action, dsAudioDuckingType_t, const unsigned char level)
This API is used to set the audio level to be used in a given audio port. If output mode is Passthrou...
Definition: audioOutputPort.cpp:1798
videoOutputPort.hpp
It contains class and structure refrenced by the videooutputport.cpp file.
device::Manager::DeInitialize
static void DeInitialize()
This API is used to deinitialize the device settings module. DeInitialize() must be called to release...
Definition: manager.cpp:138
device::Host::getInstance
static Host & getInstance(void)
This API is used to get a reference to the single instance of the Host object.
Definition: host.cpp:88
device::List< device::AudioOutputPort >
IARM_Bus_Connect
IARM_Result_t IARM_Bus_Connect(void)
This API is used to connect application to the IARM bus daemon. After connected, the application can ...
Definition: iarmMgrMocks.cpp:33
audioOutputPort.hpp
It contain variables,stuctures,class and functions referenced by audiooutputport code.
dsAudioDuckingAction_t
enum _dsAudioDuckingAction_t dsAudioDuckingAction_t
IARM_Bus_Init
IARM_Result_t IARM_Bus_Init(const char *name)
This API is used to initialize the IARM-Bus library.
Definition: iarmMgrMocks.cpp:38