Add MediaSource.{add,remove}DrmEventListener

Pre-work for issue:#6765

PiperOrigin-RevId: 299322086
This commit is contained in:
ibaker 2020-03-06 11:52:04 +00:00 committed by Oliver Woodman
parent c6bf6aae2a
commit ab21f710bb
2 changed files with 29 additions and 0 deletions

View file

@ -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) {

View file

@ -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.