Search in sources :

Example 1 with DEBUG

use of org.schabi.newpipe.playlist.PlayQueue.DEBUG in project NewPipe by TeamNewPipe.

the class MediaSourceManager method maybeSync.

/*//////////////////////////////////////////////////////////////////////////
    // Metadata Synchronization
    //////////////////////////////////////////////////////////////////////////*/
private void maybeSync() {
    if (DEBUG)
        Log.d(TAG, "onPlaybackSynchronize() called.");
    final PlayQueueItem currentItem = playQueue.getItem();
    if (isBlocked.get() || !isPlaybackReady() || currentItem == null)
        return;
    final Consumer<StreamInfo> onSuccess = info -> syncInternal(currentItem, info);
    final Consumer<Throwable> onError = throwable -> syncInternal(currentItem, null);
    final Disposable sync = currentItem.getStream().observeOn(AndroidSchedulers.mainThread()).subscribe(onSuccess, onError);
    syncReactor.set(sync);
}
Also used : DynamicConcatenatingMediaSource(com.google.android.exoplayer2.source.DynamicConcatenatingMediaSource) ManagedMediaSource(org.schabi.newpipe.player.mediasource.ManagedMediaSource) ServiceHelper(org.schabi.newpipe.util.ServiceHelper) SerialDisposable(io.reactivex.disposables.SerialDisposable) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) NonNull(android.support.annotation.NonNull) Single(io.reactivex.Single) AndroidSchedulers(io.reactivex.android.schedulers.AndroidSchedulers) LoadedMediaSource(org.schabi.newpipe.player.mediasource.LoadedMediaSource) StreamInfo(org.schabi.newpipe.extractor.stream.StreamInfo) HashSet(java.util.HashSet) PlaceholderMediaSource(org.schabi.newpipe.player.mediasource.PlaceholderMediaSource) DEBUG(org.schabi.newpipe.playlist.PlayQueue.DEBUG) ShuffleOrder(com.google.android.exoplayer2.source.ShuffleOrder) MoveEvent(org.schabi.newpipe.playlist.events.MoveEvent) Observable(io.reactivex.Observable) PlayQueueItem(org.schabi.newpipe.playlist.PlayQueueItem) Subscriber(org.reactivestreams.Subscriber) Log(android.util.Log) MediaSource(com.google.android.exoplayer2.source.MediaSource) RemoveEvent(org.schabi.newpipe.playlist.events.RemoveEvent) Set(java.util.Set) FailedMediaSource(org.schabi.newpipe.player.mediasource.FailedMediaSource) Consumer(io.reactivex.functions.Consumer) TimeUnit(java.util.concurrent.TimeUnit) ReorderEvent(org.schabi.newpipe.playlist.events.ReorderEvent) CompositeDisposable(io.reactivex.disposables.CompositeDisposable) Disposable(io.reactivex.disposables.Disposable) PublishSubject(io.reactivex.subjects.PublishSubject) PlayQueueEvent(org.schabi.newpipe.playlist.events.PlayQueueEvent) Subscription(org.reactivestreams.Subscription) PlayQueue(org.schabi.newpipe.playlist.PlayQueue) Nullable(android.support.annotation.Nullable) Collections(java.util.Collections) EmptySubscription(io.reactivex.internal.subscriptions.EmptySubscription) SerialDisposable(io.reactivex.disposables.SerialDisposable) CompositeDisposable(io.reactivex.disposables.CompositeDisposable) Disposable(io.reactivex.disposables.Disposable) PlayQueueItem(org.schabi.newpipe.playlist.PlayQueueItem) StreamInfo(org.schabi.newpipe.extractor.stream.StreamInfo)

Aggregations

NonNull (android.support.annotation.NonNull)1 Nullable (android.support.annotation.Nullable)1 Log (android.util.Log)1 DynamicConcatenatingMediaSource (com.google.android.exoplayer2.source.DynamicConcatenatingMediaSource)1 MediaSource (com.google.android.exoplayer2.source.MediaSource)1 ShuffleOrder (com.google.android.exoplayer2.source.ShuffleOrder)1 Observable (io.reactivex.Observable)1 Single (io.reactivex.Single)1 AndroidSchedulers (io.reactivex.android.schedulers.AndroidSchedulers)1 CompositeDisposable (io.reactivex.disposables.CompositeDisposable)1 Disposable (io.reactivex.disposables.Disposable)1 SerialDisposable (io.reactivex.disposables.SerialDisposable)1 Consumer (io.reactivex.functions.Consumer)1 EmptySubscription (io.reactivex.internal.subscriptions.EmptySubscription)1 PublishSubject (io.reactivex.subjects.PublishSubject)1 Collections (java.util.Collections)1 HashSet (java.util.HashSet)1 Set (java.util.Set)1 TimeUnit (java.util.concurrent.TimeUnit)1 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)1