fix-use-source-ip-as-stream-ip
parent
e073b60cb1
commit
bc431e4290
|
@ -523,6 +523,69 @@ public class StreamInfo implements Serializable, Cloneable{
|
||||||
StreamInfo instance = null;
|
StreamInfo instance = null;
|
||||||
try{
|
try{
|
||||||
instance = (StreamInfo)super.clone();
|
instance = (StreamInfo)super.clone();
|
||||||
|
if (this.flv != null) {
|
||||||
|
instance.flv=this.flv.clone();
|
||||||
|
}
|
||||||
|
if (this.ws_flv != null ){
|
||||||
|
instance.ws_flv= this.ws_flv.clone();
|
||||||
|
}
|
||||||
|
if (this.hls != null ) {
|
||||||
|
instance.hls= this.hls.clone();
|
||||||
|
}
|
||||||
|
if (this.ws_hls != null ) {
|
||||||
|
instance.ws_hls= this.ws_hls.clone();
|
||||||
|
}
|
||||||
|
if (this.ts != null ) {
|
||||||
|
instance.ts= this.ts.clone();
|
||||||
|
}
|
||||||
|
if (this.ws_ts != null ) {
|
||||||
|
instance.ws_ts= this.ws_ts.clone();
|
||||||
|
}
|
||||||
|
if (this.fmp4 != null ) {
|
||||||
|
instance.fmp4= this.fmp4.clone();
|
||||||
|
}
|
||||||
|
if (this.ws_fmp4 != null ) {
|
||||||
|
instance.ws_fmp4= this.ws_fmp4.clone();
|
||||||
|
}
|
||||||
|
if (this.rtc != null ) {
|
||||||
|
instance.rtc= this.rtc.clone();
|
||||||
|
}
|
||||||
|
if (this.https_flv != null) {
|
||||||
|
instance.https_flv= this.https_flv.clone();
|
||||||
|
}
|
||||||
|
if (this.wss_flv != null) {
|
||||||
|
instance.wss_flv= this.wss_flv.clone();
|
||||||
|
}
|
||||||
|
if (this.https_hls != null) {
|
||||||
|
instance.https_hls= this.https_hls.clone();
|
||||||
|
}
|
||||||
|
if (this.wss_hls != null) {
|
||||||
|
instance.wss_hls= this.wss_hls.clone();
|
||||||
|
}
|
||||||
|
if (this.wss_ts != null) {
|
||||||
|
instance.wss_ts= this.wss_ts.clone();
|
||||||
|
}
|
||||||
|
if (this.https_fmp4 != null) {
|
||||||
|
instance.https_fmp4= this.https_fmp4.clone();
|
||||||
|
}
|
||||||
|
if (this.wss_fmp4 != null) {
|
||||||
|
instance.wss_fmp4= this.wss_fmp4.clone();
|
||||||
|
}
|
||||||
|
if (this.rtcs != null) {
|
||||||
|
instance.rtcs= this.rtcs.clone();
|
||||||
|
}
|
||||||
|
if (this.rtsp != null) {
|
||||||
|
instance.rtsp= this.rtsp.clone();
|
||||||
|
}
|
||||||
|
if (this.rtsps != null) {
|
||||||
|
instance.rtsps= this.rtsps.clone();
|
||||||
|
}
|
||||||
|
if (this.rtmp != null) {
|
||||||
|
instance.rtmp= this.rtmp.clone();
|
||||||
|
}
|
||||||
|
if (this.rtmps != null) {
|
||||||
|
instance.rtmps= this.rtmps.clone();
|
||||||
|
}
|
||||||
}catch(CloneNotSupportedException e) {
|
}catch(CloneNotSupportedException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ import java.io.Serializable;
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "流地址信息")
|
@Schema(description = "流地址信息")
|
||||||
public class StreamURL implements Serializable {
|
public class StreamURL implements Serializable,Cloneable {
|
||||||
|
|
||||||
@Schema(description = "协议")
|
@Schema(description = "协议")
|
||||||
private String protocol;
|
private String protocol;
|
||||||
|
@ -77,4 +77,8 @@ public class StreamURL implements Serializable {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public StreamURL clone() throws CloneNotSupportedException {
|
||||||
|
return (StreamURL) super.clone();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,6 +40,8 @@ import org.springframework.web.context.request.async.DeferredResult;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.sip.InvalidArgumentException;
|
import javax.sip.InvalidArgumentException;
|
||||||
import javax.sip.SipException;
|
import javax.sip.SipException;
|
||||||
|
import java.net.MalformedURLException;
|
||||||
|
import java.net.URL;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -128,7 +130,15 @@ public class PlayController {
|
||||||
if (data != null) {
|
if (data != null) {
|
||||||
StreamInfo streamInfo = (StreamInfo)data;
|
StreamInfo streamInfo = (StreamInfo)data;
|
||||||
if (userSetting.getUseSourceIpAsStreamIp()) {
|
if (userSetting.getUseSourceIpAsStreamIp()) {
|
||||||
streamInfo.channgeStreamIp(request.getLocalAddr());
|
streamInfo=streamInfo.clone();//深拷贝
|
||||||
|
String host;
|
||||||
|
try {
|
||||||
|
URL url=new URL(request.getRequestURL().toString());
|
||||||
|
host=url.getHost();
|
||||||
|
} catch (MalformedURLException e) {
|
||||||
|
host=request.getLocalAddr();
|
||||||
|
}
|
||||||
|
streamInfo.channgeStreamIp(host);
|
||||||
}
|
}
|
||||||
wvpResult.setData(new StreamContent(streamInfo));
|
wvpResult.setData(new StreamContent(streamInfo));
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,8 @@ import org.springframework.web.context.request.async.DeferredResult;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.sip.InvalidArgumentException;
|
import javax.sip.InvalidArgumentException;
|
||||||
import javax.sip.SipException;
|
import javax.sip.SipException;
|
||||||
|
import java.net.MalformedURLException;
|
||||||
|
import java.net.URL;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
@ -99,7 +101,15 @@ public class PlaybackController {
|
||||||
if (data != null) {
|
if (data != null) {
|
||||||
StreamInfo streamInfo = (StreamInfo)data;
|
StreamInfo streamInfo = (StreamInfo)data;
|
||||||
if (userSetting.getUseSourceIpAsStreamIp()) {
|
if (userSetting.getUseSourceIpAsStreamIp()) {
|
||||||
streamInfo.channgeStreamIp(request.getLocalAddr());
|
streamInfo=streamInfo.clone();//深拷贝
|
||||||
|
String host;
|
||||||
|
try {
|
||||||
|
URL url=new URL(request.getRequestURL().toString());
|
||||||
|
host=url.getHost();
|
||||||
|
} catch (MalformedURLException e) {
|
||||||
|
host=request.getLocalAddr();
|
||||||
|
}
|
||||||
|
streamInfo.channgeStreamIp(host);
|
||||||
}
|
}
|
||||||
wvpResult.setData(new StreamContent(streamInfo));
|
wvpResult.setData(new StreamContent(streamInfo));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue