216 Commits

Author SHA1 Message Date
Jo Turk b9a856eb82 Update CI and links to main branch 2026-04-05 21:56:18 +02:00
Joe Turki 0b5e438a3f Add bluesky link next to twitter 2025-04-07 05:59:31 +02:00
Joe Turki 31c63199b6 Remove Slack links 2025-04-06 17:07:53 +02:00
Joe Turki a51e66c9e8 Update readme add discord and bluesky 2025-03-25 20:45:08 +02:00
Sean DuBois e51984e811 Add siobud.com/meeting to README 2024-10-14 12:15:57 -04:00
Sean DuBois 3f1622a2f4 Add v4 Release Notes to README 2024-10-11 00:00:36 -04:00
Rob Deutsch 45e3746e5d Update README.md
Explicitly mentions v4 in Usage
2024-03-02 10:01:52 -08:00
Sean DuBois a1105fa60c Remove 'Generate Authors' workflow
pion/.goassets#185
2023-12-09 13:55:32 -05:00
Sean DuBois dc4b591c4d Start pion/webrtc/v4
60eea43 is a breaking change
2023-09-05 11:48:14 -04:00
Steffen Vogel d1b7bdbe73 Harmonize sections in README 2023-04-05 09:17:12 +02:00
Steffen Vogel 1b74d280ea Cleanup common sections in README 2023-03-16 09:38:35 +01:00
Steffen Vogel 77051abac0 Cleanup badges in README 2023-03-16 09:38:35 +01:00
Mathis Engelbart 4e853582ca Add reference to NLnet sponsoring
NLnet sponsors work on congestion control in Pion.
2022-07-16 11:16:00 +02:00
Sean DuBois e18818b3a6 Remove codacy from README
Not used anymore
2022-05-10 10:29:07 -04:00
Sean DuBois 6ae706a5a2 Add link to BWE example in README
Before this pointed to WIP issue in pion/interceptor
2022-04-16 22:26:02 -04:00
Sean DuBois 5e98c50d8b Remove 'New Release' Section
v3.1.0 has been released, information is stale
2021-09-23 12:17:06 -04:00
Sean DuBois 1231f4f8ac Add link to Bandwidth Estimation Ticket
Update links to TWCC and RTCP Reports
2021-09-15 16:18:21 -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 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
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.
2021-05-06 15:14:21 -04:00
digitalix 80fd6d8d59 Expose SRTP protection profiles in setting engine
Allows to override default SRTP protection profiles in settingengine.go
2021-05-04 20:27:15 +01:00
yusuke 071d5f27d4 Fix typo in examples/play-from-disk
flies->files
2021-04-23 11:04:46 -07:00
cgojin f81efb0a13 Use wasm_exec.js in GOROOT
Use wasm_exec.js in GOROOT to ensure that the wasm file be loaded,
there is no need to use a specific version of go to build wasm,
and delete vendor-wasm.
2021-04-15 20:44:29 -07:00
Tomek 9b859870c0 Implement WASM Media methods
Add AddTransceiverFromKind and GetTransceivers. This doesn't support
everything, but enough to at least build a recvonly experience.

Resolves #500
2021-04-12 18:55:56 -07:00
Benny Daon c6c241d57c Add CertificateFromPEM and PEM() to Certificate
Allow for easier usage of a pre-existing certificate
2021-04-10 19:05:18 +03:00
Sean DuBois 1cd8bbae2c Add Office Hours to README
Put under 'Learn more about WebRTC'
2021-04-08 14:53:56 -07:00
Markus Tzoe 56ef4b73c5 PeerConnection: make AddTrack thread-safe
Use fine granularity rw-mutex to protect rtpTransceivers and for
exclusively accessing AddTrack and RemoveTrack

Fixes `shouldAddCandidates` typo in sdp.go
2021-04-03 10:51:19 -07:00
Nam V. Do 4942778101 Fix typo in examples
retuned -> returned
2021-03-16 09:44:42 -07:00
David Zhao e5c8c659ca Improve MediaEngine codec matching
Implement more sophisticated matching to prefer exact
matches over partial ones.
2021-03-04 09:08:59 -08:00
Reese 8cb5bde7c9 Fix error checking in pion-to-pion
Example was checking wrong error in conditional.
2021-02-19 10:05:32 -08:00
donotanswer 8e8567040c Update ice-lite remote check to ignore whitespace
When parsing SDP, ice-lite attributes with whitespaces
were parsed incorrectly. This fix trims whitespaces.
2021-02-19 09:10:28 -08:00
Mindgamesnl cad7b6d34e Don't cache SessionDescription during unmarshal
A user could use these across multiple interactions with the API. This
is confusing behavior because all their subsequent calls will be
ignored.

This reverts 3412dc6d95
2021-02-16 12:43:11 -08:00
Pascal Benoit 22eea024a2 Fix codec matching in save-to-disk
Use equalFold. Codecs aren't case sensitive and a client could use
either
2021-02-04 08:51:48 -08:00
Cameron Elliott 06f9351bce Fix 2nd uint16 of rtpdump packet header
I wrote a tool to round trip output
from the original C lang rtpdump tool
this was the only problem I noticed.
In the original .rtp file, if rtp len is 100 the
first uint16 is 108 and the second uint16 is 100
before my change, this code will output 108/108
for both 'length' and 'plen' from spec
http://web3.cs.columbia.edu/irt/software/rtptools/
2021-02-03 09:13:34 -08:00
decanus e3ec4024ba Expose NewSDPType
Allows a user to easily marshal a string to SDPType
2021-01-09 14:51:22 -08:00
Sean DuBois 398c363baf Add SetReadDeadline to RTPReceiver and TrackRemote
Previously, Reading RTP or RTCP packets from a peer
would block until a packet was received, or the
connection was terminated. This change allows you to
set a deadline, after which the read function will
return a timeout error and you can get on with other
things.

Resolves #1553
2020-12-26 09:41:45 -08:00
Sean DuBois af8f7d0e2c Update README.md for /v3
🥳
2020-12-14 23:26:25 -08:00
pascal-ace 85ced4ad69 Update payloaderForCodec to be case insensitive
Remove sharp edge when creating sample track
2020-12-14 10:19:05 -08:00
Sean DuBois f5875d9895 Add features matrix to the README
List most popular features/benefits of Pion WebRTC.

Resolves #1279

Co-authored-by: ZHENK <chengzhenyang@gmail.com>
2020-12-14 10:15:37 -08:00
baiyufei 63e241f63f Improve H264Reader performance
Fixes #1559
2020-12-01 15:49:36 -08:00
Sidney San Martín 6430e63e79 Fix how assert-contributors.sh handles my name
Change the README to use the canonical "San Martín" (LATIN SMALL LETTER
I WITH ACUTE) and ignore the "San Martín" (LATIN SMALL LETTER I +
COMBINING ACUTE ACCENT) version.
2020-11-22 22:35:51 -08:00
Suzuki Takeo 1ffa87eb07 Fix oggwriter creating invalid first page
previousTimestamp default value is not 0 but 1
2020-11-17 20:14:41 -08:00
Bo Shi 159ba5aca3 Reduce memory allocated in DataChannel.readLoop
See https://github.com/pion/webrtc/issues/1516

This patch preserves the semantics of the OnMessage handler and is
more safe but less efficient than the patch first described in #1516.

$ git checkout origin/master datachannel.go && \
  go test -bench=. -run=XXX -benchmem -count=10 > original.txt
$ git checkout datachannel.go && git apply pool.patch && \
  go test -bench=. -run=XXX -benchmem -count=10 > option1.txt

$ benchstat original.txt option1.txt
name                 old time/op    new time/op    delta
DSend2-8     20.3µs ±51%     3.7µs ± 6%   -81.74%  (p=0.000 n=10+10)
DSend4-8     23.5µs ±34%     3.6µs ± 8%   -84.80%  (p=0.000 n=10+8)
DSend8-8     18.9µs ±35%     5.8µs ±68%   -69.45%  (p=0.000 n=9+10)
DSend16-8    16.8µs ±30%    10.0µs ±24%   -40.77%  (p=0.000 n=10+10)
DSend32-8    710ms ±100%       0ms ±81%  -100.00%  (p=0.035 n=10+9)

name                 old alloc/op   new alloc/op   delta
DSend2-8     15.3kB ±89%     1.4kB ± 0%   -90.59%  (p=0.000 n=9+10)
DSend4-8     41.7kB ±63%     1.4kB ± 1%   -96.58%  (p=0.000 n=10+10)
DSend8-8     45.0kB ±33%     1.4kB ± 2%   -96.83%  (p=0.000 n=9+10)
DSend16-8    34.0kB ±69%     1.4kB ± 1%   -95.77%  (p=0.000 n=10+10)
DSend32-8   37.4MB ±388%     0.0MB ± 4%  -100.00%  (p=0.000 n=10+7)

name                 old allocs/op  new allocs/op  delta
DSend2-8       15.8 ±46%      38.6 ± 2%  +144.30%  (p=0.000 n=10+10)
DSend4-8       27.1 ±48%      38.0 ± 0%   +40.22%  (p=0.000 n=10+9)
DSend8-8       29.3 ±16%      38.0 ± 0%   +29.55%  (p=0.000 n=9+8)
DSend16-8      23.6 ±41%      37.0 ± 0%   +56.78%  (p=0.000 n=10+9)
DSend32-8    19.3k ±100%      0.0k ± 0%      ~     (p=0.178 n=10+7)
2020-11-14 14:39:22 -08:00
o0olele d71bd9aa2a Fix JS error in insertable-streams example
Member has been changed from `readableStream` -> `readable`
2020-11-12 14:24:13 -08:00
Sean Knight f25b48d3de Fix typo in README
s/Leran/Learn/
2020-11-12 12:15:24 -08:00
Artur Shellunts ef0e79cd55 Add pkg/media/h264reader
H264Reader reads a stream of Annex B H264 and packetizes into a NAL at a
time. This then can easily be passed into pion/rtp
2020-11-04 23:26:16 -08:00
Jamie Good 63112a4ed4 Use addTrack instead of addStream in examples
Logs: TypeError: pc.addStream is not a function.
Fixed js error when using safari due to deprecated
RTCPeerConnection.addStream() method.

Updated js fiddle examples to use the addTrack()
method instead.
2020-10-14 10:16:28 -07:00
Assad Obaid 6e72493517 Set the proxy dialer
Sets the proxy dialer in the ice package.

Relates to pion/ice#284
2020-10-09 13:01:38 -07:00
OrlandoCo 3f53b70405 Fix receiver close stream race close
Add nil check in RTPReceiver.Stop()

Fixes #1471
2020-10-09 09:27:31 -07:00
rahulnakre 4c1440c04c Make getCodecSDP case insensitive
EqualFold to compare codec names in a case
insensitive manner

Fixes #1442
2020-10-06 19:23:18 -07:00