SDP fixes#201
Conversation
|
The // For now, this function should handle the following cases identified in the documentation:
// * Unicast
// * Source Specific Multicast
// * Any Source Multicast
// * Operation with SMPTE 2022-7 - Separate Source Addresses
// * Operation with SMPTE 2022-7 - Separate Destination Addresses
// The following cases are not yet handled:
// * Operation with SMPTE 2022-5
// * Operation with SMPTE 2022-7 - Temporal Redundancy
// * Operation with RTCPI think this is basically true, however it's worth pointing out that not all of the other relevant information is extracted from the SDP file. For example, when parsing an SDP file for ST 2022-7 with "Separate Destination Addresses", the On the creation side, |
|
Note that ST 2110-10 has this to say about representation of ST 2022-7 in SDP:
The example for "Separate Source Addresses" in IS-05 is taken from RFC 7104 Section 4.1 and it uses The ST 2110-10 Annex B SDP Example (Informative) is of the "Separate Destination Addresses" case, and uses the same RTP Payload ID for both streams, which may explain why I've never seen different ones outside of the example in RFC 7104 Section 4.2 which is reproduced in IS-05. |
The default behaviour at the Sender side is now that I wonder whether this should be tightened up to only include the On the other hand, I think source filters are valid whatever address range the connection address is in, so maybe stick with the status quo? 🤷♂️ See e.g. RFC4570 Section 4.
|
…n parsing an SDP file which doesn't contain a source-filter Generate source-filters from unicast Senders' transport_params by default Support creation of SDP files from Receivers' transport_params Add optional flag to omit generation of source-filters Support "session-level" ts-refclk and mediaclk (but not source-filter) Fix generation of a=mediaclk:sender Unit tests for some of these improvements :-/
* for build and dependencies, e.g. sony#197, sony#198, sony#207, sony#211, sony#215, sony#229, sony#230, sony#235, sony#243 * for SDP parser/generator, e.g. sony#201, sony#205, sony#219, sony#241, sony#242, sony#244 * for RQL, e.g. sony#224 * for CI tests, e.g. sony#218, sony#231, sony#239, sony#250
Fix correct setting of
source_ipin a Receiver'stransport_paramswhen parsing an SDP file which doesn't contain asource-filter. Previously it set it from the origin<unicast-address>but that's wrong - as shown by the example in the IS-05 spec for Behaviour - RTP Transport Type - Unicast.Following on from that, generate
source-filters from unicast Senders'transport_paramsby default.To enable creation of the effective SDP files at a Receiver when
rtp_enabledis explicitly overridden, support creation of SDP files from Receivers'transport_params. Previously only worked from Senders'transport_params, which have a slightly different set of parameters, e.g.destination_ipvs.multicast_ip/interface_ip.New test cases are added for most of the above improvements.
Also support "session-level"
ts-refclkandmediaclkwhich will resolve Handling of PTP reference clocks. #125. Thesource-filterattribute is still not handled at "session-level", but I've added more comments to explain some of the ways thesource-filterhandling could be improved (e.g. checking<dest-address>actually matches the connection address being considered).Fix generation of
a=mediaclk:sender(which would previously have been rendered with a trailing=).