mirror of
https://github.com/samsonjs/media.git
synced 2026-04-14 12:45:47 +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 androidx.annotation.Nullable;
|
||||
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.util.Assertions;
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -140,6 +141,16 @@ public abstract class BaseMediaSource implements MediaSource {
|
|||
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
|
||||
public final void prepareSource(
|
||||
MediaSourceCaller caller, @Nullable TransferListener mediaTransferListener) {
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ import android.os.Handler;
|
|||
import androidx.annotation.Nullable;
|
||||
import com.google.android.exoplayer2.C;
|
||||
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.TransferListener;
|
||||
import java.io.IOException;
|
||||
|
|
@ -228,6 +229,23 @@ public interface MediaSource {
|
|||
*/
|
||||
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
|
||||
* yet known, or null to let the player create an initial timeline.
|
||||
|
|
|
|||
Loading…
Reference in a new issue