Use helper method for duplicated message sending logic.

PiperOrigin-RevId: 309709215
This commit is contained in:
tonihei 2020-05-04 11:07:03 +01:00 committed by Oliver Woodman
parent 3ebad15338
commit 5819b47f41

View File

@ -516,15 +516,7 @@ public class SimpleExoPlayer extends BasePlayer
public void setVideoScalingMode(@Renderer.VideoScalingMode int videoScalingMode) { public void setVideoScalingMode(@Renderer.VideoScalingMode int videoScalingMode) {
verifyApplicationThread(); verifyApplicationThread();
this.videoScalingMode = videoScalingMode; this.videoScalingMode = videoScalingMode;
for (Renderer renderer : renderers) { sendRendererMessage(C.TRACK_TYPE_VIDEO, Renderer.MSG_SET_SCALING_MODE, videoScalingMode);
if (renderer.getTrackType() == C.TRACK_TYPE_VIDEO) {
player
.createMessage(renderer)
.setType(Renderer.MSG_SET_SCALING_MODE)
.setPayload(videoScalingMode)
.send();
}
}
} }
@Override @Override
@ -689,15 +681,7 @@ public class SimpleExoPlayer extends BasePlayer
} }
if (!Util.areEqual(this.audioAttributes, audioAttributes)) { if (!Util.areEqual(this.audioAttributes, audioAttributes)) {
this.audioAttributes = audioAttributes; this.audioAttributes = audioAttributes;
for (Renderer renderer : renderers) { sendRendererMessage(C.TRACK_TYPE_AUDIO, Renderer.MSG_SET_AUDIO_ATTRIBUTES, audioAttributes);
if (renderer.getTrackType() == C.TRACK_TYPE_AUDIO) {
player
.createMessage(renderer)
.setType(Renderer.MSG_SET_AUDIO_ATTRIBUTES)
.setPayload(audioAttributes)
.send();
}
}
streamVolumeManager.setStreamType(Util.getStreamTypeForAudioUsage(audioAttributes.usage)); streamVolumeManager.setStreamType(Util.getStreamTypeForAudioUsage(audioAttributes.usage));
for (AudioListener audioListener : audioListeners) { for (AudioListener audioListener : audioListeners) {
audioListener.onAudioAttributesChanged(audioAttributes); audioListener.onAudioAttributesChanged(audioAttributes);
@ -724,15 +708,7 @@ public class SimpleExoPlayer extends BasePlayer
return; return;
} }
this.audioSessionId = audioSessionId; this.audioSessionId = audioSessionId;
for (Renderer renderer : renderers) { sendRendererMessage(C.TRACK_TYPE_AUDIO, Renderer.MSG_SET_AUDIO_SESSION_ID, audioSessionId);
if (renderer.getTrackType() == C.TRACK_TYPE_AUDIO) {
player
.createMessage(renderer)
.setType(Renderer.MSG_SET_AUDIO_SESSION_ID)
.setPayload(audioSessionId)
.send();
}
}
if (audioSessionId != C.AUDIO_SESSION_ID_UNSET) { if (audioSessionId != C.AUDIO_SESSION_ID_UNSET) {
notifyAudioSessionIdSet(); notifyAudioSessionIdSet();
} }
@ -746,15 +722,7 @@ public class SimpleExoPlayer extends BasePlayer
@Override @Override
public void setAuxEffectInfo(AuxEffectInfo auxEffectInfo) { public void setAuxEffectInfo(AuxEffectInfo auxEffectInfo) {
verifyApplicationThread(); verifyApplicationThread();
for (Renderer renderer : renderers) { sendRendererMessage(C.TRACK_TYPE_AUDIO, Renderer.MSG_SET_AUX_EFFECT_INFO, auxEffectInfo);
if (renderer.getTrackType() == C.TRACK_TYPE_AUDIO) {
player
.createMessage(renderer)
.setType(Renderer.MSG_SET_AUX_EFFECT_INFO)
.setPayload(auxEffectInfo)
.send();
}
}
} }
@Override @Override
@ -793,15 +761,8 @@ public class SimpleExoPlayer extends BasePlayer
return; return;
} }
this.skipSilenceEnabled = skipSilenceEnabled; this.skipSilenceEnabled = skipSilenceEnabled;
for (Renderer renderer : renderers) { sendRendererMessage(
if (renderer.getTrackType() == C.TRACK_TYPE_AUDIO) { C.TRACK_TYPE_AUDIO, Renderer.MSG_SET_SKIP_SILENCE_ENABLED, skipSilenceEnabled);
player
.createMessage(renderer)
.setType(Renderer.MSG_SET_SKIP_SILENCE_ENABLED)
.setPayload(skipSilenceEnabled)
.send();
}
}
notifySkipSilenceEnabledChanged(); notifySkipSilenceEnabledChanged();
} }
@ -958,15 +919,8 @@ public class SimpleExoPlayer extends BasePlayer
public void setVideoFrameMetadataListener(VideoFrameMetadataListener listener) { public void setVideoFrameMetadataListener(VideoFrameMetadataListener listener) {
verifyApplicationThread(); verifyApplicationThread();
videoFrameMetadataListener = listener; videoFrameMetadataListener = listener;
for (Renderer renderer : renderers) { sendRendererMessage(
if (renderer.getTrackType() == C.TRACK_TYPE_VIDEO) { C.TRACK_TYPE_VIDEO, Renderer.MSG_SET_VIDEO_FRAME_METADATA_LISTENER, listener);
player
.createMessage(renderer)
.setType(Renderer.MSG_SET_VIDEO_FRAME_METADATA_LISTENER)
.setPayload(listener)
.send();
}
}
} }
@Override @Override
@ -975,30 +929,16 @@ public class SimpleExoPlayer extends BasePlayer
if (videoFrameMetadataListener != listener) { if (videoFrameMetadataListener != listener) {
return; return;
} }
for (Renderer renderer : renderers) { sendRendererMessage(
if (renderer.getTrackType() == C.TRACK_TYPE_VIDEO) { C.TRACK_TYPE_VIDEO, Renderer.MSG_SET_VIDEO_FRAME_METADATA_LISTENER, /* payload= */ null);
player
.createMessage(renderer)
.setType(Renderer.MSG_SET_VIDEO_FRAME_METADATA_LISTENER)
.setPayload(null)
.send();
}
}
} }
@Override @Override
public void setCameraMotionListener(CameraMotionListener listener) { public void setCameraMotionListener(CameraMotionListener listener) {
verifyApplicationThread(); verifyApplicationThread();
cameraMotionListener = listener; cameraMotionListener = listener;
for (Renderer renderer : renderers) { sendRendererMessage(
if (renderer.getTrackType() == C.TRACK_TYPE_CAMERA_MOTION) { C.TRACK_TYPE_CAMERA_MOTION, Renderer.MSG_SET_CAMERA_MOTION_LISTENER, listener);
player
.createMessage(renderer)
.setType(Renderer.MSG_SET_CAMERA_MOTION_LISTENER)
.setPayload(listener)
.send();
}
}
} }
@Override @Override
@ -1007,15 +947,8 @@ public class SimpleExoPlayer extends BasePlayer
if (cameraMotionListener != listener) { if (cameraMotionListener != listener) {
return; return;
} }
for (Renderer renderer : renderers) { sendRendererMessage(
if (renderer.getTrackType() == C.TRACK_TYPE_CAMERA_MOTION) { C.TRACK_TYPE_CAMERA_MOTION, Renderer.MSG_SET_CAMERA_MOTION_LISTENER, /* payload= */ null);
player
.createMessage(renderer)
.setType(Renderer.MSG_SET_CAMERA_MOTION_LISTENER)
.setPayload(null)
.send();
}
}
} }
/** /**
@ -1869,15 +1802,10 @@ public class SimpleExoPlayer extends BasePlayer
private void setVideoDecoderOutputBufferRendererInternal( private void setVideoDecoderOutputBufferRendererInternal(
@Nullable VideoDecoderOutputBufferRenderer videoDecoderOutputBufferRenderer) { @Nullable VideoDecoderOutputBufferRenderer videoDecoderOutputBufferRenderer) {
for (Renderer renderer : renderers) { sendRendererMessage(
if (renderer.getTrackType() == C.TRACK_TYPE_VIDEO) { C.TRACK_TYPE_VIDEO,
player Renderer.MSG_SET_VIDEO_DECODER_OUTPUT_BUFFER_RENDERER,
.createMessage(renderer) videoDecoderOutputBufferRenderer);
.setType(Renderer.MSG_SET_VIDEO_DECODER_OUTPUT_BUFFER_RENDERER)
.setPayload(videoDecoderOutputBufferRenderer)
.send();
}
}
this.videoDecoderOutputBufferRenderer = videoDecoderOutputBufferRenderer; this.videoDecoderOutputBufferRenderer = videoDecoderOutputBufferRenderer;
} }
@ -1893,15 +1821,7 @@ public class SimpleExoPlayer extends BasePlayer
private void sendVolumeToRenderers() { private void sendVolumeToRenderers() {
float scaledVolume = audioVolume * audioFocusManager.getVolumeMultiplier(); float scaledVolume = audioVolume * audioFocusManager.getVolumeMultiplier();
for (Renderer renderer : renderers) { sendRendererMessage(C.TRACK_TYPE_AUDIO, Renderer.MSG_SET_VOLUME, scaledVolume);
if (renderer.getTrackType() == C.TRACK_TYPE_AUDIO) {
player
.createMessage(renderer)
.setType(Renderer.MSG_SET_VOLUME)
.setPayload(scaledVolume)
.send();
}
}
} }
private void notifyAudioSessionIdSet() { private void notifyAudioSessionIdSet() {
@ -1975,6 +1895,14 @@ public class SimpleExoPlayer extends BasePlayer
} }
} }
private void sendRendererMessage(int trackType, int messageType, @Nullable Object payload) {
for (Renderer renderer : renderers) {
if (renderer.getTrackType() == trackType) {
player.createMessage(renderer).setType(messageType).setPayload(payload).send();
}
}
}
private static DeviceInfo createDeviceInfo(StreamVolumeManager streamVolumeManager) { private static DeviceInfo createDeviceInfo(StreamVolumeManager streamVolumeManager) {
return new DeviceInfo( return new DeviceInfo(
DeviceInfo.PLAYBACK_TYPE_LOCAL, DeviceInfo.PLAYBACK_TYPE_LOCAL,