Skip to content

RDKDEV-1446 Add widevine-rdk Documentation#28

Open
gourivarma3 wants to merge 2 commits into
rdkcentral:developfrom
gourivarma3:feature/RDKDEV-1446
Open

RDKDEV-1446 Add widevine-rdk Documentation#28
gourivarma3 wants to merge 2 commits into
rdkcentral:developfrom
gourivarma3:feature/RDKDEV-1446

Conversation

@gourivarma3

Copy link
Copy Markdown

[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

Copilot AI review requested due to automatic review settings June 22, 2026 10:33

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.md with 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.

Comment thread docs/README.md Outdated
Comment thread docs/README.md Outdated
Comment thread docs/README.md Outdated
Copilot AI review requested due to automatic review settings July 16, 2026 10:49

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 3 comments.

Comment thread docs/README.md

- **Error Handling Strategy**: CDM error codes are mapped to CDMi string tokens (`NeedsDeviceCertificate`, `SessionNotFound`, `DecryptError`, `TypeError`, `QuotaExceeded`, `NotSupported`, `UnExpectedError`) and forwarded via `IMediaKeySessionCallback::OnError()`. Decryption failures are logged to stdout with `[RDK_LOG]` prefix. Decryption error recovery is delegated to the calling layer.

- **Logging & Diagnostics**: All log output uses `std::cout` with `[RDK_LOG]` prefix and is gated on the `DEBUG` preprocessor macro (disabled by default). Entry and exit of functions are traced with `ENT_WV` / `EXT_WV` macros when `DEBUG` is defined. The module name for WPEFramework tracing is `OCDM_Widevine` (defined in `Module.h`). WPEFramework `TRACE_L1` is used in `HostImplementation.cpp` for storage operation traces.
Comment thread docs/README.md
| `company` | string | value of `OPERATOR_NAME` in device.properties | Company name reported to the CDM as `client_info.company_name`. |
| `model` | string | value of `MODEL_NUM` in device.properties | Model name reported to the CDM as `client_info.model_name`. |
| `device` | string | `"Linux"` | Device name reported to the CDM as `client_info.device_name`. |
| `WIDEVINE_VERSION` (build-time) | int | `16` | Selects the Widevine CDM API version (16, 17, or 18). Set via the CMake variable `CMAKE_WIDEVINE_VERSION` (which then defines `-DWIDEVINE_VERSION=<n>`). In Yocto builds, derived from distro features (`widevine_v18` → 18, `widevine_v17` → 17, default → 16). |
Comment thread docs/README.md

The CDM session's stream metadata can be updated at runtime through `MediaKeySession::SetParameter()`:

```bash
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants