Skip to content

Commit b7965f4

Browse files
committed
Merge branch 'release/1.10.0' into main
2 parents eb441df + 48ea62a commit b7965f4

File tree

8 files changed

+344
-7
lines changed

8 files changed

+344
-7
lines changed

.github/workflows/cla.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: "CLA"
2+
on:
3+
issue_comment:
4+
types: [created]
5+
pull_request_target:
6+
types: [opened,closed,synchronize]
7+
8+
jobs:
9+
CLA-Lite:
10+
name: "Signature"
11+
uses: rdkcentral/cmf-actions/.github/workflows/cla.yml@main
12+
secrets:
13+
PERSONAL_ACCESS_TOKEN: ${{ secrets.CLA_ASSISTANT }}

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,26 @@ All notable changes to this project will be documented in this file. Dates are d
44

55
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
66

7+
#### [1.10.0](https://github.com/rdkcentral/entservices-apis/compare/1.9.1...1.10.0)
8+
9+
- Revert "RDKEMW-2854 : IXCast.h interface headers not following coding… [`#337`](https://github.com/rdkcentral/entservices-apis/pull/337)
10+
- RDKEMW-1017 RDKEMW-1018: Miracast COMRPC support [`#261`](https://github.com/rdkcentral/entservices-apis/pull/261)
11+
- Rebase with Develop branch [`#335`](https://github.com/rdkcentral/entservices-apis/pull/335)
12+
- RDKEMW-2854 : IXCast.h interface headers not following coding guidelines [`#328`](https://github.com/rdkcentral/entservices-apis/pull/328)
13+
- Deploy cla action [`#317`](https://github.com/rdkcentral/entservices-apis/pull/317)
14+
- Rebase [`#334`](https://github.com/rdkcentral/entservices-apis/pull/334)
15+
- RDKEMW-3266: Remove unused/duplicate parameters [`#308`](https://github.com/rdkcentral/entservices-apis/pull/308)
16+
- RDKEMW-5406: Response param for "org.rdk.SharedStorage.getStorageSizes" is not returned as expected [`#323`](https://github.com/rdkcentral/entservices-apis/pull/323)
17+
- Revert "RDKEMW-2854 : IXCast.h interface headers not following coding guidelines" [`2fe064f`](https://github.com/rdkcentral/entservices-apis/commit/2fe064f23270adb5f7bac842234740d022333538)
18+
- RDKEMW-2854: Delete apis/XCast/XCast.json [`1b94e77`](https://github.com/rdkcentral/entservices-apis/commit/1b94e777751b1386ec2ecbc4f7bfdac2ba9aaa88)
19+
- RDKEMW-1017 RDKEMW-1018: Updated IMiracastPlayer and IMiracastService [`b4caeab`](https://github.com/rdkcentral/entservices-apis/commit/b4caeab1e8203d67437f0e03c835f5a2ba325db9)
20+
721
#### [1.9.1](https://github.com/rdkcentral/entservices-apis/compare/1.9.0...1.9.1)
822

23+
> 25 June 2025
24+
925
- RDKEMW-5166:Send unloaded event on receiving callback [`#307`](https://github.com/rdkcentral/entservices-apis/pull/307)
26+
- 1.9.1 release changelog updates [`92fcc3f`](https://github.com/rdkcentral/entservices-apis/commit/92fcc3f72f838aacb2362674587bb367cfc3b0d4)
1027
- Merge tag '1.9.0' into develop [`9a21589`](https://github.com/rdkcentral/entservices-apis/commit/9a215891c7604de66ad744773b516de649311872)
1128

1229
#### [1.9.0](https://github.com/rdkcentral/entservices-apis/compare/1.8.0...1.9.0)

apis/Ids.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,13 @@ namespace Exchange {
290290
ID_HDMI_CEC_SINK = ID_ENTOS_OFFSET + 0x3C0,
291291
ID_HDMI_CEC_SINK_ACTIVE_PATH_ITERATOR = ID_HDMI_CEC_SINK + 1,
292292
ID_HDMI_CEC_SINK_DEVICE_LIST_ITERATOR = ID_HDMI_CEC_SINK + 2,
293-
ID_HDMI_CEC_SINK_NOTIFICATION = ID_HDMI_CEC_SINK + 3
293+
ID_HDMI_CEC_SINK_NOTIFICATION = ID_HDMI_CEC_SINK + 3,
294+
295+
ID_MIRACAST_SERVICE = ID_ENTOS_OFFSET + 0x3D0,
296+
ID_MIRACAST_SERVICE_NOTIFICATION = ID_MIRACAST_SERVICE + 1,
297+
ID_MIRACAST_PLAYER = ID_MIRACAST_SERVICE + 2,
298+
ID_MIRACAST_PLAYER_NOTIFICATION = ID_MIRACAST_SERVICE + 3,
299+
ID_MIRACAST_PLAYER_ENV_ARGUMENTS_ITERATOR = ID_MIRACAST_SERVICE + 4
294300
};
295301
}
296302
}

apis/LifecycleManager/ILifecycleManager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ struct EXTERNAL ILifecycleManager : virtual public Core::IUnknown {
105105
// @json:omit
106106
// @text spawnApp
107107
// @brief Perform launching of application with window and runtime manager
108-
virtual Core::hresult SpawnApp(const string& appId /* @in */, const string& appPath /* @in */, const string& appConfig /* @in */, const string& runtimeAppId /* @in */, const string& runtimePath /* @in */, const string& runtimeConfig /* @in */, const string& launchIntent /* @in */, const string& environmentVars /* @in */, const bool enableDebugger /* @in */, const LifecycleState targetLifecycleState /* @in */, const RuntimeConfig& runtimeConfigObject /* @in */, const string& launchArgs /* @in */, string& appInstanceId /* @out */, string& errorReason /* @out */, bool& success /* @out */) = 0;
108+
virtual Core::hresult SpawnApp(const string& appId /* @in */, const string& launchIntent /* @in */, const LifecycleState targetLifecycleState /* @in */, const RuntimeConfig& runtimeConfigObject /* @in */, const string& launchArgs /* @in */, string& appInstanceId /* @out */, string& errorReason /* @out */, bool& success /* @out */) = 0;
109109

110110
/** Get the list of loaded applications */
111111
// @json:omit

apis/Miracast/IMiracastPlayer.h

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
/*
2+
* If not stated otherwise in this file or this component's LICENSE file the
3+
* following copyright and licenses apply:
4+
*
5+
* Copyright 2025 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+
#pragma once
21+
22+
#include "Module.h"
23+
24+
// @stubgen:include <com/IIteratorType.h>
25+
26+
namespace WPEFramework
27+
{
28+
namespace Exchange
29+
{
30+
// @json @text:keep
31+
struct EXTERNAL IMiracastPlayer : virtual public Core::IUnknown
32+
{
33+
enum { ID = ID_MIRACAST_PLAYER };
34+
35+
enum State : uint8_t
36+
{
37+
STATE_IDLE = 0 /* @text IDLE */,
38+
STATE_INITIATED = 1 /* @text INITIATED */,
39+
STATE_INPROGRESS = 2 /* @text INPROGRESS */,
40+
STATE_PLAYING = 3 /* @text PLAYING */,
41+
STATE_STOPPED = 4 /* @text STOPPED */,
42+
STATE_PAUSED = 5 /* @text PAUSED */
43+
};
44+
45+
enum ReasonCode : uint8_t
46+
{
47+
REASON_CODE_SUCCESS = 200 /* @text SUCCESS */,
48+
REASON_CODE_APP_REQ_TO_STOP = 201 /* @text APP_REQ_TO_STOP */,
49+
REASON_CODE_SRC_DEV_REQ_TO_STOP = 202 /* @text SRC_DEV_REQ_TO_STOP */,
50+
REASON_CODE_RTSP_ERROR = 203 /* @text RTSP_FAILURE */,
51+
REASON_CODE_RTSP_TIMEOUT = 204 /* @text RTSP_TIMEOUT */,
52+
REASON_CODE_RTSP_METHOD_NOT_SUPPORTED = 205 /* @text RTSP_NOT_SUPPORTED */,
53+
REASON_CODE_GST_ERROR = 206 /* @text GST_FAILURE */,
54+
REASON_CODE_INT_FAILURE = 207 /* @text INTERNAL_FAILURE */,
55+
REASON_CODE_NEW_SRC_DEV_CONNECT_REQ = 208 /* @text NEW_SRC_DEV_CONNECT_REQ */,
56+
};
57+
58+
struct EXTERNAL DeviceParameters
59+
{
60+
string sourceDeviceIP /* @text source_dev_ip */ /* @brief IP Address of Source Device */;
61+
string sourceDeviceMac /* @text source_dev_mac */ /* @brief MAC Address of Source Device */;
62+
string sourceDeviceName /* @text source_dev_name */ /* @brief Name of Source Device */;
63+
string sinkDeviceIP /* @text sink_dev_ip */ /* @brief IP Address of Sink Device */;
64+
};
65+
66+
struct EXTERNAL VideoRectangle
67+
{
68+
int startX /* @text X */ /* @brief X coordinate of the rectangle */;
69+
int startY /* @text Y */ /* @brief Y coordinate of the rectangle */;
70+
int width /* @text W */ /* @brief Width of the rectangle */;
71+
int height /* @text H */ /* @brief Height of the rectangle */;
72+
};
73+
74+
struct EXTERNAL Result
75+
{
76+
string message /* @text message */ /* @brief reason for success or failure */;
77+
bool success;
78+
};
79+
80+
struct EXTERNAL EnvArguments
81+
{
82+
string argName /* @text argName */ /* @brief environment argument name */;
83+
string argValue /* @text argValue */ /* @brief environment argument value */;
84+
};
85+
using IEnvArgumentsIterator = RPC::IIteratorType<EnvArguments, ID_MIRACAST_PLAYER_ENV_ARGUMENTS_ITERATOR>;
86+
87+
// @event
88+
struct EXTERNAL INotification : virtual public Core::IUnknown
89+
{
90+
enum { ID = ID_MIRACAST_PLAYER_NOTIFICATION };
91+
92+
// @brief Notifies when a Miracast source device wants to connect
93+
// @text onStateChange
94+
// @param clientName: Name of the client device
95+
// @param clientMac: MacAddress of the client device
96+
// @param playerState: Current state of the player (e.g., INITIATED | INPROGRESS | PLAYING | STOPPED/IDLE(Default State).)
97+
// @param reasonCode: Reason code for the player state update
98+
// @param reason: reason code Decription
99+
virtual void OnStateChange(const string &clientName /* @text name */, const string &clientMac /* @text mac */, const State playerState /* @text state */, const string &reasonCode /* @text reason_code */, const ReasonCode reasonDescription /* @text reason */) {};
100+
};
101+
102+
// @json:omit
103+
virtual Core::hresult Register(Exchange::IMiracastPlayer::INotification *notification) = 0;
104+
// @json:omit
105+
virtual Core::hresult Unregister(Exchange::IMiracastPlayer::INotification *notification) = 0;
106+
107+
// @brief To set the Miracast Player State to Play after the Miracast session like RTSP communication and GStreamer Playback
108+
// @text playRequest
109+
// @param deviceParam: Contains Source and Sink Device related properties
110+
// @param videoRect: Video rectangle to be used for Miracast playback (x, y, width, height)
111+
// @param success: Is the operation successful or not
112+
virtual Core::hresult PlayRequest(const DeviceParameters &deviceParam /* @text device_parameters */, const VideoRectangle videoRect /* @text video_rectangle */, Result &result /* @out */) = 0;
113+
114+
// @brief To stop the Miracast Player to tear down the RTSP communication, stop/close the GStreamer pipeline, clean up, and reset the player state
115+
// @text stopRequest
116+
// @param clientMac: MacAddress of the client device
117+
// @param clientName: Name of the client device
118+
// @param reasonCode: Reason code for the player stop request
119+
// @param reason: Reason for the player stop request
120+
// @param success: Is the operation successful or not
121+
virtual Core::hresult StopRequest(const string &clientMac /* @text mac */, const string &clientName /* @text name */, const int reasonCode /* @text reason_code */, Result &result /* @out */) = 0;
122+
123+
// @brief Set the Video Rectangle.
124+
// @text setVideoRectangle
125+
// @param startX: X coordinate of the rectangle
126+
// @param startY: Y coordinate of the rectangle
127+
// @param width: Width of the rectangle
128+
// @param height: Height of the rectangle
129+
// @param success: Is the operation successful or not
130+
virtual Core::hresult SetVideoRectangle(const int startX /* @text X */, const int startY /* @text Y */, const int width /* @text W */, const int height /* @text H */, Result &result /* @out */) = 0;
131+
132+
// @brief To configure the westeros environment arguments for the Miracast Player. This will be deprecated and SetEnvArguments will be used instead.
133+
// @text setWesterosEnvironment
134+
// @param westerosArgs: Westeros environment arguments to be set
135+
// @param success: Is the operation successful or not
136+
virtual Core::hresult SetWesterosEnvironment( IEnvArgumentsIterator * const westerosArgs /* @text westerosArgs */, Result &result /* @out */) = 0;
137+
138+
// @brief To reset the westeros environment arguments for the Miracast Player. This will be deprecated and UnsetEnvArguments will be used instead.
139+
// @text unsetWesterosEnvironment
140+
// @param success: Is the operation successful or not
141+
virtual Core::hresult UnsetWesterosEnvironment(Result &result /* @out */) = 0;
142+
143+
// @brief To configure the environment arguments for the Miracast Player
144+
// @text setEnvArguments
145+
// @param envArgs: environment arguments to be set
146+
// @param success: Is the operation successful or not
147+
virtual Core::hresult SetEnvArguments( IEnvArgumentsIterator * const envArgs /* @text envArgs */, Result &result /* @out */) = 0;
148+
149+
// @brief To reset the environment arguments for the Miracast Player
150+
// @text unsetEnvArguments
151+
// @param success: Is the operation successful or not
152+
virtual Core::hresult UnsetEnvArguments(Result &result /* @out */) = 0;
153+
};
154+
} // namespace Exchange
155+
} // namespace WPEFramework

0 commit comments

Comments
 (0)