mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Add MediaSource.{add,remove}DrmEventListener
Pre-work for issue:#6765 PiperOrigin-RevId: 299322086
This commit is contained in:
parent
c6bf6aae2a
commit
ab21f710bb
2 changed files with 29 additions and 0 deletions
|
|
@ -19,6 +19,7 @@ import android.os.Handler;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import com.google.android.exoplayer2.Timeline;
|
import com.google.android.exoplayer2.Timeline;
|
||||||
|
import com.google.android.exoplayer2.drm.DrmSessionEventListener;
|
||||||
import com.google.android.exoplayer2.upstream.TransferListener;
|
import com.google.android.exoplayer2.upstream.TransferListener;
|
||||||
import com.google.android.exoplayer2.util.Assertions;
|
import com.google.android.exoplayer2.util.Assertions;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
@ -140,6 +141,16 @@ public abstract class BaseMediaSource implements MediaSource {
|
||||||
eventDispatcher.removeEventListener(eventListener);
|
eventDispatcher.removeEventListener(eventListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final void addDrmEventListener(Handler handler, DrmSessionEventListener eventListener) {
|
||||||
|
eventDispatcher.addEventListener(handler, eventListener);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final void removeDrmEventListener(DrmSessionEventListener eventListener) {
|
||||||
|
eventDispatcher.removeEventListener(eventListener);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final void prepareSource(
|
public final void prepareSource(
|
||||||
MediaSourceCaller caller, @Nullable TransferListener mediaTransferListener) {
|
MediaSourceCaller caller, @Nullable TransferListener mediaTransferListener) {
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ import android.os.Handler;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import com.google.android.exoplayer2.C;
|
import com.google.android.exoplayer2.C;
|
||||||
import com.google.android.exoplayer2.Timeline;
|
import com.google.android.exoplayer2.Timeline;
|
||||||
|
import com.google.android.exoplayer2.drm.DrmSessionEventListener;
|
||||||
import com.google.android.exoplayer2.upstream.Allocator;
|
import com.google.android.exoplayer2.upstream.Allocator;
|
||||||
import com.google.android.exoplayer2.upstream.TransferListener;
|
import com.google.android.exoplayer2.upstream.TransferListener;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
@ -228,6 +229,23 @@ public interface MediaSource {
|
||||||
*/
|
*/
|
||||||
void removeEventListener(MediaSourceEventListener eventListener);
|
void removeEventListener(MediaSourceEventListener eventListener);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds a {@link DrmSessionEventListener} to the list of listeners which are notified of DRM
|
||||||
|
* events for this media source.
|
||||||
|
*
|
||||||
|
* @param handler A handler on the which listener events will be posted.
|
||||||
|
* @param eventListener The listener to be added.
|
||||||
|
*/
|
||||||
|
void addDrmEventListener(Handler handler, DrmSessionEventListener eventListener);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes a {@link DrmSessionEventListener} from the list of listeners which are notified of DRM
|
||||||
|
* events for this media source.
|
||||||
|
*
|
||||||
|
* @param eventListener The listener to be removed.
|
||||||
|
*/
|
||||||
|
void removeDrmEventListener(DrmSessionEventListener eventListener);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the initial dummy timeline that is returned immediately when the real timeline is not
|
* Returns the initial dummy timeline that is returned immediately when the real timeline is not
|
||||||
* yet known, or null to let the player create an initial timeline.
|
* yet known, or null to let the player create an initial timeline.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue