Class YoutubeMpegStreamAudioTrack

java.lang.Object
com.sedmelluq.discord.lavaplayer.track.BaseAudioTrack
com.sedmelluq.discord.lavaplayer.container.mpeg.MpegAudioTrack
dev.lavalink.youtube.track.YoutubeMpegStreamAudioTrack
All Implemented Interfaces:
com.sedmelluq.discord.lavaplayer.track.AudioItem, com.sedmelluq.discord.lavaplayer.track.AudioTrack, com.sedmelluq.discord.lavaplayer.track.InternalAudioTrack, com.sedmelluq.discord.lavaplayer.track.playback.AudioFrameProvider

public class YoutubeMpegStreamAudioTrack extends com.sedmelluq.discord.lavaplayer.container.mpeg.MpegAudioTrack
YouTube segmented MPEG stream track. The base URL always gives the latest chunk. Every chunk contains the current sequence number in it, which is used to get the sequence number of the next segment. This is repeated until YouTube responds to a segment request with 204.
  • Field Summary

    Fields inherited from class com.sedmelluq.discord.lavaplayer.track.BaseAudioTrack

    accurateDuration, trackInfo
  • Constructor Summary

    Constructors
    Constructor
    Description
    YoutubeMpegStreamAudioTrack(com.sedmelluq.discord.lavaplayer.track.AudioTrackInfo trackInfo, com.sedmelluq.discord.lavaplayer.tools.io.HttpInterface httpInterface, URI signedUrl)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    long
     
    long
     
    void
    process(com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor localExecutor)
     
    void
    setPosition(long position)
     

    Methods inherited from class com.sedmelluq.discord.lavaplayer.container.mpeg.MpegAudioTrack

    loadAudioTrack

    Methods inherited from class com.sedmelluq.discord.lavaplayer.track.BaseAudioTrack

    assignExecutor, createLocalExecutor, getActiveExecutor, getIdentifier, getInfo, getSourceManager, getState, getUserData, getUserData, isSeekable, makeClone, makeShallowClone, provide, provide, provide, provide, setMarker, setUserData, stop

    Methods inherited from class java.lang.Object

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

    • YoutubeMpegStreamAudioTrack

      public YoutubeMpegStreamAudioTrack(com.sedmelluq.discord.lavaplayer.track.AudioTrackInfo trackInfo, com.sedmelluq.discord.lavaplayer.tools.io.HttpInterface httpInterface, URI signedUrl)
      Parameters:
      trackInfo - Track info
      httpInterface - HTTP interface to use for loading segments
      signedUrl - URI of the base stream with signature resolved
  • Method Details

    • process

      public void process(com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor localExecutor)
      Specified by:
      process in interface com.sedmelluq.discord.lavaplayer.track.InternalAudioTrack
      Overrides:
      process in class com.sedmelluq.discord.lavaplayer.container.mpeg.MpegAudioTrack
    • setPosition

      public void setPosition(long position)
      Specified by:
      setPosition in interface com.sedmelluq.discord.lavaplayer.track.AudioTrack
      Overrides:
      setPosition in class com.sedmelluq.discord.lavaplayer.track.BaseAudioTrack
    • getDuration

      public long getDuration()
      Specified by:
      getDuration in interface com.sedmelluq.discord.lavaplayer.track.AudioTrack
      Overrides:
      getDuration in class com.sedmelluq.discord.lavaplayer.track.BaseAudioTrack
    • getPosition

      public long getPosition()
      Specified by:
      getPosition in interface com.sedmelluq.discord.lavaplayer.track.AudioTrack
      Overrides:
      getPosition in class com.sedmelluq.discord.lavaplayer.track.BaseAudioTrack