Java Examples for com.google.android.exoplayer.drm.MediaDrmCallback
The following java examples will help you to understand the usage of com.google.android.exoplayer.drm.MediaDrmCallback. These source code samples are taken from different open source projects.
Example 1
| Project: player-sdk-native-android-master File: RendererBuilderFactory.java View source code |
/**
* Create a renderer builder which can build the given video.
* @param ctx The context (ex {@link android.app.Activity} in whicb the video has been created.
* @param video The video which will be played.
* @param mediaDrmCallback DRM Callback.
* @param preferSoftwareDecoder true if softwareDecoder is requred.
*/
public static ExoplayerWrapper.RendererBuilder createRendererBuilder(Context ctx, Video video, MediaDrmCallback mediaDrmCallback, boolean preferSoftwareDecoder) {
switch(video.getVideoType()) {
case HLS:
return new HlsRendererBuilder(ctx, ExoplayerUtil.getUserAgent(ctx), video.getUrl());
case DASH:
return new DashRendererBuilder(ctx, ExoplayerUtil.getUserAgent(ctx), video.getUrl(), mediaDrmCallback);
case MP4:
return new ExtractorRendererBuilder(ctx, ExoplayerUtil.getUserAgent(ctx), Uri.parse(video.getUrl()), preferSoftwareDecoder);
case OTHER:
return new ExtractorRendererBuilder(ctx, ExoplayerUtil.getUserAgent(ctx), Uri.parse(video.getUrl()), preferSoftwareDecoder);
default:
return null;
}
}Example 2
| Project: Mobilyzer-master File: DashVodRendererBuilder.java View source code |
public static Pair<DrmSessionManager, Boolean> getDrmSessionManagerData(DemoPlayer player, MediaDrmCallback drmCallback) throws UnsupportedSchemeException {
StreamingDrmSessionManager streamingDrmSessionManager = new StreamingDrmSessionManager(DemoUtil.WIDEVINE_UUID, player.getPlaybackLooper(), drmCallback, player.getMainHandler(), player);
return Pair.create((DrmSessionManager) streamingDrmSessionManager, getWidevineSecurityLevel(streamingDrmSessionManager) == SECURITY_LEVEL_1);
}Example 3
| Project: ExoPlayer-master File: DashTestRunner.java View source code |
@Override
protected DefaultDrmSessionManager<FrameworkMediaCrypto> buildDrmSessionManager(final String userAgent) {
if (widevineLicenseUrl == null) {
return null;
}
try {
MediaDrmCallback drmCallback = new HttpMediaDrmCallback(widevineLicenseUrl, new DefaultHttpDataSourceFactory(userAgent));
DefaultDrmSessionManager<FrameworkMediaCrypto> drmSessionManager = DefaultDrmSessionManager.newWidevineInstance(drmCallback, null, null, null);
if (!useL1Widevine) {
drmSessionManager.setPropertyString(SECURITY_LEVEL_PROPERTY, WIDEVINE_SECURITY_LEVEL_3);
}
if (offlineLicenseKeySetId != null) {
drmSessionManager.setMode(DefaultDrmSessionManager.MODE_PLAYBACK, offlineLicenseKeySetId);
}
return drmSessionManager;
} catch (UnsupportedDrmException e) {
throw new IllegalStateException(e);
}
}Example 4
| Project: androidtv-sample-inputs-master File: RendererBuilderFactory.java View source code |
/**
* Create new instance of {@link DemoPlayer.RendererBuilder}.
*
* @param context The {@link Context} to use.
* @param contentType The type of the video content: {@link Util#TYPE_SS},
* {@link Util#TYPE_DASH}, {@link Util#TYPE_HLS} or {@link Util#TYPE_OTHER}.
* @param contentUri The URI of the video content.
* @return A {@link DemoPlayer.RendererBuilder} instance.
*/
public static DemoPlayer.RendererBuilder createRendererBuilder(Context context, int contentType, Uri contentUri) {
String userAgent = Util.getUserAgent(context, "ExoVideoPlayer");
switch(contentType) {
case TvContractUtils.SOURCE_TYPE_MPEG_DASH:
{
// Implement your own DRM callback here.
MediaDrmCallback drmCallback = new WidevineTestMediaDrmCallback(null, null);
return new DashRendererBuilder(context, userAgent, contentUri.toString(), drmCallback);
}
case TvContractUtils.SOURCE_TYPE_SS:
{
// Implement your own DRM callback here.
MediaDrmCallback drmCallback = new SmoothStreamingTestMediaDrmCallback();
return new SmoothStreamingRendererBuilder(context, userAgent, contentUri.toString(), drmCallback);
}
case TvContractUtils.SOURCE_TYPE_HLS:
{
return new HlsRendererBuilder(context, userAgent, contentUri.toString());
}
case TvContractUtils.SOURCE_TYPE_HTTP_PROGRESSIVE:
{
return new ExtractorRendererBuilder(context, userAgent, contentUri);
}
default:
{
throw new IllegalStateException("Unsupported type: " + contentType);
}
}
}Example 5
| Project: Exoplayer_VLC-master File: DashRendererBuilder.java View source code |
public static Pair<DrmSessionManager, Boolean> getDrmSessionManagerData(DemoPlayer player, MediaDrmCallback drmCallback) throws UnsupportedDrmException {
try {
StreamingDrmSessionManager streamingDrmSessionManager = new StreamingDrmSessionManager(DemoUtil.WIDEVINE_UUID, player.getPlaybackLooper(), drmCallback, null, player.getMainHandler(), player);
return Pair.create((DrmSessionManager) streamingDrmSessionManager, getWidevineSecurityLevel(streamingDrmSessionManager) == SECURITY_LEVEL_1);
} catch (UnsupportedSchemeException e) {
throw new UnsupportedDrmException(UnsupportedDrmException.REASON_UNSUPPORTED_SCHEME);
} catch (Exception e) {
throw new UnsupportedDrmException(UnsupportedDrmException.REASON_UNKNOWN, e);
}
}Example 6
| Project: VideoExtractionAndroidApp-master File: DashVodRendererBuilder.java View source code |
public static Pair<DrmSessionManager, Boolean> getDrmSessionManagerData(DemoPlayer player, MediaDrmCallback drmCallback) throws UnsupportedSchemeException {
StreamingDrmSessionManager streamingDrmSessionManager = new StreamingDrmSessionManager(DemoUtil.WIDEVINE_UUID, player.getPlaybackLooper(), drmCallback, player.getMainHandler(), player);
return Pair.create((DrmSessionManager) streamingDrmSessionManager, getWidevineSecurityLevel(streamingDrmSessionManager) == SECURITY_LEVEL_1);
}Example 7
| Project: ExoMedia-master File: ExoAudioPlayer.java View source code |
@Override
public void setDrmCallback(@Nullable MediaDrmCallback drmCallback) {
exoMediaPlayer.setDrmCallback(drmCallback);
}