Class IPTVPlugin

java.lang.Object
com.castlabs.android.Plugin
com.castlabs.android.player.IPTVPlugin

public class IPTVPlugin extends Plugin
Plugin for IPTV playback.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final long
    Discontinuity threshold in stream to be marked as discontinuous
    static final int
    Default number of Queued RTP Packets
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new IPTVPlugin instance with default values.
    IPTVPlugin(boolean playsClearWithExo, boolean ignorDataTillVideoKeyframe, int rtpQueueSizeInPackets, long discontinuityThreshold)
    Creates a new IPTVPlugin instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the ID of the plugin.
    setDrmSystemInformation(int drmSystem, String licenseUrl)
    Sets the DRM system and license URL used to build the in-band PSSH data for encrypted IPTV streams.

    Methods inherited from class com.castlabs.android.Plugin

    init, onRemotePlay

    Methods inherited from class java.lang.Object

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

    • DEFAULT_RTP_QUEUE_SIZE

      public static final int DEFAULT_RTP_QUEUE_SIZE
      Default number of Queued RTP Packets
      See Also:
    • DEFAULT_DISCONTINUITY_THRESHOLD

      public static final long DEFAULT_DISCONTINUITY_THRESHOLD
      Discontinuity threshold in stream to be marked as discontinuous
      See Also:
  • Constructor Details

    • IPTVPlugin

      public IPTVPlugin(boolean playsClearWithExo, boolean ignorDataTillVideoKeyframe, int rtpQueueSizeInPackets, long discontinuityThreshold)
      Creates a new IPTVPlugin instance.
      Parameters:
      playsClearWithExo - Whether to play clear content with ExoPlayer.
      ignorDataTillVideoKeyframe - Whether to ignore data until a video keyframe is received.
      rtpQueueSizeInPackets - The size of the RTP queue in number of packets.
      discontinuityThreshold - The threshold for detecting discontinuities in milliseconds.
    • IPTVPlugin

      public IPTVPlugin()
      Creates a new IPTVPlugin instance with default values.
  • Method Details

    • setDrmSystemInformation

      @NonNull public IPTVPlugin setDrmSystemInformation(int drmSystem, @NonNull String licenseUrl)
      Sets the DRM system and license URL used to build the in-band PSSH data for encrypted IPTV streams.

      This must be called before the plugin is registered with PlayerSDK, because register() copies the values into the player plugin.

      Parameters:
      drmSystem - Either ExoDrmUtils.DRM_SYSTEM_WIDEVINE or ExoDrmUtils.DRM_SYSTEM_PLAYREADY
      licenseUrl - The license URL embedded in the generated PlayReady header
      Returns:
      This instance, for call chaining
    • getId

      @NonNull public String getId()
      Description copied from class: Plugin
      Returns the ID of the plugin. This ID is used to identify the plugin
      Specified by:
      getId in class Plugin
      Returns:
      The plugin ID or null