# castLabs DRMToday on Android

This article describes how to configure castLabs DRMToday with THEOplayer.

Head to our page on [DRM](https://docs-preview.optiview.dolby.com/pr-861/theoplayer/how-to-guides/android/drm/introduction.md) for more general information.

## Integration

We provide open-source DRM integrations which are easy to maintain and allow for a modular approach. You can find them in the [DRM integration samples repository](https://github.com/THEOplayer/samples-drm-integration), alongside guides on how to integrate and use them.

There currently is no ready-made integration for this DRM provider: you can choose to develop one based on the examples in the repository, or get in contact with us about making one.

## Pre-integration

> **Note**
>
> When integrating DRM for the first time or updating your integration, the DRM integration described above is preferred over the pre-integration below.

```java
DRMConfiguration drmConfiguration = DRMTodayConfiguration.Builder
    .drmToday(
        new KeySystemConfiguration("<LICENSE_KEY_URL_WIDEVINE>")
    )
    .merchant("<MERCHANT>")
    .sessionId("<SESSION_ID>")
    .token("<TOKEN>")
    .userId("<USER_ID>")
    .build();
TypedSource typedSource = new TypedSource.Builder()
    .src("<DASH_STREAM_URL>")
    .drm(drmConfiguration)
    .build();
SourceDescription sourceDescription = SourceDescription.Builder.sourceDescription()
    .sources(typedSource)
    .build();
theoplayer.getPlayer().setSource(sourceDescription);
```

## Resources

* <https://castlabs.com/drmtoday/>
