Fix FLV to RTSP transport after v1.3 #362
This commit is contained in:
@@ -58,21 +58,22 @@ func (c *Conn) AddTrack(media *core.Media, codec *core.Codec, track *core.Receiv
|
|||||||
|
|
||||||
// save original codec to sender (can have Codec.Name = ANY)
|
// save original codec to sender (can have Codec.Name = ANY)
|
||||||
sender := core.NewSender(media, codec)
|
sender := core.NewSender(media, codec)
|
||||||
sender.Handler = c.packetWriter(codec, channel)
|
// important to send original codec for valid IsRTP check
|
||||||
|
sender.Handler = c.packetWriter(track.Codec, channel, codec.PayloadType)
|
||||||
sender.HandleRTP(track)
|
sender.HandleRTP(track)
|
||||||
|
|
||||||
c.senders = append(c.senders, sender)
|
c.senders = append(c.senders, sender)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Conn) packetWriter(codec *core.Codec, channel uint8) core.HandlerFunc {
|
func (c *Conn) packetWriter(codec *core.Codec, channel, payloadType uint8) core.HandlerFunc {
|
||||||
handlerFunc := func(packet *rtp.Packet) {
|
handlerFunc := func(packet *rtp.Packet) {
|
||||||
if c.state == StateNone {
|
if c.state == StateNone {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
clone := *packet
|
clone := *packet
|
||||||
clone.Header.PayloadType = codec.PayloadType
|
clone.Header.PayloadType = payloadType
|
||||||
|
|
||||||
size := clone.MarshalSize()
|
size := clone.MarshalSize()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user