From 8cf3e0c0fc59d0ceb8849ce33ab965a092c732de Mon Sep 17 00:00:00 2001 From: dexter <178529795@qq.com> Date: Wed, 4 Aug 2021 15:27:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9publisher=E7=9A=84?= =?UTF-8?q?=E9=9D=9E=E7=A9=BA=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client.go | 8 ++++++-- session.go | 24 ++++++++++++++---------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/client.go b/client.go index 4adee30..451eea0 100644 --- a/client.go +++ b/client.go @@ -314,11 +314,15 @@ func (client *RTSP) startStream() { switch channel { case client.aRTPChannel: - client.RtpAudio.Push(content) + if client.RtpAudio != nil { + client.RtpAudio.Push(content) + } case client.aRTPControlChannel: case client.vRTPChannel: - client.RtpVideo.Push(content) + if client.RtpVideo != nil { + client.RtpVideo.Push(content) + } case client.vRTPControlChannel: default: diff --git a/session.go b/session.go index 3431011..9ad1fd7 100644 --- a/session.go +++ b/session.go @@ -125,22 +125,26 @@ func (session *RTSP) AcceptPush() { switch channel { case session.aRTPChannel: // pack.Type = RTP_TYPE_AUDIO - elapsed := time.Since(timer) - if elapsed >= 30*time.Second { - Println("Recv an audio RTP package") - timer = time.Now() + if session.RtpAudio != nil { + elapsed := time.Since(timer) + if elapsed >= 30*time.Second { + Println("Recv an audio RTP package") + timer = time.Now() + } + session.RtpAudio.Push(rtpBytes) } - session.RtpAudio.Push(rtpBytes) case session.aRTPControlChannel: // pack.Type = RTP_TYPE_AUDIOCONTROL case session.vRTPChannel: // pack.Type = RTP_TYPE_VIDEO - elapsed := time.Since(timer) - if elapsed >= 30*time.Second { - Println("Recv an video RTP package") - timer = time.Now() + if session.RtpVideo != nil { + elapsed := time.Since(timer) + if elapsed >= 30*time.Second { + Println("Recv an video RTP package") + timer = time.Now() + } + session.RtpVideo.Push(rtpBytes) } - session.RtpVideo.Push(rtpBytes) case session.vRTPControlChannel: // pack.Type = RTP_TYPE_VIDEOCONTROL default: