Add decompiled APK source code (JADX)

- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-02-18 14:52:23 -08:00
parent cc210a65ea
commit f9d20bb3fc
26991 changed files with 2541449 additions and 0 deletions

View File

@@ -0,0 +1,647 @@
package com.mbridge.msdk.playercommon.exoplayer2.analytics;
import android.net.NetworkInfo;
import android.view.Surface;
import androidx.annotation.Nullable;
import com.mbridge.msdk.playercommon.exoplayer2.ExoPlaybackException;
import com.mbridge.msdk.playercommon.exoplayer2.Format;
import com.mbridge.msdk.playercommon.exoplayer2.PlaybackParameters;
import com.mbridge.msdk.playercommon.exoplayer2.Player;
import com.mbridge.msdk.playercommon.exoplayer2.Timeline;
import com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener;
import com.mbridge.msdk.playercommon.exoplayer2.audio.AudioRendererEventListener;
import com.mbridge.msdk.playercommon.exoplayer2.decoder.DecoderCounters;
import com.mbridge.msdk.playercommon.exoplayer2.drm.DefaultDrmSessionEventListener;
import com.mbridge.msdk.playercommon.exoplayer2.metadata.Metadata;
import com.mbridge.msdk.playercommon.exoplayer2.metadata.MetadataOutput;
import com.mbridge.msdk.playercommon.exoplayer2.source.MediaSource;
import com.mbridge.msdk.playercommon.exoplayer2.source.MediaSourceEventListener;
import com.mbridge.msdk.playercommon.exoplayer2.source.TrackGroupArray;
import com.mbridge.msdk.playercommon.exoplayer2.trackselection.TrackSelectionArray;
import com.mbridge.msdk.playercommon.exoplayer2.upstream.BandwidthMeter;
import com.mbridge.msdk.playercommon.exoplayer2.util.Assertions;
import com.mbridge.msdk.playercommon.exoplayer2.util.Clock;
import com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
/* loaded from: classes4.dex */
public class AnalyticsCollector implements Player.EventListener, AudioRendererEventListener, DefaultDrmSessionEventListener, MetadataOutput, MediaSourceEventListener, BandwidthMeter.EventListener, VideoRendererEventListener {
private final Clock clock;
@Nullable
private Player player;
private final CopyOnWriteArraySet<AnalyticsListener> listeners = new CopyOnWriteArraySet<>();
private final MediaPeriodQueueTracker mediaPeriodQueueTracker = new MediaPeriodQueueTracker();
private final Timeline.Window window = new Timeline.Window();
public static class Factory {
public AnalyticsCollector createAnalyticsCollector(@Nullable Player player, Clock clock) {
return new AnalyticsCollector(player, clock);
}
}
public AnalyticsCollector(@Nullable Player player, Clock clock) {
this.player = player;
this.clock = (Clock) Assertions.checkNotNull(clock);
}
public void addListener(AnalyticsListener analyticsListener) {
this.listeners.add(analyticsListener);
}
public void removeListener(AnalyticsListener analyticsListener) {
this.listeners.remove(analyticsListener);
}
public void setPlayer(Player player) {
Assertions.checkState(this.player == null);
this.player = (Player) Assertions.checkNotNull(player);
}
public final void notifySeekStarted() {
if (this.mediaPeriodQueueTracker.isSeeking()) {
return;
}
AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime = generatePlayingMediaPeriodEventTime();
this.mediaPeriodQueueTracker.onSeekStarted();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onSeekStarted(generatePlayingMediaPeriodEventTime);
}
}
public final void notifyViewportSizeChanged(int i, int i2) {
AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime = generatePlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onViewportSizeChange(generatePlayingMediaPeriodEventTime, i, i2);
}
}
public final void notifyNetworkTypeChanged(@Nullable NetworkInfo networkInfo) {
AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime = generatePlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onNetworkTypeChanged(generatePlayingMediaPeriodEventTime, networkInfo);
}
}
public final void resetForNewMediaSource() {
for (WindowAndMediaPeriodId windowAndMediaPeriodId : new ArrayList(this.mediaPeriodQueueTracker.activeMediaPeriods)) {
onMediaPeriodReleased(windowAndMediaPeriodId.windowIndex, windowAndMediaPeriodId.mediaPeriodId);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.metadata.MetadataOutput
public final void onMetadata(Metadata metadata) {
AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime = generatePlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onMetadata(generatePlayingMediaPeriodEventTime, metadata);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.audio.AudioRendererEventListener
public final void onAudioEnabled(DecoderCounters decoderCounters) {
AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime = generatePlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onDecoderEnabled(generatePlayingMediaPeriodEventTime, 1, decoderCounters);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.audio.AudioRendererEventListener
public final void onAudioSessionId(int i) {
AnalyticsListener.EventTime generateReadingMediaPeriodEventTime = generateReadingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onAudioSessionId(generateReadingMediaPeriodEventTime, i);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.audio.AudioRendererEventListener
public final void onAudioDecoderInitialized(String str, long j, long j2) {
AnalyticsListener.EventTime generateReadingMediaPeriodEventTime = generateReadingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onDecoderInitialized(generateReadingMediaPeriodEventTime, 1, str, j2);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.audio.AudioRendererEventListener
public final void onAudioInputFormatChanged(Format format) {
AnalyticsListener.EventTime generateReadingMediaPeriodEventTime = generateReadingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onDecoderInputFormatChanged(generateReadingMediaPeriodEventTime, 1, format);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.audio.AudioRendererEventListener
public final void onAudioSinkUnderrun(int i, long j, long j2) {
AnalyticsListener.EventTime generateReadingMediaPeriodEventTime = generateReadingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onAudioUnderrun(generateReadingMediaPeriodEventTime, i, j, j2);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.audio.AudioRendererEventListener
public final void onAudioDisabled(DecoderCounters decoderCounters) {
AnalyticsListener.EventTime generateLastReportedPlayingMediaPeriodEventTime = generateLastReportedPlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onDecoderDisabled(generateLastReportedPlayingMediaPeriodEventTime, 1, decoderCounters);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener
public final void onVideoEnabled(DecoderCounters decoderCounters) {
AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime = generatePlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onDecoderEnabled(generatePlayingMediaPeriodEventTime, 2, decoderCounters);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener
public final void onVideoDecoderInitialized(String str, long j, long j2) {
AnalyticsListener.EventTime generateReadingMediaPeriodEventTime = generateReadingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onDecoderInitialized(generateReadingMediaPeriodEventTime, 2, str, j2);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener
public final void onVideoInputFormatChanged(Format format) {
AnalyticsListener.EventTime generateReadingMediaPeriodEventTime = generateReadingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onDecoderInputFormatChanged(generateReadingMediaPeriodEventTime, 2, format);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener
public final void onDroppedFrames(int i, long j) {
AnalyticsListener.EventTime generateLastReportedPlayingMediaPeriodEventTime = generateLastReportedPlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onDroppedVideoFrames(generateLastReportedPlayingMediaPeriodEventTime, i, j);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener
public final void onVideoSizeChanged(int i, int i2, int i3, float f) {
AnalyticsListener.EventTime generateReadingMediaPeriodEventTime = generateReadingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onVideoSizeChanged(generateReadingMediaPeriodEventTime, i, i2, i3, f);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener
public final void onRenderedFirstFrame(Surface surface) {
AnalyticsListener.EventTime generateReadingMediaPeriodEventTime = generateReadingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onRenderedFirstFrame(generateReadingMediaPeriodEventTime, surface);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener
public final void onVideoDisabled(DecoderCounters decoderCounters) {
AnalyticsListener.EventTime generateLastReportedPlayingMediaPeriodEventTime = generateLastReportedPlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onDecoderDisabled(generateLastReportedPlayingMediaPeriodEventTime, 2, decoderCounters);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.source.MediaSourceEventListener
public final void onMediaPeriodCreated(int i, MediaSource.MediaPeriodId mediaPeriodId) {
this.mediaPeriodQueueTracker.onMediaPeriodCreated(i, mediaPeriodId);
AnalyticsListener.EventTime generateEventTime = generateEventTime(i, mediaPeriodId);
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onMediaPeriodCreated(generateEventTime);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.source.MediaSourceEventListener
public final void onMediaPeriodReleased(int i, MediaSource.MediaPeriodId mediaPeriodId) {
this.mediaPeriodQueueTracker.onMediaPeriodReleased(i, mediaPeriodId);
AnalyticsListener.EventTime generateEventTime = generateEventTime(i, mediaPeriodId);
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onMediaPeriodReleased(generateEventTime);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.source.MediaSourceEventListener
public final void onLoadStarted(int i, @Nullable MediaSource.MediaPeriodId mediaPeriodId, MediaSourceEventListener.LoadEventInfo loadEventInfo, MediaSourceEventListener.MediaLoadData mediaLoadData) {
AnalyticsListener.EventTime generateEventTime = generateEventTime(i, mediaPeriodId);
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onLoadStarted(generateEventTime, loadEventInfo, mediaLoadData);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.source.MediaSourceEventListener
public final void onLoadCompleted(int i, @Nullable MediaSource.MediaPeriodId mediaPeriodId, MediaSourceEventListener.LoadEventInfo loadEventInfo, MediaSourceEventListener.MediaLoadData mediaLoadData) {
AnalyticsListener.EventTime generateEventTime = generateEventTime(i, mediaPeriodId);
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onLoadCompleted(generateEventTime, loadEventInfo, mediaLoadData);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.source.MediaSourceEventListener
public final void onLoadCanceled(int i, @Nullable MediaSource.MediaPeriodId mediaPeriodId, MediaSourceEventListener.LoadEventInfo loadEventInfo, MediaSourceEventListener.MediaLoadData mediaLoadData) {
AnalyticsListener.EventTime generateEventTime = generateEventTime(i, mediaPeriodId);
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onLoadCanceled(generateEventTime, loadEventInfo, mediaLoadData);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.source.MediaSourceEventListener
public final void onLoadError(int i, @Nullable MediaSource.MediaPeriodId mediaPeriodId, MediaSourceEventListener.LoadEventInfo loadEventInfo, MediaSourceEventListener.MediaLoadData mediaLoadData, IOException iOException, boolean z) {
AnalyticsListener.EventTime generateEventTime = generateEventTime(i, mediaPeriodId);
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onLoadError(generateEventTime, loadEventInfo, mediaLoadData, iOException, z);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.source.MediaSourceEventListener
public final void onReadingStarted(int i, MediaSource.MediaPeriodId mediaPeriodId) {
this.mediaPeriodQueueTracker.onReadingStarted(i, mediaPeriodId);
AnalyticsListener.EventTime generateEventTime = generateEventTime(i, mediaPeriodId);
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onReadingStarted(generateEventTime);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.source.MediaSourceEventListener
public final void onUpstreamDiscarded(int i, @Nullable MediaSource.MediaPeriodId mediaPeriodId, MediaSourceEventListener.MediaLoadData mediaLoadData) {
AnalyticsListener.EventTime generateEventTime = generateEventTime(i, mediaPeriodId);
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onUpstreamDiscarded(generateEventTime, mediaLoadData);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.source.MediaSourceEventListener
public final void onDownstreamFormatChanged(int i, @Nullable MediaSource.MediaPeriodId mediaPeriodId, MediaSourceEventListener.MediaLoadData mediaLoadData) {
AnalyticsListener.EventTime generateEventTime = generateEventTime(i, mediaPeriodId);
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onDownstreamFormatChanged(generateEventTime, mediaLoadData);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.EventListener
public final void onTimelineChanged(Timeline timeline, @Nullable Object obj, int i) {
this.mediaPeriodQueueTracker.onTimelineChanged(timeline);
AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime = generatePlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onTimelineChanged(generatePlayingMediaPeriodEventTime, i);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.EventListener
public final void onTracksChanged(TrackGroupArray trackGroupArray, TrackSelectionArray trackSelectionArray) {
AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime = generatePlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onTracksChanged(generatePlayingMediaPeriodEventTime, trackGroupArray, trackSelectionArray);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.EventListener
public final void onLoadingChanged(boolean z) {
AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime = generatePlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onLoadingChanged(generatePlayingMediaPeriodEventTime, z);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.EventListener
public final void onPlayerStateChanged(boolean z, int i) {
AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime = generatePlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onPlayerStateChanged(generatePlayingMediaPeriodEventTime, z, i);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.EventListener
public final void onRepeatModeChanged(int i) {
AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime = generatePlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onRepeatModeChanged(generatePlayingMediaPeriodEventTime, i);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.EventListener
public final void onShuffleModeEnabledChanged(boolean z) {
AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime = generatePlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onShuffleModeChanged(generatePlayingMediaPeriodEventTime, z);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.EventListener
public final void onPlayerError(ExoPlaybackException exoPlaybackException) {
AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime = generatePlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onPlayerError(generatePlayingMediaPeriodEventTime, exoPlaybackException);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.EventListener
public final void onPositionDiscontinuity(int i) {
this.mediaPeriodQueueTracker.onPositionDiscontinuity(i);
AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime = generatePlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onPositionDiscontinuity(generatePlayingMediaPeriodEventTime, i);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.EventListener
public final void onPlaybackParametersChanged(PlaybackParameters playbackParameters) {
AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime = generatePlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onPlaybackParametersChanged(generatePlayingMediaPeriodEventTime, playbackParameters);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.EventListener
public final void onSeekProcessed() {
if (this.mediaPeriodQueueTracker.isSeeking()) {
this.mediaPeriodQueueTracker.onSeekProcessed();
AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime = generatePlayingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onSeekProcessed(generatePlayingMediaPeriodEventTime);
}
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.upstream.BandwidthMeter.EventListener
public final void onBandwidthSample(int i, long j, long j2) {
AnalyticsListener.EventTime generateLoadingMediaPeriodEventTime = generateLoadingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onBandwidthEstimate(generateLoadingMediaPeriodEventTime, i, j, j2);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.drm.DefaultDrmSessionEventListener
public final void onDrmKeysLoaded() {
AnalyticsListener.EventTime generateReadingMediaPeriodEventTime = generateReadingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onDrmKeysLoaded(generateReadingMediaPeriodEventTime);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.drm.DefaultDrmSessionEventListener
public final void onDrmSessionManagerError(Exception exc) {
AnalyticsListener.EventTime generateReadingMediaPeriodEventTime = generateReadingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onDrmSessionManagerError(generateReadingMediaPeriodEventTime, exc);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.drm.DefaultDrmSessionEventListener
public final void onDrmKeysRestored() {
AnalyticsListener.EventTime generateReadingMediaPeriodEventTime = generateReadingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onDrmKeysRestored(generateReadingMediaPeriodEventTime);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.drm.DefaultDrmSessionEventListener
public final void onDrmKeysRemoved() {
AnalyticsListener.EventTime generateReadingMediaPeriodEventTime = generateReadingMediaPeriodEventTime();
Iterator<AnalyticsListener> it = this.listeners.iterator();
while (it.hasNext()) {
it.next().onDrmKeysRemoved(generateReadingMediaPeriodEventTime);
}
}
public Set<AnalyticsListener> getListeners() {
return Collections.unmodifiableSet(this.listeners);
}
public AnalyticsListener.EventTime generateEventTime(int i, @Nullable MediaSource.MediaPeriodId mediaPeriodId) {
long defaultPositionMs;
long j;
Assertions.checkNotNull(this.player);
long elapsedRealtime = this.clock.elapsedRealtime();
Timeline currentTimeline = this.player.getCurrentTimeline();
long j2 = 0;
if (i == this.player.getCurrentWindowIndex()) {
if (mediaPeriodId != null && mediaPeriodId.isAd()) {
if (this.player.getCurrentAdGroupIndex() == mediaPeriodId.adGroupIndex && this.player.getCurrentAdIndexInAdGroup() == mediaPeriodId.adIndexInAdGroup) {
j2 = this.player.getCurrentPosition();
}
j = j2;
} else {
defaultPositionMs = this.player.getContentPosition();
j = defaultPositionMs;
}
} else {
if (i < currentTimeline.getWindowCount() && (mediaPeriodId == null || !mediaPeriodId.isAd())) {
defaultPositionMs = currentTimeline.getWindow(i, this.window).getDefaultPositionMs();
j = defaultPositionMs;
}
j = j2;
}
return new AnalyticsListener.EventTime(elapsedRealtime, currentTimeline, i, mediaPeriodId, j, this.player.getCurrentPosition(), this.player.getBufferedPosition() - this.player.getContentPosition());
}
private AnalyticsListener.EventTime generateEventTime(@Nullable WindowAndMediaPeriodId windowAndMediaPeriodId) {
if (windowAndMediaPeriodId == null) {
int currentWindowIndex = ((Player) Assertions.checkNotNull(this.player)).getCurrentWindowIndex();
return generateEventTime(currentWindowIndex, this.mediaPeriodQueueTracker.tryResolveWindowIndex(currentWindowIndex));
}
return generateEventTime(windowAndMediaPeriodId.windowIndex, windowAndMediaPeriodId.mediaPeriodId);
}
private AnalyticsListener.EventTime generateLastReportedPlayingMediaPeriodEventTime() {
return generateEventTime(this.mediaPeriodQueueTracker.getLastReportedPlayingMediaPeriod());
}
private AnalyticsListener.EventTime generatePlayingMediaPeriodEventTime() {
return generateEventTime(this.mediaPeriodQueueTracker.getPlayingMediaPeriod());
}
private AnalyticsListener.EventTime generateReadingMediaPeriodEventTime() {
return generateEventTime(this.mediaPeriodQueueTracker.getReadingMediaPeriod());
}
private AnalyticsListener.EventTime generateLoadingMediaPeriodEventTime() {
return generateEventTime(this.mediaPeriodQueueTracker.getLoadingMediaPeriod());
}
public static final class MediaPeriodQueueTracker {
private boolean isSeeking;
private WindowAndMediaPeriodId lastReportedPlayingMediaPeriod;
private WindowAndMediaPeriodId readingMediaPeriod;
private final ArrayList<WindowAndMediaPeriodId> activeMediaPeriods = new ArrayList<>();
private final Timeline.Period period = new Timeline.Period();
private Timeline timeline = Timeline.EMPTY;
@Nullable
public final WindowAndMediaPeriodId getLastReportedPlayingMediaPeriod() {
return this.lastReportedPlayingMediaPeriod;
}
@Nullable
public final WindowAndMediaPeriodId getReadingMediaPeriod() {
return this.readingMediaPeriod;
}
public final boolean isSeeking() {
return this.isSeeking;
}
public final void onSeekStarted() {
this.isSeeking = true;
}
@Nullable
public final WindowAndMediaPeriodId getPlayingMediaPeriod() {
if (this.activeMediaPeriods.isEmpty() || this.timeline.isEmpty() || this.isSeeking) {
return null;
}
return this.activeMediaPeriods.get(0);
}
@Nullable
public final WindowAndMediaPeriodId getLoadingMediaPeriod() {
if (this.activeMediaPeriods.isEmpty()) {
return null;
}
return this.activeMediaPeriods.get(r0.size() - 1);
}
@Nullable
public final MediaSource.MediaPeriodId tryResolveWindowIndex(int i) {
Timeline timeline = this.timeline;
if (timeline == null) {
return null;
}
int periodCount = timeline.getPeriodCount();
MediaSource.MediaPeriodId mediaPeriodId = null;
for (int i2 = 0; i2 < this.activeMediaPeriods.size(); i2++) {
WindowAndMediaPeriodId windowAndMediaPeriodId = this.activeMediaPeriods.get(i2);
int i3 = windowAndMediaPeriodId.mediaPeriodId.periodIndex;
if (i3 < periodCount && this.timeline.getPeriod(i3, this.period).windowIndex == i) {
if (mediaPeriodId != null) {
return null;
}
mediaPeriodId = windowAndMediaPeriodId.mediaPeriodId;
}
}
return mediaPeriodId;
}
public final void onPositionDiscontinuity(int i) {
updateLastReportedPlayingMediaPeriod();
}
public final void onTimelineChanged(Timeline timeline) {
for (int i = 0; i < this.activeMediaPeriods.size(); i++) {
ArrayList<WindowAndMediaPeriodId> arrayList = this.activeMediaPeriods;
arrayList.set(i, updateMediaPeriodToNewTimeline(arrayList.get(i), timeline));
}
WindowAndMediaPeriodId windowAndMediaPeriodId = this.readingMediaPeriod;
if (windowAndMediaPeriodId != null) {
this.readingMediaPeriod = updateMediaPeriodToNewTimeline(windowAndMediaPeriodId, timeline);
}
this.timeline = timeline;
updateLastReportedPlayingMediaPeriod();
}
public final void onSeekProcessed() {
this.isSeeking = false;
updateLastReportedPlayingMediaPeriod();
}
public final void onMediaPeriodCreated(int i, MediaSource.MediaPeriodId mediaPeriodId) {
this.activeMediaPeriods.add(new WindowAndMediaPeriodId(i, mediaPeriodId));
if (this.activeMediaPeriods.size() != 1 || this.timeline.isEmpty()) {
return;
}
updateLastReportedPlayingMediaPeriod();
}
public final void onMediaPeriodReleased(int i, MediaSource.MediaPeriodId mediaPeriodId) {
WindowAndMediaPeriodId windowAndMediaPeriodId = new WindowAndMediaPeriodId(i, mediaPeriodId);
this.activeMediaPeriods.remove(windowAndMediaPeriodId);
if (windowAndMediaPeriodId.equals(this.readingMediaPeriod)) {
this.readingMediaPeriod = this.activeMediaPeriods.isEmpty() ? null : this.activeMediaPeriods.get(0);
}
}
public final void onReadingStarted(int i, MediaSource.MediaPeriodId mediaPeriodId) {
this.readingMediaPeriod = new WindowAndMediaPeriodId(i, mediaPeriodId);
}
private void updateLastReportedPlayingMediaPeriod() {
if (this.activeMediaPeriods.isEmpty()) {
return;
}
this.lastReportedPlayingMediaPeriod = this.activeMediaPeriods.get(0);
}
private WindowAndMediaPeriodId updateMediaPeriodToNewTimeline(WindowAndMediaPeriodId windowAndMediaPeriodId, Timeline timeline) {
int indexOfPeriod;
return (timeline.isEmpty() || this.timeline.isEmpty() || (indexOfPeriod = timeline.getIndexOfPeriod(this.timeline.getPeriod(windowAndMediaPeriodId.mediaPeriodId.periodIndex, this.period, true).uid)) == -1) ? windowAndMediaPeriodId : new WindowAndMediaPeriodId(timeline.getPeriod(indexOfPeriod, this.period).windowIndex, windowAndMediaPeriodId.mediaPeriodId.copyWithPeriodIndex(indexOfPeriod));
}
}
public static final class WindowAndMediaPeriodId {
public final MediaSource.MediaPeriodId mediaPeriodId;
public final int windowIndex;
public WindowAndMediaPeriodId(int i, MediaSource.MediaPeriodId mediaPeriodId) {
this.windowIndex = i;
this.mediaPeriodId = mediaPeriodId;
}
public final boolean equals(@Nullable Object obj) {
if (this == obj) {
return true;
}
if (obj == null || WindowAndMediaPeriodId.class != obj.getClass()) {
return false;
}
WindowAndMediaPeriodId windowAndMediaPeriodId = (WindowAndMediaPeriodId) obj;
return this.windowIndex == windowAndMediaPeriodId.windowIndex && this.mediaPeriodId.equals(windowAndMediaPeriodId.mediaPeriodId);
}
public final int hashCode() {
return (this.windowIndex * 31) + this.mediaPeriodId.hashCode();
}
}
}

View File

@@ -0,0 +1,115 @@
package com.mbridge.msdk.playercommon.exoplayer2.analytics;
import android.net.NetworkInfo;
import android.view.Surface;
import androidx.annotation.Nullable;
import com.mbridge.msdk.playercommon.exoplayer2.ExoPlaybackException;
import com.mbridge.msdk.playercommon.exoplayer2.Format;
import com.mbridge.msdk.playercommon.exoplayer2.PlaybackParameters;
import com.mbridge.msdk.playercommon.exoplayer2.Timeline;
import com.mbridge.msdk.playercommon.exoplayer2.decoder.DecoderCounters;
import com.mbridge.msdk.playercommon.exoplayer2.metadata.Metadata;
import com.mbridge.msdk.playercommon.exoplayer2.source.MediaSource;
import com.mbridge.msdk.playercommon.exoplayer2.source.MediaSourceEventListener;
import com.mbridge.msdk.playercommon.exoplayer2.source.TrackGroupArray;
import com.mbridge.msdk.playercommon.exoplayer2.trackselection.TrackSelectionArray;
import java.io.IOException;
/* loaded from: classes4.dex */
public interface AnalyticsListener {
void onAudioSessionId(EventTime eventTime, int i);
void onAudioUnderrun(EventTime eventTime, int i, long j, long j2);
void onBandwidthEstimate(EventTime eventTime, int i, long j, long j2);
void onDecoderDisabled(EventTime eventTime, int i, DecoderCounters decoderCounters);
void onDecoderEnabled(EventTime eventTime, int i, DecoderCounters decoderCounters);
void onDecoderInitialized(EventTime eventTime, int i, String str, long j);
void onDecoderInputFormatChanged(EventTime eventTime, int i, Format format);
void onDownstreamFormatChanged(EventTime eventTime, MediaSourceEventListener.MediaLoadData mediaLoadData);
void onDrmKeysLoaded(EventTime eventTime);
void onDrmKeysRemoved(EventTime eventTime);
void onDrmKeysRestored(EventTime eventTime);
void onDrmSessionManagerError(EventTime eventTime, Exception exc);
void onDroppedVideoFrames(EventTime eventTime, int i, long j);
void onLoadCanceled(EventTime eventTime, MediaSourceEventListener.LoadEventInfo loadEventInfo, MediaSourceEventListener.MediaLoadData mediaLoadData);
void onLoadCompleted(EventTime eventTime, MediaSourceEventListener.LoadEventInfo loadEventInfo, MediaSourceEventListener.MediaLoadData mediaLoadData);
void onLoadError(EventTime eventTime, MediaSourceEventListener.LoadEventInfo loadEventInfo, MediaSourceEventListener.MediaLoadData mediaLoadData, IOException iOException, boolean z);
void onLoadStarted(EventTime eventTime, MediaSourceEventListener.LoadEventInfo loadEventInfo, MediaSourceEventListener.MediaLoadData mediaLoadData);
void onLoadingChanged(EventTime eventTime, boolean z);
void onMediaPeriodCreated(EventTime eventTime);
void onMediaPeriodReleased(EventTime eventTime);
void onMetadata(EventTime eventTime, Metadata metadata);
void onNetworkTypeChanged(EventTime eventTime, @Nullable NetworkInfo networkInfo);
void onPlaybackParametersChanged(EventTime eventTime, PlaybackParameters playbackParameters);
void onPlayerError(EventTime eventTime, ExoPlaybackException exoPlaybackException);
void onPlayerStateChanged(EventTime eventTime, boolean z, int i);
void onPositionDiscontinuity(EventTime eventTime, int i);
void onReadingStarted(EventTime eventTime);
void onRenderedFirstFrame(EventTime eventTime, Surface surface);
void onRepeatModeChanged(EventTime eventTime, int i);
void onSeekProcessed(EventTime eventTime);
void onSeekStarted(EventTime eventTime);
void onShuffleModeChanged(EventTime eventTime, boolean z);
void onTimelineChanged(EventTime eventTime, int i);
void onTracksChanged(EventTime eventTime, TrackGroupArray trackGroupArray, TrackSelectionArray trackSelectionArray);
void onUpstreamDiscarded(EventTime eventTime, MediaSourceEventListener.MediaLoadData mediaLoadData);
void onVideoSizeChanged(EventTime eventTime, int i, int i2, int i3, float f);
void onViewportSizeChange(EventTime eventTime, int i, int i2);
public static final class EventTime {
public final long currentPlaybackPositionMs;
public final long eventPlaybackPositionMs;
@Nullable
public final MediaSource.MediaPeriodId mediaPeriodId;
public final long realtimeMs;
public final Timeline timeline;
public final long totalBufferedDurationMs;
public final int windowIndex;
public EventTime(long j, Timeline timeline, int i, @Nullable MediaSource.MediaPeriodId mediaPeriodId, long j2, long j3, long j4) {
this.realtimeMs = j;
this.timeline = timeline;
this.windowIndex = i;
this.mediaPeriodId = mediaPeriodId;
this.eventPlaybackPositionMs = j2;
this.currentPlaybackPositionMs = j3;
this.totalBufferedDurationMs = j4;
}
}
}

View File

@@ -0,0 +1,165 @@
package com.mbridge.msdk.playercommon.exoplayer2.analytics;
import android.net.NetworkInfo;
import android.view.Surface;
import com.mbridge.msdk.playercommon.exoplayer2.ExoPlaybackException;
import com.mbridge.msdk.playercommon.exoplayer2.Format;
import com.mbridge.msdk.playercommon.exoplayer2.PlaybackParameters;
import com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener;
import com.mbridge.msdk.playercommon.exoplayer2.decoder.DecoderCounters;
import com.mbridge.msdk.playercommon.exoplayer2.metadata.Metadata;
import com.mbridge.msdk.playercommon.exoplayer2.source.MediaSourceEventListener;
import com.mbridge.msdk.playercommon.exoplayer2.source.TrackGroupArray;
import com.mbridge.msdk.playercommon.exoplayer2.trackselection.TrackSelectionArray;
import java.io.IOException;
/* loaded from: classes4.dex */
public abstract class DefaultAnalyticsListener implements AnalyticsListener {
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onAudioSessionId(AnalyticsListener.EventTime eventTime, int i) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onAudioUnderrun(AnalyticsListener.EventTime eventTime, int i, long j, long j2) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onBandwidthEstimate(AnalyticsListener.EventTime eventTime, int i, long j, long j2) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onDecoderDisabled(AnalyticsListener.EventTime eventTime, int i, DecoderCounters decoderCounters) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onDecoderEnabled(AnalyticsListener.EventTime eventTime, int i, DecoderCounters decoderCounters) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onDecoderInitialized(AnalyticsListener.EventTime eventTime, int i, String str, long j) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onDecoderInputFormatChanged(AnalyticsListener.EventTime eventTime, int i, Format format) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onDownstreamFormatChanged(AnalyticsListener.EventTime eventTime, MediaSourceEventListener.MediaLoadData mediaLoadData) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onDrmKeysLoaded(AnalyticsListener.EventTime eventTime) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onDrmKeysRemoved(AnalyticsListener.EventTime eventTime) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onDrmKeysRestored(AnalyticsListener.EventTime eventTime) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onDrmSessionManagerError(AnalyticsListener.EventTime eventTime, Exception exc) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onDroppedVideoFrames(AnalyticsListener.EventTime eventTime, int i, long j) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onLoadCanceled(AnalyticsListener.EventTime eventTime, MediaSourceEventListener.LoadEventInfo loadEventInfo, MediaSourceEventListener.MediaLoadData mediaLoadData) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onLoadCompleted(AnalyticsListener.EventTime eventTime, MediaSourceEventListener.LoadEventInfo loadEventInfo, MediaSourceEventListener.MediaLoadData mediaLoadData) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onLoadError(AnalyticsListener.EventTime eventTime, MediaSourceEventListener.LoadEventInfo loadEventInfo, MediaSourceEventListener.MediaLoadData mediaLoadData, IOException iOException, boolean z) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onLoadStarted(AnalyticsListener.EventTime eventTime, MediaSourceEventListener.LoadEventInfo loadEventInfo, MediaSourceEventListener.MediaLoadData mediaLoadData) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onLoadingChanged(AnalyticsListener.EventTime eventTime, boolean z) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onMediaPeriodCreated(AnalyticsListener.EventTime eventTime) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onMediaPeriodReleased(AnalyticsListener.EventTime eventTime) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onMetadata(AnalyticsListener.EventTime eventTime, Metadata metadata) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onNetworkTypeChanged(AnalyticsListener.EventTime eventTime, NetworkInfo networkInfo) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onPlaybackParametersChanged(AnalyticsListener.EventTime eventTime, PlaybackParameters playbackParameters) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onPlayerError(AnalyticsListener.EventTime eventTime, ExoPlaybackException exoPlaybackException) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onPlayerStateChanged(AnalyticsListener.EventTime eventTime, boolean z, int i) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onPositionDiscontinuity(AnalyticsListener.EventTime eventTime, int i) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onReadingStarted(AnalyticsListener.EventTime eventTime) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onRenderedFirstFrame(AnalyticsListener.EventTime eventTime, Surface surface) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onRepeatModeChanged(AnalyticsListener.EventTime eventTime, int i) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onSeekProcessed(AnalyticsListener.EventTime eventTime) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onSeekStarted(AnalyticsListener.EventTime eventTime) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onShuffleModeChanged(AnalyticsListener.EventTime eventTime, boolean z) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onTimelineChanged(AnalyticsListener.EventTime eventTime, int i) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onTracksChanged(AnalyticsListener.EventTime eventTime, TrackGroupArray trackGroupArray, TrackSelectionArray trackSelectionArray) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onUpstreamDiscarded(AnalyticsListener.EventTime eventTime, MediaSourceEventListener.MediaLoadData mediaLoadData) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onVideoSizeChanged(AnalyticsListener.EventTime eventTime, int i, int i2, int i3, float f) {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener
public void onViewportSizeChange(AnalyticsListener.EventTime eventTime, int i, int i2) {
}
}