RDKDEV-1446 Add widevine-rdk Documentation#28
Open
gourivarma3 wants to merge 1 commit into
Open
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a comprehensive component-level documentation page for widevine-rdk, describing architecture, responsibilities, threading, call flows, integration points, and configuration for the Widevine OCDM backend used in the RDK/WPEFramework (Thunder) stack.
Changes:
- Introduces a detailed
docs/README.mdwith system overview, design/module breakdown, threading model, and integration diagrams (Mermaid). - Documents provisioning, license, decryption, SVP integration, and error/status reporting flows.
- Adds configuration/build-time parameter documentation intended for integrators.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - **Build Dependencies**: `wpeframework`, `wpeframework-clientlibraries`, `wpeframework-tools-native`, `entservices-apis`, `gst-svp-ext`, `gstreamer1.0`, OpenSSL (`libssl`, `libcrypto`), `libcurl`, vendor Widevine CDM library (`widevine_ce_cdm_shared`), platform-specific Widevine adapter libraries (determined at build time via CMake platform flags). | ||
| - **Plugin Dependencies**: The widevine-rdk `.drm` library is loaded dynamically by the WPEFramework OCDM plugin at runtime. | ||
| - **Device Services / HAL**: The `gst-svp-ext` library provides the SVP platform interface. `svpPlatformInitializeWidevine()` is called once during `WideVine::Initialize()`. | ||
| - **Configuration Files**: `/etc/device.properties` (operator name, model number, device name, YouTube cert scope). Keybox and certificate paths are supplied via the OCDM plugin's JSON configuration block. |
| | Configuration File | Purpose | Override Mechanism | | ||
| | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | | ||
| | OCDM plugin JSON config (Thunder config) | Supplies certificate path, keybox path, product/company/model/device identity strings to `WideVine::Initialize()` | Set via WPEFramework plugin configuration; parsed using `Core::JSON::Container` | | ||
| | `/etc/device.properties` | Fallback source for `OPERATOR_NAME`, `MODEL_NUM`, `DEVICE_NAME`, `COBALT_CERT_SCOPE` when not set in JSON config | Write to file; values are read on each `Initialize()` call | |
Comment on lines
+414
to
+415
| | `WIDEVINE_VERSION` (build-time) | int | `16` | Selects the Widevine CDM API version (16, 17, or 18). Derived from Yocto distro features (`widevine_v18` → 18, `widevine_v17` → 17, default → 16). Passed as `-DWIDEVINE_VERSION=<n>` at build time. | | ||
| | `WV_PROV_SERVER_URL_STRING` (build-time) | string | — | Mandatory provisioning server base URL (must include a query parameter). Injected at build time as `-DWV_PROV_SERVER_URL`. The string `&signedRequest=` and the request body are appended at runtime. | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[https://jira.rdkcentral.com/jira/browse/RDKDEV-1446]
Reason for Change:
To add Component Documentation for Widevine-rdk
Fix:
Added the documentation
Signed-off-by: gourivarma3