Fix some audio in RTSP server

This commit is contained in:
Alexey Khit
2023-08-21 20:54:40 +03:00
parent e0ad358aa9
commit 90f2a9e106
3 changed files with 13 additions and 3 deletions
+1
View File
@@ -245,6 +245,7 @@ func (c *Client) Handle() error {
pkt := &rtp.Packet{
Header: rtp.Header{
Version: 2,
Marker: true,
Timestamp: audioTS,
},
Payload: b[6+36:],
+2
View File
@@ -359,6 +359,7 @@ func (p *PES) GetPacket() (pkt *rtp.Packet) {
pkt = &rtp.Packet{
Header: rtp.Header{
Version: 2,
Marker: true,
PayloadType: p.StreamType,
SequenceNumber: p.Sequence,
Timestamp: p.PTSorDTS,
@@ -375,6 +376,7 @@ func (p *PES) GetPacket() (pkt *rtp.Packet) {
pkt = &rtp.Packet{
Header: rtp.Header{
Version: 2,
Marker: true,
PayloadType: p.StreamType,
SequenceNumber: p.Sequence,
Timestamp: p.PTSorDTS,
+10 -3
View File
@@ -75,8 +75,15 @@ func (c *Conn) AddTrack(media *core.Media, codec *core.Codec, track *core.Receiv
}
func (c *Conn) packetWriter(codec *core.Codec, channel, payloadType uint8) core.HandlerFunc {
var buf []byte
var n int
buf := make([]byte, 4096) // 4KB
video := codec.IsVideo()
if video {
buf = make([]byte, 32*1024) // 32KB
} else {
buf = make([]byte, 2*1024) // 2KB
}
handlerFunc := func(packet *rtp.Packet) {
if c.state == StateNone {
@@ -123,8 +130,8 @@ func (c *Conn) packetWriter(codec *core.Codec, channel, payloadType uint8) core.
n += 4 + size
if !packet.Marker {
return
if video && !packet.Marker {
return // collect continious video packets to buffer
}
if err := c.conn.SetWriteDeadline(time.Now().Add(Timeout)); err != nil {