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);
}