mirror of
https://github.com/pion/webrtc.git
synced 2025-09-27 03:25:58 +08:00
Fix RTPSender's streamInfo miss headerExtensions
Fix transceiver.Sender().Send() not contain HeaderExtensions.
This commit is contained in:
@@ -1270,16 +1270,7 @@ func (pc *PeerConnection) startRTPReceivers(incomingTracks []trackDetails, curre
|
||||
func (pc *PeerConnection) startRTPSenders(currentTransceivers []*RTPTransceiver) error {
|
||||
for _, transceiver := range currentTransceivers {
|
||||
if transceiver.Sender() != nil && transceiver.Sender().isNegotiated() && !transceiver.Sender().hasSent() {
|
||||
err := transceiver.Sender().Send(RTPSendParameters{
|
||||
Encodings: []RTPEncodingParameters{
|
||||
{
|
||||
RTPCodingParameters{
|
||||
SSRC: transceiver.Sender().ssrc,
|
||||
PayloadType: transceiver.Sender().payloadType,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
err := transceiver.Sender().Send(transceiver.Sender().GetParameters())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
12
rtpsender.go
12
rtpsender.go
@@ -104,9 +104,7 @@ func (r *RTPSender) Transport() *DTLSTransport {
|
||||
return r.transport
|
||||
}
|
||||
|
||||
// GetParameters describes the current configuration for the encoding and
|
||||
// transmission of media on the sender's track.
|
||||
func (r *RTPSender) GetParameters() RTPSendParameters {
|
||||
func (r *RTPSender) getParameters() RTPSendParameters {
|
||||
sendParameters := RTPSendParameters{
|
||||
RTPParameters: r.api.mediaEngine.getRTPParametersByKind(
|
||||
r.track.Kind(),
|
||||
@@ -125,6 +123,14 @@ func (r *RTPSender) GetParameters() RTPSendParameters {
|
||||
return sendParameters
|
||||
}
|
||||
|
||||
// GetParameters describes the current configuration for the encoding and
|
||||
// transmission of media on the sender's track.
|
||||
func (r *RTPSender) GetParameters() RTPSendParameters {
|
||||
r.mu.RLock()
|
||||
defer r.mu.RUnlock()
|
||||
return r.getParameters()
|
||||
}
|
||||
|
||||
// Track returns the RTCRtpTransceiver track, or nil
|
||||
func (r *RTPSender) Track() TrackLocal {
|
||||
r.mu.RLock()
|
||||
|
@@ -50,7 +50,7 @@ func (t *TrackLocalContext) ID() string {
|
||||
}
|
||||
|
||||
// TrackLocal is an interface that controls how the user can send media
|
||||
// The user can provide their own TrackLocal implementatiosn, or use
|
||||
// The user can provide their own TrackLocal implementations, or use
|
||||
// the implementations in pkg/media
|
||||
type TrackLocal interface {
|
||||
// Bind should implement the way how the media data flows from the Track to the PeerConnection
|
||||
|
Reference in New Issue
Block a user