Class ExtendedMediaCodecVideoTrackRenderer

java.lang.Object
com.google.android.exoplayer2.BaseRenderer
com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
com.google.android.exoplayer2.video.MediaCodecVideoRenderer
com.castlabs.android.player.ExtendedMediaCodecVideoTrackRenderer
All Implemented Interfaces:
com.google.android.exoplayer2.drm.DrmSession.EventListener, com.google.android.exoplayer2.PlayerMessage.Target, com.google.android.exoplayer2.Renderer, com.google.android.exoplayer2.RendererCapabilities

public class ExtendedMediaCodecVideoTrackRenderer extends com.google.android.exoplayer2.video.MediaCodecVideoRenderer
Extension of MediaCodecVideoRenderer to add customizations and extensions.
Since:
3.0.2
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.google.android.exoplayer2.video.MediaCodecVideoRenderer

    com.google.android.exoplayer2.video.MediaCodecVideoRenderer.VideoDecoderException

    Nested classes/interfaces inherited from class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer

    com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.BufferReplacementMode, com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.DecoderException, com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.DecoderInitializationException, com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.Synchronizer

    Nested classes/interfaces inherited from class com.google.android.exoplayer2.BaseRenderer

    com.google.android.exoplayer2.BaseRenderer.RendererStreamException

    Nested classes/interfaces inherited from interface com.google.android.exoplayer2.Renderer

    com.google.android.exoplayer2.Renderer.Listener, com.google.android.exoplayer2.Renderer.State

    Nested classes/interfaces inherited from interface com.google.android.exoplayer2.RendererCapabilities

    com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupport, com.google.android.exoplayer2.RendererCapabilities.Capabilities, com.google.android.exoplayer2.RendererCapabilities.CodecImplementation, com.google.android.exoplayer2.RendererCapabilities.FormatSupport, com.google.android.exoplayer2.RendererCapabilities.Listener, com.google.android.exoplayer2.RendererCapabilities.TunnelingSupport
  • Field Summary

    Fields inherited from class com.google.android.exoplayer2.video.MediaCodecVideoRenderer

    CODEC_NEEDS_RECONFIGURE_WORKAROUND_OVERRIDE, CODEC_NEEDS_REINIT_ON_DRM_SESSION_CHANGE, CODEC_NEEDS_REINIT_ON_MAX_INPUT_SIZE_EXCEED_BYTES, CODEC_NEEDS_REINIT_ON_RESOLUTION_EXCEED_PIXELS, CODEC_NEEDS_SET_OUTPUT_SURFACE_WORKAROUND_OVERRIDE, CODEC_RETRY_COUNTER_OVERRIDE, FORCE_JOINING_ON_INIT_FOR_DEVICES_THAT_DONT_ACCURATELY_REPORT_BUFFER_FLAGS, MIN_BUFFER_COUNT_TO_DISPLAY_FRAME_IN_TUNNELING, MIN_TIME_TO_DISPLAY_TIME_MS_IN_TUNNELING

    Fields inherited from class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer

    BUFFER_REPLACEMENT_DIRECT, BUFFER_REPLACEMENT_DISABLED, BUFFER_REPLACEMENT_NORMAL, CODEC_WAIT_RELEASE_WORKAROUND_TIME_MS, CODECS_WAIT_RELEASE_WORKAROUND, DEVICE_NEEDS_SKIP_RESET_ON_DISABLED, FORCE_FLUSH_WORKAROUND, INPUT_BUFFER_INITIALIZATION_MODE

    Fields inherited from interface com.google.android.exoplayer2.Renderer

    STATE_DISABLED, STATE_ENABLED, STATE_STARTED

    Fields inherited from interface com.google.android.exoplayer2.RendererCapabilities

    ADAPTIVE_NOT_SEAMLESS, ADAPTIVE_NOT_SUPPORTED, ADAPTIVE_SEAMLESS, ADAPTIVE_SUPPORT_MASK, CODEC_IMPLEMENTATION_HARDWARE, CODEC_IMPLEMENTATION_MASK, CODEC_IMPLEMENTATION_SOFTWARE, FORMAT_EXCEEDS_CAPABILITIES, FORMAT_HANDLED, FORMAT_SUPPORT_MASK, FORMAT_UNSUPPORTED_DRM, FORMAT_UNSUPPORTED_SUBTYPE, FORMAT_UNSUPPORTED_TYPE, TUNNELING_NOT_SUPPORTED, TUNNELING_SUPPORT_MASK, TUNNELING_SUPPORTED
  • Constructor Summary

    Constructors
    Constructor
    Description
    ExtendedMediaCodecVideoTrackRenderer(Context context, com.google.android.exoplayer2.mediacodec.MediaCodecAdapter.Factory codecAdapterFactory, com.google.android.exoplayer2.mediacodec.MediaCodecSelector mediaCodecSelector, long allowedJoiningTimeMs, com.google.android.exoplayer2.drm.DrmSessionManager drmSessionManager, boolean playClearSamplesWithoutKeys, Handler eventHandler, com.google.android.exoplayer2.video.VideoRendererEventListener eventListener, int maxDroppedFrameCountToNotify, boolean pushBlackScreen, boolean enableDecoderFallback, boolean enableDecoderFallbackToUnsecureDecoder)
    Constructs a new instance.
  • Method Summary

    Methods inherited from class com.google.android.exoplayer2.video.MediaCodecVideoRenderer

    handleMessage, isEnded, isReady, setOperatingRate

    Methods inherited from class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer

    experimental_setFeedYieldEnabled, experimental_setRenderTimeLimitMs, onRenewed, render, setSynchronizer, supportsFormat, supportsMixedMimeTypeAdaptation

    Methods inherited from class com.google.android.exoplayer2.BaseRenderer

    clearListener, disable, enable, getCapabilities, getMediaClock, getReadingPositionUs, getState, getStream, getStreamOffsetUs, getTrackType, hasReadStreamToEnd, isCurrentStreamFinal, maybeThrowStreamError, release, replaceStream, reset, resetPosition, setCurrentStreamFinal, setIndex, setListener, setListener, setRenderingIntervalManager, start, stop

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ExtendedMediaCodecVideoTrackRenderer

      public ExtendedMediaCodecVideoTrackRenderer(Context context, com.google.android.exoplayer2.mediacodec.MediaCodecAdapter.Factory codecAdapterFactory, com.google.android.exoplayer2.mediacodec.MediaCodecSelector mediaCodecSelector, long allowedJoiningTimeMs, com.google.android.exoplayer2.drm.DrmSessionManager drmSessionManager, boolean playClearSamplesWithoutKeys, Handler eventHandler, com.google.android.exoplayer2.video.VideoRendererEventListener eventListener, int maxDroppedFrameCountToNotify, boolean pushBlackScreen, boolean enableDecoderFallback, boolean enableDecoderFallbackToUnsecureDecoder)
      Constructs a new instance.
      Parameters:
      context - The context
      codecAdapterFactory - The codec adapter factory
      mediaCodecSelector - The media codec selector
      allowedJoiningTimeMs - The allowed joining time in milliseconds
      drmSessionManager - The DRM session manager
      playClearSamplesWithoutKeys - Whether to play clear samples without keys
      eventHandler - The event handler
      eventListener - The event listener
      maxDroppedFrameCountToNotify - The maximum number of dropped frames to notify
      pushBlackScreen - Whether to push black screen
      enableDecoderFallback - Whether to enable decoder fallback
      enableDecoderFallbackToUnsecureDecoder - Whether to enable decoder fallback to unsecure decoder