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

    private RecordInfo recordInfo;

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

    public RecordInfo getRecordInfo() {
        return recordInfo;
    }

    public void setRecordInfo(RecordInfo recordInfo) {
        this.recordInfo = recordInfo;
    }

}

        MediaRecordMp4Event mediaRecordMp4Event = new MediaRecordMp4Event(source);
        mediaRecordMp4Event.setApp(hookParam.getApp());
        mediaRecordMp4Event.setStream(hookParam.getStream());
        RecordInfo recordInfo = RecordInfo.getInstance(hookParam);
        mediaRecordMp4Event.setRecordInfo(recordInfo);
        mediaRecordMp4Event.setMediaServer(mediaServer);
        return mediaRecordMp4Event;
    
<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