Commit ab21f710 by ibaker Committed by Oliver Woodman

Add MediaSource.{add,remove}DrmEventListener

Pre-work for issue:#6765

PiperOrigin-RevId: 299322086
parent c6bf6aae
...@@ -19,6 +19,7 @@ import android.os.Handler; ...@@ -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;
...@@ -141,6 +142,16 @@ public abstract class BaseMediaSource implements MediaSource { ...@@ -141,6 +142,16 @@ public abstract class BaseMediaSource implements MediaSource {
} }
@Override @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( public final void prepareSource(
MediaSourceCaller caller, @Nullable TransferListener mediaTransferListener) { MediaSourceCaller caller, @Nullable TransferListener mediaTransferListener) {
Looper looper = Looper.myLooper(); Looper looper = Looper.myLooper();
......
...@@ -19,6 +19,7 @@ import android.os.Handler; ...@@ -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;
...@@ -229,6 +230,23 @@ public interface MediaSource { ...@@ -229,6 +230,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.
* *
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment