Commit Graph

2053 Commits

Author SHA1 Message Date
OrlandoCo
5253475ec7 Check for nil transceivers on get parameters
For ORTC API senders does not have a transceiver causing
panics on getting parameters.
v3.1.0-beta.3
2021-08-07 22:06:10 -04:00
Sean DuBois
13ebcbdf5d Update pion/rtp@v1.7.1
Resolves #1625
2021-08-05 21:06:52 -04:00
Pieere Pi
4a6f223846 Support Single NAL unit packetization
H264Writer before only supported payloads that were packetized with
STAP-A. Now we support STAP-A and NALs directly in the RTP Payloads.
2021-08-03 16:39:03 -04:00
Pieere Pi
d1d40c0aef Fix invalid read in H264Reader
If the first byte after the nalu start code is 0x01, there is a panic.
Reset reader.countOfConsecutiveZeroBytes after nal is found.
2021-08-03 16:39:03 -04:00
digitalix
06a5a14197 Fixes issue 1822
Previously we could have situations where during
first condition like `transceiver.Sender() != nil`
there would be another condition like
`transceiver.Sender().isNegotiated()` where
`.Sender()` could become nil if changed in
a different goroutine.
2021-08-03 11:39:46 -04:00
Sean DuBois
cffa6afc34 Rollback pion/rtp to v0
Resolves #1908
v3.1.0-beta.2
2021-08-02 18:05:45 -04:00
Renovate Bot
a372cdd6d0 Update golang.org/x/net commit hash to c6fcb2d
Generated by renovateBot
2021-08-01 14:18:16 -04:00
Sean DuBois
011d6ca3ca Refactor IVFWriter tests
Split into generic and VP8 specific
2021-08-01 09:37:29 -04:00
Ryan Shumate
2d529be571 Improved h264 fmtp line parsing
Implements h264 fmtp parsing based on RFC 6184 Section 8.2.2
2021-07-30 13:23:07 -04:00
Atsushi Watanabe
d544be17d9 Enable VP8 PictureID by default
For using in SLI.
2021-07-29 12:22:36 -04:00
Sean DuBois
a67c66a0c5 Upgrade pion/rtp to v2
Also updates interceptor and srtp
v3.1.0-beta.1
2021-07-29 11:18:41 -04:00
Renovate Bot
5047c6b010 Update module github.com/pion/ice/v2 to v2.1.10
Generated by renovateBot
v3.0.32
2021-07-23 11:32:59 -04:00
Renovate Bot
f537f5e4e3 Update module github.com/pion/ice/v2 to v2.1.9
Generated by renovateBot
2021-07-21 14:14:22 -04:00
Pion
f445f21ac1 Update CI configs to v0.5.9
Update lint scripts and CI configs.
2021-07-21 09:35:05 +09:00
Patryk Rogalski
3af80189da Fixes ReplaceTrack
When ReplaceTrack was set previously to nil
it would be impossible to ReplaceTrack again
with a non-nil value as r.track was set to nil.
2021-07-20 12:41:22 -04:00
Juliusz Chroboczek
a33d7cdc37 Simplify sampleSequenceLocation
Also adds test.
2021-07-13 21:40:48 -04:00
Juliusz Chroboczek
38335e6b21 Add benchmarks from jech/samplebuilder
This adds some benchmarks copied from jech/samplebuilder.
2021-07-13 21:35:23 -04:00
Pion
a8d3026d43 Update CI configs to v0.5.7
Update lint scripts and CI configs.
2021-07-13 16:42:32 -04:00
Antoine Baché
93841964fd Fix RTPReceiver getParameters
When used with ORTC, a RTPTransceiver might not be set
and a call to getParameters would result in a crash
2021-07-13 15:25:56 +02:00
Robin Raymond
36cf39516f Fix: sample builder test always returns data
Wrap around issue caused backup of packets in sample builder.
2021-07-12 12:27:14 -04:00
Juliusz Chroboczek
ee255e8956 Avoid crash after a PC callback has been reset
We used to crash if a PC callback was reset, due to confusion
between a nil interface and an interface whose value is nil.

Fixes #1871
v3.0.31
2021-07-07 10:28:26 -04:00
Renovate Bot
d1839c7652 Update module github.com/pion/ice/v2 to v2.1.8
Generated by renovateBot
2021-07-03 16:26:45 -04:00
Antoine Baché
7e049ec5ec Update examples
TestNonFatalRead now has an timeout.
Examples now use Mime types, instead of raw strings.

Fixes #839
2021-07-02 11:49:55 -04:00
Pion
8a0df90831 Update CI configs to v0.5.4
Update lint scripts and CI configs.
2021-07-01 22:59:37 -04:00
aggresss
7b7183eb5a Fix RTPSender's streamInfo miss headerExtensions
Fix transceiver.Sender().Send() not contain HeaderExtensions.
2021-07-01 10:14:06 -04:00
aggresss
fc303839d6 Fix operations queue memory leak
operations.go use slice as queue o.ops = o.ops[1:]
The memory allocated for the array is never returned.
For a long-living queue you should probably use a dynamic
data structure, such as a linked list.

Fixes #1857
2021-06-30 20:58:33 -04:00
Antoine Baché
299e04a5e4 Fix H264Reader buffer overflow
Fixes #1734
2021-06-28 21:13:52 +02:00
Renovate Bot
1ba27d8045 Update golang.org/x/net commit hash to 04defd4
Generated by renovateBot
v3.0.30
2021-06-28 10:55:00 -04:00
digitalix
f524fea32a Implement SetCodecPreferences in RTPTransceiver
This allows to set supported codecs per transceiver.

Resolves #1847
2021-06-28 10:54:31 -04:00
Renovate Bot
3bee9401af Update module github.com/pion/interceptor
Generated by renovateBot
2021-06-27 14:51:45 -04:00
digitalix
f8a8c09949 Support PayloadTypes changing a TrackRemote
If the PayloadType changes for a SSRC update the codec on the
TrackRemote.

Resolves #1850
2021-06-27 14:44:02 -04:00
digitalix
7948437b0b Fixed deadlock in peerconnection.go
In some rare cases during ice connection stage
change may result in deadlock. This fix makes
iceConnectionState and connectionState atomic
which should prevent deadlock.
2021-06-20 14:50:43 -04:00
Juliusz Chroboczek
11f6a65fe2 Avoid crash in samplebuilder.PopWithTimestamp
If sample is null, PopWithTimestamp will crash with SIGSEGV.
2021-06-20 14:40:24 -04:00
Antoine Baché
41243cd179 Implemented RTPReceiver SetRTPParameters for ORTC
RID is now set on remote tracks, if provided
Adds SetRTPParameters which can be used in ORTC to set codec information
about the remote track
2021-06-17 22:39:16 +02:00
Robin Raymond
f7f760f8c6 Fix infinitate loop possible in sample builder
Active becomes "empty" after consuming the packets, but instead of the
"filled" getting purged by "purgeConsumedBuffers", it doesn't because
active is now empty and empty buffers cannot cause any purging. So the
solution is to purge the "consumed" area first, then "active".

Fixes #1810
2021-05-26 11:28:17 -04:00
Juliusz Chroboczek
d625f6f637 Optimise mux.dispatch
Uncurry the function MuxRange and avoid allocating a reader in
isRTCP.  The included benchmark indicates that we avoid five
allocations per packet.
2021-05-07 11:09:09 -07:00
Robin Raymond
7d97c9b5d3 Refactored samplebuilder logic
Many corner cases would cause samplebuilder to fail and return invalid
results. This refactoring is more reliable in all cases.

Fixed bug in H264 writer by reusing the packet object in  H264 writer.
v3.0.29
2021-05-06 15:14:21 -04:00
Sean DuBois
6af391480a Add examples/ortc README
We had no documentation before

Relates to #379
2021-05-05 22:06:23 -07:00
Sean DuBois
9677e616b7 Move defaultSrtpProtectionProfiles to constants.go
If a user is curious about the default value when configuring
SetSRTPProtectionProfiles this makes it easier to find.
2021-05-04 13:01:34 -07:00
digitalix
80fd6d8d59 Expose SRTP protection profiles in setting engine
Allows to override default SRTP protection profiles in settingengine.go
v3.0.28
2021-05-04 20:27:15 +01:00
Renovate Bot
9d59da54df Update module github.com/pion/ice/v2 to v2.1.7
Generated by renovateBot
v3.0.27
2021-04-27 09:11:30 -07:00
Renovate Bot
bb757ba3f6 Update module github.com/pion/ice/v2 to v2.1.6
Generated by renovateBot
v3.0.26
2021-04-25 15:37:51 -07:00
cnderrauber
d2f672f343 Fixes MediaEngine: codec apt negotiation
codec has apt fmtp can't negotiation because it's
apt payloadtype can't be found in negotiation codecs.
rtx codec must be partial match if apt codec is partial.

Was reverted in eeb67e1

Fixes #1785
2021-04-24 10:00:49 -07:00
yusuke
071d5f27d4 Fix typo in examples/play-from-disk
flies->files
2021-04-23 11:04:46 -07:00
Sean DuBois
fbb9051aee Revert "Fixes MediaEngine: codec apt negotiation"
This reverts commit eeb67e1c53.
v3.0.25
2021-04-23 10:54:25 -07:00
Markus Tzoe
b6ca48ea6d PeerConnection: more thread-safe
now proctected by lock:
	- CreateOffer
	- CreateAnswer
	- AddTransceiverFromKind
	- AddTransceiverFromTrack

newRTPTransceiver is no longer a PeerConnection method;
pc.addRTPTransceiver would fire onNegotiationNeeded;
pc.AddTrack, pc.RemoveTrack now hold lock for the entire function;

Fixes TestNegotiationNeededStressOneSided() by waiting til all
tracks added to pcA and the negotiation completed
2021-04-23 11:12:48 +08:00
Renovate Bot
9ab64a04ac Update module github.com/pion/ice/v2 to v2.1.5
Generated by renovateBot
v3.0.24
2021-04-22 10:48:12 -07:00
Sean DuBois
0ecbcfeb4f Add examples/ice-single-port-mode
Demonstrate how using the new ICEUDPMux multiple PeerConnections
can be served via a single port.
v3.0.23
2021-04-21 11:25:30 -07:00
cgojin
177a744800 Fix undefined os.ErrDeadlineExceeded for docker
Steps to reproduce:
$ cd examples/pion-to-pion
$ docker-compose up
pion/ice/v2@v2.1.2/udp_mux.go:242:22: undefined: os.ErrDeadlineExceeded
2021-04-21 11:08:58 -07:00
cgojin
76797b861f Removes host network_mode for docker
Steps to reproduce:
$ cd examples/pion-to-pion
$ docker-compose up
ERROR:
for answer  "host" network_mode is incompatible with port_bindings
2021-04-21 11:08:58 -07:00