Skip to content

Conversation

juha-h
Copy link
Contributor

@juha-h juha-h commented Jul 14, 2020

No description provided.

@juha-h juha-h merged commit 9b5f5a2 into master Jul 14, 2020
@juha-h juha-h deleted the sdp_media_disabled branch July 14, 2020 07:04
wip-sync pushed a commit to NetBSD/pkgsrc-wip that referenced this pull request Nov 28, 2020
= libre Changelog

== [v1.1.0] - 2020-10-04

=== Added

- tls: functions to get the certificate issuer and subject [#18]
- uri: Added path field to struct uri and its decode to uri_decode [#22]
- tcp: add tcp_connect_bind [#24]
- http: support bind to laddr in http_request [#24]
- sipreg: support Cisco REGISTER keep-alives [#19]
- sip: websocket support [#26]

=== Fixed

- tls/openssl: fix X509_NAME win32/wincrypt.h conflict
- dns: listen on IPv4 and IPv6 socket [#27]
- main: fix/optimize windows file descriptors [#25]

=== Contributors (many thanks)

- Alfred E. Heggestad
- Christian Spielberger
- Christoph Huber
- Franz Auernigg
- Juha Heinanen
- Sebastian Reimers

== [v1.0.0] - 2020-09-08

=== Added

- sip: add trace
- sdp: sdp_media_disabled API function [#2]
- tls: add tls_set_selfsigned_rsa [#6]
- tls: add functions to verify server cert, purpose and hostname [#10]
- http: client should set SNI [#10]
- http: client should use tls functions to verify server certs, purpose
  and hostname [#10]
- sipreg: add proxy expires field and get function [#13]
- sipreg: make re-register interval configurable [#13]

=== Changed

- debian: Automatic cleanup after building debian package

=== Fixed

- Set SDK path (SYSROOT) using xcrun (fix building on macOS 10.14)
- tcp: close socket on windows if connection is aborted or reset [#1]
- rtmp: Fix URL path parsing (creytiv#245)
- ice: various fixes [baresip/baresip#925]
- openssl/tls: replace deprecated openssl 1.1.0 functions [#5]

=== Contributors (many thanks)

- Alfred E. Heggestad
- Christian Spielberger
- Christoph Huber
- Franz Auernigg
- juha-h
- Juha Heinanen
- Richard Aas
- Sebastian Reimers

[#25]: baresip/re#25
[#27]: baresip/re#27
[#26]: baresip/re#26
[#19]: baresip/re#19
[#24]: baresip/re#24
[#22]: baresip/re#22
[#18]: baresip/re#18
[#13]: baresip/re#13
[#10]: baresip/re#10
[#6]: baresip/re#6
[#5]: baresip/re#5
[#2]: baresip/re#2
[#1]: baresip/re#1

[v1.0.0]: baresip/re@v0.6.1...v1.0.0
[v1.1.0]: baresip/re@v1.0.0...v1.1.0
[Unreleased]: baresip/re@v1.1.0...HEAD
npcook pushed a commit to npcook/re that referenced this pull request Apr 17, 2025
The AV1 packetizer did not properly packetize all AV1 bitstreams. It
incorrectly calculated the "w" field from the AV1 RTP spec once and
applied it to all RTP packets. This field needs to be determined on a
per-packet basis. In practice, this meant the packetizer generated
invalid RTP packets if w = 0 for the first packet (i.e. 4 or more OBUs).

Rewrite the packetizer to accurately determine how many OBU fragments
are present in each RTP packet. The general idea is:
1. Start with the first OBU in the user buffer
2. Fill the RTP packet with data from the current OBU
3. If there is space left over in the packet, move to the next OBU and
   repeat baresip#2
4. Once the RTP packet is full, report it to the handler and clear it
   and repeat baresip#2

Update the tests to get wider coverage of this new algorithm. Add
another stream with more OBUs and test each stream with varying packet
sizes. Also, fix the frame re-assembly code in the test to conform to
the spec.

Name this new algorithm av1_packetize_new and keep the old
av1_packetize_high around for now. Library users can switch to the new
implementation for testing until it replaces av1_packetize_high.

AV1 RTP spec: https://aomediacodec.github.io/av1-rtp-spec/
npcook pushed a commit to npcook/re that referenced this pull request Apr 17, 2025
The AV1 packetizer did not properly packetize all AV1 bitstreams. It
incorrectly calculated the "w" field from the AV1 RTP spec once and
applied it to all RTP packets. This field needs to be determined on a
per-packet basis. In practice, this meant the packetizer generated
invalid RTP packets if w = 0 for the first packet (i.e. 4 or more OBUs).

Rewrite the packetizer to accurately determine how many OBU fragments
are present in each RTP packet. The general idea is:
1. Start with the first OBU in the user buffer
2. Fill the RTP packet with data from the current OBU
3. If there is space left over in the packet, move to the next OBU and
   repeat baresip#2
4. Once the RTP packet is full, report it to the handler and clear it
   and repeat baresip#2

Update the tests to get wider coverage of this new algorithm. Add
another stream with more OBUs and test each stream with varying packet
sizes. Also, fix the frame re-assembly code in the test to conform to
the spec.

Name this new algorithm av1_packetize_new and keep the old
av1_packetize_high around for now. Library users can switch to the new
implementation for testing until it replaces av1_packetize_high.

AV1 RTP spec: https://aomediacodec.github.io/av1-rtp-spec/
npcook pushed a commit to npcook/re that referenced this pull request Apr 18, 2025
The AV1 packetizer did not properly packetize all AV1 bitstreams. It
incorrectly calculated the "w" field from the AV1 RTP spec once and
applied it to all RTP packets. This field needs to be determined on a
per-packet basis. In practice, this meant the packetizer generated
invalid RTP packets if w = 0 for the first packet (i.e. 4 or more OBUs).

Rewrite the packetizer to accurately determine how many OBU fragments
are present in each RTP packet. The general idea is:
1. Start with the first OBU in the user buffer
2. Fill the RTP packet with data from the current OBU
3. If there is space left over in the packet, move to the next OBU and
   repeat baresip#2
4. Once the RTP packet is full, report it to the handler and clear it
   and repeat baresip#2

Update the tests to get wider coverage of this new algorithm. Add
another stream with more OBUs and test each stream with varying packet
sizes. Also, fix the frame re-assembly code in the test to conform to
the spec.

Name this new algorithm av1_packetize_new and keep the old
av1_packetize_high around for now. Library users can switch to the new
implementation for testing until it replaces av1_packetize_high.

AV1 RTP spec: https://aomediacodec.github.io/av1-rtp-spec/
npcook pushed a commit to npcook/re that referenced this pull request Apr 18, 2025
The AV1 packetizer did not properly packetize all AV1 bitstreams. It
incorrectly calculated the "w" field from the AV1 RTP spec once and
applied it to all RTP packets. This field needs to be determined on a
per-packet basis. In practice, this meant the packetizer generated
invalid RTP packets if w = 0 for the first packet (i.e. 4 or more OBUs).

Rewrite the packetizer to accurately determine how many OBU fragments
are present in each RTP packet. The general idea is:
1. Start with the first OBU in the user buffer
2. Fill the RTP packet with data from the current OBU
3. If there is space left over in the packet, move to the next OBU and
   repeat baresip#2
4. Once the RTP packet is full, report it to the handler and clear it
   and repeat baresip#2

Update the tests to get wider coverage of this new algorithm. Add
another stream with more OBUs and test each stream with varying packet
sizes. Also, fix the frame re-assembly code in the test to conform to
the spec.

Name this new algorithm av1_packetize_new and keep the old
av1_packetize_high around for now. Library users can switch to the new
implementation for testing until it replaces av1_packetize_high.

AV1 RTP spec: https://aomediacodec.github.io/av1-rtp-spec/
alfredh pushed a commit that referenced this pull request Apr 19, 2025
The AV1 packetizer did not properly packetize all AV1 bitstreams. It
incorrectly calculated the "w" field from the AV1 RTP spec once and
applied it to all RTP packets. This field needs to be determined on a
per-packet basis. In practice, this meant the packetizer generated
invalid RTP packets if w = 0 for the first packet (i.e. 4 or more OBUs).

Rewrite the packetizer to accurately determine how many OBU fragments
are present in each RTP packet. The general idea is:
1. Start with the first OBU in the user buffer
2. Fill the RTP packet with data from the current OBU
3. If there is space left over in the packet, move to the next OBU and
   repeat #2
4. Once the RTP packet is full, report it to the handler and clear it
   and repeat #2

Update the tests to get wider coverage of this new algorithm. Add
another stream with more OBUs and test each stream with varying packet
sizes. Also, fix the frame re-assembly code in the test to conform to
the spec.

Name this new algorithm av1_packetize_new and keep the old
av1_packetize_high around for now. Library users can switch to the new
implementation for testing until it replaces av1_packetize_high.

AV1 RTP spec: https://aomediacodec.github.io/av1-rtp-spec/

Co-authored-by: Nicholas Cook <nicholasc@nvidia.com>
jmontorosf pushed a commit to sipfront/re that referenced this pull request Jun 12, 2025
The AV1 packetizer did not properly packetize all AV1 bitstreams. It
incorrectly calculated the "w" field from the AV1 RTP spec once and
applied it to all RTP packets. This field needs to be determined on a
per-packet basis. In practice, this meant the packetizer generated
invalid RTP packets if w = 0 for the first packet (i.e. 4 or more OBUs).

Rewrite the packetizer to accurately determine how many OBU fragments
are present in each RTP packet. The general idea is:
1. Start with the first OBU in the user buffer
2. Fill the RTP packet with data from the current OBU
3. If there is space left over in the packet, move to the next OBU and
   repeat baresip#2
4. Once the RTP packet is full, report it to the handler and clear it
   and repeat baresip#2

Update the tests to get wider coverage of this new algorithm. Add
another stream with more OBUs and test each stream with varying packet
sizes. Also, fix the frame re-assembly code in the test to conform to
the spec.

Name this new algorithm av1_packetize_new and keep the old
av1_packetize_high around for now. Library users can switch to the new
implementation for testing until it replaces av1_packetize_high.

AV1 RTP spec: https://aomediacodec.github.io/av1-rtp-spec/

Co-authored-by: Nicholas Cook <nicholasc@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant