Class ContentBlock

java.lang.Object
com.brightcove.ssai.timeline.block.ContentBlock
All Implemented Interfaces:
TimelineBlock

public class ContentBlock extends Object implements TimelineBlock
A timeline block representing video content.
  • Method Details

    • create

      public static ContentBlock create(long durationMs, long absoluteOffsetMs, long relativeOffsetMs)
      Instantiates a new Content block.
      Parameters:
      durationMs - duration of the ContentBlock in milliseconds.
      absoluteOffsetMs - absoluteOffset of the ContentBlock in milliseconds.
      relativeOffsetMs - relativeOffset of the ContentBlock in milliseconds.
      Returns:
      the created ContentBlock instance with an invalid AdPod.
    • create

      public static ContentBlock create(long durationMs, long absoluteOffsetMs, long relativeOffsetMs, @NonNull AdPod adPod)
      Instantiates a new Content block.
      Parameters:
      durationMs - duration of the ContentBlock in milliseconds.
      absoluteOffsetMs - absoluteOffset of the ContentBlock in milliseconds.
      relativeOffsetMs - relativeOffset of the ContentBlock in milliseconds.
      adPod - a non-null AdPod.
      Returns:
      the created ContentBlock instance.
    • createDynamicBlock

      public static ContentBlock createDynamicBlock()
    • isAd

      public boolean isAd()
      Description copied from interface: TimelineBlock
      Specify if the block is an Ad.
      Specified by:
      isAd in interface TimelineBlock
      Returns:
      true if an Ad.
    • getAdPod

      @NonNull public AdPod getAdPod()
      Description copied from interface: TimelineBlock
      If TimelineBlock.isAd() returns true, use this method to get additional information about the Ad Pod.
      Specified by:
      getAdPod in interface TimelineBlock
      Returns:
      the Ad Pod info
    • getDuration

      public long getDuration()
      Description copied from interface: TimelineBlock
      Gets the duration of the block in milliseconds.
      Specified by:
      getDuration in interface TimelineBlock
      Returns:
      the duration.
    • getAbsoluteOffset

      public long getAbsoluteOffset()
      Description copied from interface: TimelineBlock
      Gets the absolute Block offset in milliseconds, that is, the offset with respect to the total video length (content + ads).
      Specified by:
      getAbsoluteOffset in interface TimelineBlock
      Returns:
      the offset in milliseconds.
    • getRelativeOffset

      public long getRelativeOffset()
      Description copied from interface: TimelineBlock
      Gets the relative Block offset in milliseconds, that is, the offset with respect to the content length only (no Ads).
      Specified by:
      getRelativeOffset in interface TimelineBlock
      Returns:
      the offset in milliseconds.
    • isDynamic

      public boolean isDynamic()
      Description copied from interface: TimelineBlock
      Returns whether the Timeline block is dynamic or not.

      Note: The default implementation returns false.

      Specified by:
      isDynamic in interface TimelineBlock
      Returns:
      true if it is dynamic
    • updateDuration

      public void updateDuration(long duration)
      Description copied from interface: TimelineBlock
      Updates the duration of this block. This block must only be updated when TimelineBlock.isDynamic() returns true.

      Note: The default implementation does nothing. It can be overridden to provide the desired implementation.

      Specified by:
      updateDuration in interface TimelineBlock
      Parameters:
      duration - the new duration
    • updateAbsoluteOffset

      public void updateAbsoluteOffset(long absoluteOffset)
      Description copied from interface: TimelineBlock
      Updates the absolute offset of this block. This block must only be updated when TimelineBlock.isDynamic() returns true.

      Note: The default implementation does nothing. It can be overridden to provide the desired implementation.

      Specified by:
      updateAbsoluteOffset in interface TimelineBlock
      Parameters:
      absoluteOffset - the new absolute offset
    • updateRelativeOffset

      public void updateRelativeOffset(long relativeOffset)
      Description copied from interface: TimelineBlock
      Updates the relative offset of this block. This block must only be updated when TimelineBlock.isDynamic() returns true.

      Note: The default implementation does nothing. It can be overridden to provide the desired implementation.

      Specified by:
      updateRelativeOffset in interface TimelineBlock
      Parameters:
      relativeOffset - the new relative offset
    • updateAdPod

      public void updateAdPod(@NonNull AdPod adPod)
      Description copied from interface: TimelineBlock
      Updates the AdPod of this block. This block must only be updated when TimelineBlock.isDynamic() returns true.

      Note: The default implementation does nothing. It can be overridden to provide the desired implementation.

      Specified by:
      updateAdPod in interface TimelineBlock
      Parameters:
      adPod - the new AdPod
    • toString

      public String toString()
      Overrides:
      toString in class Object