128 lines
5 KiB
Java
128 lines
5 KiB
Java
package co.discord.media_engine;
|
|
|
|
import android.content.Context;
|
|
import android.util.AttributeSet;
|
|
import com.hammerandchisel.libdiscord.Discord;
|
|
import d0.t.n0;
|
|
import d0.z.d.m;
|
|
import java.util.LinkedHashMap;
|
|
import java.util.Map;
|
|
import java.util.Set;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import org.webrtc.RendererCommon;
|
|
import org.webrtc.SurfaceViewRenderer;
|
|
/* compiled from: VideoStreamRenderer.kt */
|
|
public class VideoStreamRenderer extends SurfaceViewRenderer {
|
|
private static final Muxer Muxer = new Muxer(null);
|
|
@Deprecated
|
|
private static Map<String, Set<VideoStreamRenderer>> streams = new LinkedHashMap();
|
|
private String streamIdentifier = "";
|
|
|
|
/* compiled from: VideoStreamRenderer.kt */
|
|
public static final class Muxer {
|
|
private Muxer() {
|
|
}
|
|
|
|
public /* synthetic */ Muxer(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
public final void addSink(Discord discord, VideoStreamRenderer videoStreamRenderer, String str) {
|
|
m.checkNotNullParameter(discord, "discord");
|
|
m.checkNotNullParameter(videoStreamRenderer, "sink");
|
|
m.checkNotNullParameter(str, "streamId");
|
|
synchronized (VideoStreamRenderer.access$getStreams$cp()) {
|
|
VideoStreamRenderer.access$Muxer();
|
|
Set set = (Set) VideoStreamRenderer.access$getStreams$cp().get(str);
|
|
if (set != null) {
|
|
synchronized (set) {
|
|
set.add(videoStreamRenderer);
|
|
}
|
|
} else {
|
|
Set mutableSetOf = n0.mutableSetOf(videoStreamRenderer);
|
|
discord.setVideoOutputSink(str, new VideoStreamRenderer$Muxer$addSink$1$2(mutableSetOf));
|
|
VideoStreamRenderer.access$Muxer();
|
|
VideoStreamRenderer.access$getStreams$cp().put(str, mutableSetOf);
|
|
}
|
|
}
|
|
}
|
|
|
|
public final void removeSink(Discord discord, VideoStreamRenderer videoStreamRenderer, String str) {
|
|
m.checkNotNullParameter(discord, "discord");
|
|
m.checkNotNullParameter(videoStreamRenderer, "sink");
|
|
m.checkNotNullParameter(str, "streamId");
|
|
synchronized (VideoStreamRenderer.access$getStreams$cp()) {
|
|
VideoStreamRenderer.access$Muxer();
|
|
Set set = (Set) VideoStreamRenderer.access$getStreams$cp().get(str);
|
|
if (set != null) {
|
|
synchronized (set) {
|
|
set.remove(videoStreamRenderer);
|
|
if (set.isEmpty()) {
|
|
discord.setVideoOutputSink(str, null);
|
|
VideoStreamRenderer.access$Muxer();
|
|
VideoStreamRenderer.access$getStreams$cp().remove(str);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
public VideoStreamRenderer(Context context) {
|
|
super(context);
|
|
m.checkNotNullParameter(context, "ctx");
|
|
}
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
public VideoStreamRenderer(Context context, AttributeSet attributeSet) {
|
|
super(context, attributeSet);
|
|
m.checkNotNullParameter(context, "ctx");
|
|
m.checkNotNullParameter(attributeSet, "attrs");
|
|
}
|
|
|
|
public static final /* synthetic */ Muxer access$Muxer() {
|
|
return Muxer;
|
|
}
|
|
|
|
public static final /* synthetic */ Map access$getStreams$cp() {
|
|
return streams;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setStreams$cp(Map map) {
|
|
streams = map;
|
|
}
|
|
|
|
public static /* synthetic */ void attachToStream$default(VideoStreamRenderer videoStreamRenderer, Discord discord, String str, RendererCommon.RendererEvents rendererEvents, int i, Object obj) {
|
|
if (obj == null) {
|
|
if ((i & 4) != 0) {
|
|
rendererEvents = null;
|
|
}
|
|
videoStreamRenderer.attachToStream(discord, str, rendererEvents);
|
|
return;
|
|
}
|
|
throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: attachToStream");
|
|
}
|
|
|
|
public final void attachToStream(Discord discord, String str, RendererCommon.RendererEvents rendererEvents) {
|
|
if (discord != null) {
|
|
boolean z2 = true;
|
|
if (!(this.streamIdentifier.length() == 0)) {
|
|
super.clearImage();
|
|
super.release();
|
|
Muxer.removeSink(discord, this, this.streamIdentifier);
|
|
}
|
|
if (str == null) {
|
|
str = "";
|
|
}
|
|
this.streamIdentifier = str;
|
|
if (str.length() != 0) {
|
|
z2 = false;
|
|
}
|
|
if (!z2) {
|
|
super.init(SharedEglBaseContext.getEglContext(), rendererEvents);
|
|
Muxer.addSink(discord, this, this.streamIdentifier);
|
|
}
|
|
}
|
|
}
|
|
}
|