In the access modules, we would like to be able to send file properties such as size directly
to the input item. But no reference to this item is accessible.
This field will allow you to retrieve the item created by the function.
DeckLinkAPIDispatch.cpp doesn't exist on Windows and CreateDeckLinkIteratorInstance()
too. Instead we should use CoCreateInstance().
The strings are BSTR.
Use the proper enum values where appropriate.
Some types are different between Windows and Linux/macOS.
PCM and MPEG Audio have the M bit set at the start of a "talk spurt".
That is IETF AVT speak for audio after a gap of silence, so flag a
discontinuity.
The M bit is part of the common RTP header, but handling is entirely
dependent on the payload format, so we have to pass it somehow.
The pktinfo structure will probably need to be extended to also convey
data from extension headers, e.g. picture orientation or (AV-1) decoding
dependency data.
VLC does not handle negative timestamps so far. So the initial NTP
reference timestamp should be positive enough that the extrapolated
PTS will not end up negative when the RTP packet timestamp is lower
than the reference RTP timestamp. In that case the PTS is lower than
the NTP reference.
While 2^62 was a very safe value in that respect, it lead to integer
overflows in the clock and in time base conversion code. To avoid this,
we pick a default NTP reference value equal to the closest power of two
of the NTP time of this changeset: 2^52 is in 2042 CE, 2^51 in 1971 CE.
With #26283, autodetection is no longer necessary. All types can be
registered up-front. This also allows switching from one PT to another
without restarting the input.
This creates an ES only for the packet type (and underlying payload
format) currently used by an RTP source. Consequently, if the session
has more than one packet type, there are no more ghost ES that disrupt
track selection.
Fixes#26283.