Skip to content

Commit 618de53

Browse files
committed
Merge branch 'release/1.4.0' into main
2 parents 480e47c + d86ff58 commit 618de53

File tree

5 files changed

+151
-46
lines changed

5 files changed

+151
-46
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,18 @@ 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.4.0](https://github.com/rdkcentral/entservices-apis/compare/1.3.12...1.4.0)
8+
9+
- RDKEMW-4358: Add ITextTrack interfaces for TTML overrides [`#200`](https://github.com/rdkcentral/entservices-apis/pull/200)
10+
- RDKEMW-4279 Update the DeviceDiagnostics plugin entservice-apis doc [`#197`](https://github.com/rdkcentral/entservices-apis/pull/197)
11+
- Merge tag '1.3.12' into develop [`a6b3787`](https://github.com/rdkcentral/entservices-apis/commit/a6b37879afa86c84562ddc54a125f0f9b3bfb633)
12+
713
#### [1.3.12](https://github.com/rdkcentral/entservices-apis/compare/1.3.11...1.3.12)
814

15+
> 20 May 2025
16+
917
- RDKEMW-4187: Missing error response string in the isClean method [`#194`](https://github.com/rdkcentral/entservices-apis/pull/194)
18+
- RDKEMW-4187 - Changelog updates for 1.3.12 [`2f38918`](https://github.com/rdkcentral/entservices-apis/commit/2f389187b5fa0139f31e60a245a26527fd7cb26a)
1019
- Merge tag '1.3.11' into develop [`283e0ce`](https://github.com/rdkcentral/entservices-apis/commit/283e0cedd6c673dc74df4ee0f23fd203a81cfc2a)
1120

1221
#### [1.3.11](https://github.com/rdkcentral/entservices-apis/compare/1.3.10...1.3.11)

apis/Ids.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,8 @@ namespace Exchange {
176176
ID_TEXT_TRACK = ID_ENTOS_OFFSET + 0x190,
177177
ID_TEXT_TRACK_CLOSED_CAPTIONS_STYLE = ID_TEXT_TRACK + 1,
178178
ID_TEXT_TRACK_CLOSED_CAPTIONS_STYLE_NOTIFICATION = ID_TEXT_TRACK + 2,
179+
ID_TEXT_TRACK_TTML_STYLE = ID_TEXT_TRACK + 3,
180+
ID_TEXT_TRACK_TTML_STYLE_NOTIFICATION = ID_TEXT_TRACK + 4,
179181

180182
ID_USB_DEVICE = ID_ENTOS_OFFSET + 0x1A0,
181183
ID_USB_PRODUCT_INFO_ITERATOR = ID_USB_DEVICE + 1,

apis/TextTrack/ITextTrack.h

Lines changed: 64 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* If not stated otherwise in this file or this component's LICENSE file the
33
* following copyright and licenses apply:
44
*
5-
* Copyright 2024 RDK Management.
5+
* Copyright 2024-2025 RDK Management.
66
*
77
* Licensed under the Apache License, Version 2.0 (the "License");
88
* you may not use this file except in compliance with the License.
@@ -21,7 +21,7 @@
2121

2222
#include "Module.h"
2323

24-
#define ITEXTTRACK_VERSION 1
24+
#define ITEXTTRACK_VERSION 2
2525

2626
namespace WPEFramework {
2727
namespace Exchange {
@@ -306,11 +306,59 @@ struct EXTERNAL ITextTrackClosedCaptionsStyle : virtual public Core::IUnknown {
306306
/* @} */
307307
};
308308

309+
/*
310+
* This is the COM-RPC interface for global TTML style overrides.
311+
*/
312+
/* @json 1.0.0 @text:keep */
313+
struct EXTERNAL ITextTrackTtmlStyle : virtual public Core::IUnknown {
314+
enum {
315+
ID = ID_TEXT_TRACK_TTML_STYLE
316+
};
317+
318+
/* @event */
319+
struct EXTERNAL INotification : virtual public Core::IUnknown {
320+
enum {
321+
ID = ID_TEXT_TRACK_TTML_STYLE_NOTIFICATION
322+
};
323+
324+
/**
325+
* @brief The TTML Style override settings has changed.
326+
* @text onTtmlStyleOverridesChanged
327+
*/
328+
virtual void OnTtmlStyleOverridesChanged(const string &style) {};
329+
};
330+
331+
/** Register notification interface.
332+
* The callback will be called with the current settings.
333+
*/
334+
virtual Core::hresult Register(INotification *notification) = 0;
335+
/** Unregister notification interface */
336+
virtual Core::hresult Unregister(const INotification *notification) = 0;
337+
338+
/**
339+
* @brief Sets global TTML override style.
340+
* @details The styles given here (as "attr:value;attr:value") will be applied last to TTML sessions, meaning
341+
* that they will override styles given in the content.
342+
* The value will be persisted in the system.
343+
* The style setting will take effect immediately in all running (TTML) sessions, which has not applied a custom style.
344+
* @param style Contains the chosen override for styles
345+
* @text setTtmlStyleOverrides
346+
*/
347+
virtual Core::hresult SetTtmlStyleOverrides(const string& style) = 0;
348+
349+
/**
350+
* @briet Gets the global TTML style overrides
351+
* @param style will receive the style overrides
352+
* @text getTtmlStyleOverrides
353+
*/
354+
virtual Core::hresult GetTtmlStyleOverrides(string& style /* @out */) const = 0;
355+
356+
};
309357

310358
/*
311359
This is the COM-RPC interface for handling TextTrack sessions.
312360
*/
313-
/* @json 1.0.0 @text:keep */
361+
/* @json 1.1.0 @text:keep */
314362
struct EXTERNAL ITextTrack : virtual public Core::IUnknown {
315363
enum {
316364
ID = ID_TEXT_TRACK
@@ -462,6 +510,19 @@ struct EXTERNAL ITextTrack : virtual public Core::IUnknown {
462510
* @text setSessionSCTESelection
463511
*/
464512
virtual Core::hresult SetSessionSCTESelection(const uint32_t sessionId) = 0;
513+
514+
/**
515+
* @brief Applies a custom TTML styling with overrides that is applied on all elements
516+
* @details When a custom styling override is applied on a specific TTML session, the styling carried on the data for the specified element is
517+
* overridden. For styling options, see https://www.w3.org/TR/2018/REC-ttml1-20181108/#styling-vocabulary-style
518+
* The format of the styling string is "attr:value;attr:value;attr:value" (see vocabulary; NB: not all styling is supported)
519+
* Styles not mentioned in the list will not be affected.
520+
* @param sessionId Is the session as returned in the ITextTrack interface.
521+
* @param style Contains the list of styles to be overridden
522+
* @text applyCustomTtmlStyleOverridesToSession
523+
*/
524+
virtual Core::hresult ApplyCustomTtmlStyleOverridesToSession(const uint32_t sessionId, const string &style) { return Core::ERROR_NOT_SUPPORTED; }
525+
465526
};
466527
} // namespace Exchange
467528
} // namespace WPEFramework

docs/apis/DeviceDiagnosticsPlugin.md

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,12 @@ No Events
7474

7575
| Name | Type | Description |
7676
| :-------- | :-------- | :-------- |
77-
| result | array | An array of JSON objects with the specified properties and their values |
78-
| result[#] | object | |
79-
| result[#].name | string | The property name; Empty, if the property name is not supported |
80-
| result[#].value | string | The property value; Empty, if the property name is not supported |
77+
| result | object | |
78+
| result.paramList | array | An array of JSON objects with the specified properties and their values |
79+
| result.paramList[#] | object | |
80+
| result.paramList[#].name | string | The property name; Empty, if the property name is not supported |
81+
| result.paramList[#].value | string | The property value; Empty, if the property name is not supported |
82+
| result.success | boolean | Whether the request succeeded |
8183

8284
### Example
8385

@@ -102,12 +104,15 @@ No Events
102104
{
103105
"jsonrpc": "2.0",
104106
"id": 42,
105-
"result": [
106-
{
107-
"name": "Device.X_CISCO_COM_LED.RedPwm",
108-
"value": "123"
109-
}
110-
]
107+
"result": {
108+
"paramList": [
109+
{
110+
"name": "Device.X_CISCO_COM_LED.RedPwm",
111+
"value": "123"
112+
}
113+
],
114+
"success": true
115+
}
111116
}
112117
```
113118

@@ -128,8 +133,10 @@ This method takes no parameters.
128133

129134
| Name | Type | Description |
130135
| :-------- | :-------- | :-------- |
131-
| result | array | A string [] of milestones |
132-
| result[#] | string | |
136+
| result | object | |
137+
| result.milestones | array | A string [] of milestones |
138+
| result.milestones[#] | string | |
139+
| result.success | boolean | Whether the request succeeded |
133140

134141
### Example
135142

@@ -149,9 +156,12 @@ This method takes no parameters.
149156
{
150157
"jsonrpc": "2.0",
151158
"id": 42,
152-
"result": [
153-
"RDK_STARTED:7097 ..."
154-
]
159+
"result": {
160+
"milestones": [
161+
"2020 Jan 28 08:24:06.762355 abcdpq1 systemd[1]: Starting Log RDK Started Service..."
162+
],
163+
"success": true
164+
}
155165
}
156166
```
157167

@@ -175,7 +185,7 @@ No Events
175185

176186
| Name | Type | Description |
177187
| :-------- | :-------- | :-------- |
178-
| result | null | Always null |
188+
| result | boolean | Whether the request succeeded |
179189

180190
### Errors
181191

@@ -204,7 +214,7 @@ No Events
204214
{
205215
"jsonrpc": "2.0",
206216
"id": 42,
207-
"result": null
217+
"result": true
208218
}
209219
```
210220

tools/json_generator/output/DeviceDiagnostics/DeviceDiagnostics.json

Lines changed: 49 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -53,38 +53,61 @@
5353
},
5454
"result": {
5555
"type": "object",
56-
"summary": "An array of JSON objects with the specified properties and their values",
57-
"type":"array",
58-
"items": {
59-
"type": "object",
60-
"properties": {
61-
"name": {
62-
"summary": "The property name; Empty, if the property name is not supported",
63-
"type":"string",
64-
"example": "Device.X_CISCO_COM_LED.RedPwm"
65-
},
66-
"value": {
67-
"summary": "The property value; Empty, if the property name is not supported",
68-
"type":"string",
69-
"example": "123"
56+
"properties": {
57+
"paramList": {
58+
"summary": "An array of JSON objects with the specified properties and their values",
59+
"type":"array",
60+
"items": {
61+
"type": "object",
62+
"properties": {
63+
"name": {
64+
"summary": "The property name; Empty, if the property name is not supported",
65+
"type":"string",
66+
"example": "Device.X_CISCO_COM_LED.RedPwm"
67+
},
68+
"value": {
69+
"summary": "The property value; Empty, if the property name is not supported",
70+
"type":"string",
71+
"example": "123"
72+
}
73+
},
74+
"required": [
75+
"name",
76+
"value"
77+
]
7078
}
7179
},
72-
"required": [
73-
"name",
74-
"value"
75-
]
76-
}
80+
"success": {
81+
"$ref": "#/common/success"
82+
}
83+
},
84+
"required": [
85+
"paramList",
86+
"success"
87+
]
7788
}
7889
},
7990
"getMilestones": {
8091
"summary": "Returns the list of milestones.",
8192
"result": {
82-
"summary": "A string [] of milestones",
83-
"type": "array",
84-
"items": {
85-
"type": "string",
86-
"example": "RDK_STARTED:7097 ..."
87-
}
93+
"type": "object",
94+
"properties": {
95+
"milestones": {
96+
"summary": "A string [] of milestones",
97+
"type": "array",
98+
"items": {
99+
"type":"string",
100+
"example": "2020 Jan 28 08:24:06.762355 abcdpq1 systemd[1]: Starting Log RDK Started Service..."
101+
}
102+
},
103+
"success":{
104+
"$ref": "#/common/success"
105+
}
106+
},
107+
"required": [
108+
"milestones",
109+
"success"
110+
]
88111
}
89112
},
90113
"logMilestone": {
@@ -102,7 +125,7 @@
102125
]
103126
},
104127
"result": {
105-
"$ref": "#/common/results/void"
128+
"$ref": "#/common/success"
106129
},
107130
"errors": [
108131
{

0 commit comments

Comments
 (0)