Package 

Class PlayerBandwidthMeter

  • All Implemented Interfaces:
    com.google.android.exoplayer2.upstream.BandwidthMeter , com.google.android.exoplayer2.upstream.TransferListener

    
    public class PlayerBandwidthMeter
     implements BandwidthMeter, TransferListener
                        

    Provides an implementation of BandwidthMeter that tracks the total number of bytes transferred. By default all work will be delegated to DefaultBandwidthMeter. The caller may override the delegate to another instance any time.

    • Constructor Summary

      Constructors 
      Constructor Description
      PlayerBandwidthMeter() Constructs a new instance of the bandwidth meter that will use DefaultBandwidthMeter internally to delegate the work.
      PlayerBandwidthMeter(Handler eventHandler, BandwidthMeter.EventListener eventListener) Constructs a new instance of the bandwidth meter that will use DefaultBandwidthMeter internally to delegate the work.
      PlayerBandwidthMeter(Context context, Handler eventHandler, BandwidthMeter.EventListener eventListener) Constructs a new instance of the bandwidth meter that will use DefaultBandwidthMeter internally to delegate the work.
      PlayerBandwidthMeter(BandwidthMeter bandwidthMeter) Constructs a new instance of the bandwidth meter that will use given bandwidth meter todelegate the work.
    • Method Summary

      Modifier and Type Method Description
      void setDelegate(@Nullable() BandwidthMeter bandwidthMeter) Sets reference to actual bandwidth meter that must be used to handle bitrate estimatecalculations.
      long getBitrateEstimate()
      TransferListener getTransferListener()
      void addEventListener(Handler eventHandler, BandwidthMeter.EventListener eventListener)
      void removeEventListener(BandwidthMeter.EventListener eventListener)
      void onTransferInitializing(DataSource source, DataSpec dataSpec, boolean isNetwork)
      void onTransferStart(DataSource source, DataSpec dataSpec, boolean isNetwork)
      void onBytesTransferred(DataSource source, DataSpec dataSpec, boolean isNetwork, int bytesTransferred)
      void onTransferEnd(DataSource source, DataSpec dataSpec, boolean isNetwork)
      PlayerBandwidthMeter resetTotalBytesTransferred() Resets the counter for total number of bytes transferred.
      • Methods inherited from class com.google.android.exoplayer2.upstream.BandwidthMeter

        addEventListener, getBitrateEstimate, getTimeToFirstByteEstimateUs, getTransferListener, removeEventListener
      • Methods inherited from class com.google.android.exoplayer2.upstream.TransferListener

        onBytesTransferred, onTransferEnd, onTransferInitializing, onTransferStart
      • Methods inherited from class java.lang.Object

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

      • PlayerBandwidthMeter

        PlayerBandwidthMeter()
        Constructs a new instance of the bandwidth meter that will use DefaultBandwidthMeter internally to delegate the work.
      • PlayerBandwidthMeter

        PlayerBandwidthMeter(Handler eventHandler, BandwidthMeter.EventListener eventListener)
        Constructs a new instance of the bandwidth meter that will use DefaultBandwidthMeter internally to delegate the work.
        Parameters:
        eventHandler - reference to the event handler, if any.
        eventListener - reference to the event listener, if any.
      • PlayerBandwidthMeter

        PlayerBandwidthMeter(Context context, Handler eventHandler, BandwidthMeter.EventListener eventListener)
        Constructs a new instance of the bandwidth meter that will use DefaultBandwidthMeter internally to delegate the work.
        Parameters:
        eventHandler - reference to the event handler, if any.
        eventListener - reference to the event listener, if any.
      • PlayerBandwidthMeter

        PlayerBandwidthMeter(BandwidthMeter bandwidthMeter)
        Constructs a new instance of the bandwidth meter that will use given bandwidth meter todelegate the work.
        Parameters:
        bandwidthMeter - reference to the bandwidth meter to be used as delegate.