mirror of
https://github.com/Monibuca/plugin-rtsp.git
synced 2025-10-30 02:21:57 +08:00
format
This commit is contained in:
11
client.go
11
client.go
@@ -295,16 +295,15 @@ func (client *RTSP) startStream() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
switch b {
|
switch b {
|
||||||
case 0x24: // rtp
|
case '$': // rtp
|
||||||
header := make([]byte, 4)
|
header := make([]byte, 3)
|
||||||
header[0] = b
|
_, err := io.ReadFull(client.connRW, header)
|
||||||
_, err := io.ReadFull(client.connRW, header[1:])
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Printf("io.ReadFull err:%v", err)
|
Printf("io.ReadFull err:%v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
channel := int(header[1])
|
channel := int(header[0])
|
||||||
length := binary.BigEndian.Uint16(header[2:])
|
length := binary.BigEndian.Uint16(header[1:])
|
||||||
content := make([]byte, length)
|
content := make([]byte, length)
|
||||||
_, err = io.ReadFull(client.connRW, content)
|
_, err = io.ReadFull(client.connRW, content)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import (
|
|||||||
|
|
||||||
type RTPPack struct {
|
type RTPPack struct {
|
||||||
Type RTPType
|
Type RTPType
|
||||||
Raw []byte
|
Raw []byte
|
||||||
}
|
}
|
||||||
type SessionType int
|
type SessionType int
|
||||||
|
|
||||||
@@ -293,7 +293,7 @@ func (session *RTSP) handleRequest(req *Request) {
|
|||||||
for _, nalu := range pack.NALUs {
|
for _, nalu := range pack.NALUs {
|
||||||
for _, pack := range session.UDPClient.VPacketizer.Packetize(nalu, (ts-st)*90) {
|
for _, pack := range session.UDPClient.VPacketizer.Packetize(nalu, (ts-st)*90) {
|
||||||
p := &RTPPack{
|
p := &RTPPack{
|
||||||
Type: RTP_TYPE_VIDEO,
|
Type: RTP_TYPE_VIDEO,
|
||||||
}
|
}
|
||||||
p.Raw, _ = pack.Marshal()
|
p.Raw, _ = pack.Marshal()
|
||||||
session.SendRTP(p)
|
session.SendRTP(p)
|
||||||
@@ -317,7 +317,7 @@ func (session *RTSP) handleRequest(req *Request) {
|
|||||||
}
|
}
|
||||||
for _, pack := range session.UDPClient.APacketizer.Packetize(pack.Payload, (ts-st)*tb) {
|
for _, pack := range session.UDPClient.APacketizer.Packetize(pack.Payload, (ts-st)*tb) {
|
||||||
p := &RTPPack{
|
p := &RTPPack{
|
||||||
Type: RTP_TYPE_VIDEO,
|
Type: RTP_TYPE_VIDEO,
|
||||||
}
|
}
|
||||||
p.Raw, _ = pack.Marshal()
|
p.Raw, _ = pack.Marshal()
|
||||||
session.SendRTP(p)
|
session.SendRTP(p)
|
||||||
@@ -454,6 +454,8 @@ func (session *RTSP) handleRequest(req *Request) {
|
|||||||
case 10:
|
case 10:
|
||||||
// TODO:
|
// TODO:
|
||||||
sdpInfo = append(sdpInfo, fmt.Sprintf("a=rtpmap:97 MPEG4-GENERIC/%d/%d", at.SoundRate, at.Channels))
|
sdpInfo = append(sdpInfo, fmt.Sprintf("a=rtpmap:97 MPEG4-GENERIC/%d/%d", at.SoundRate, at.Channels))
|
||||||
|
session.UDPClient.APacketizer = rtp.NewPacketizer(1200, 97, uint32(ssrc), &AACPayloader{}, rtp.NewFixedSequencer(1), uint32(at.SoundRate))
|
||||||
|
session.UDPClient.AT = at
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
session.SDPRaw = strings.Join(sdpInfo, "\r\n") + "\r\n"
|
session.SDPRaw = strings.Join(sdpInfo, "\r\n") + "\r\n"
|
||||||
|
|||||||
Reference in New Issue
Block a user