class MediaArrivalEvent extends MediaEvent {
    public MediaArrivalEvent(Object source) {
        super(source);
    }

    public static MediaArrivalEvent getInstance(Object source, OnStreamChangedHookParam hookParam, MediaServer mediaServer){<FILL_FUNCTION_BODY>}

    private MediaInfo mediaInfo;

    private String callId;

    public MediaInfo getMediaInfo() {
        return mediaInfo;
    }

    public void setMediaInfo(MediaInfo mediaInfo) {
        this.mediaInfo = mediaInfo;
    }


    public String getCallId() {
        return callId;
    }

    public void setCallId(String callId) {
        this.callId = callId;
    }
}

        MediaArrivalEvent mediaArrivalEvent = new MediaArrivalEvent(source);
        mediaArrivalEvent.setMediaInfo(MediaInfo.getInstance(hookParam, mediaServer));
        mediaArrivalEvent.setApp(hookParam.getApp());
        mediaArrivalEvent.setStream(hookParam.getStream());
        mediaArrivalEvent.setMediaServer(mediaServer);
        mediaArrivalEvent.setSchema(hookParam.getSchema());
        mediaArrivalEvent.setCallId(hookParam.getCallId());
        return mediaArrivalEvent;
    
<methods>public void <init>(java.lang.Object) ,public java.lang.String getApp() ,public com.genersoft.iot.vmp.media.bean.MediaServer getMediaServer() ,public java.lang.String getSchema() ,public java.lang.String getStream() ,public void setApp(java.lang.String) ,public void setMediaServer(com.genersoft.iot.vmp.media.bean.MediaServer) ,public void setSchema(java.lang.String) ,public void setStream(java.lang.String) <variables>private java.lang.String app,private com.genersoft.iot.vmp.media.bean.MediaServer mediaServer,private java.lang.String schema,private java.lang.String stream