4.2 KiB
4.2 KiB
unreleased
- correctly expire stale session entries that track live555 stale file descriptor sessions. See moonfire-nvr#184.
v0.3.5
(2021-11-30)
- #42: support servers that don't send out-of-band H.264 parameters or send invalid parameters; wait for in-band parameters in this case. The in-band parameters must be valid.
- documentation improvements.
v0.3.4
(2021-10-26)
- use
rtsp-types
0.0.3, and thusnom
7.0.
v0.3.3
(2021-10-20)
- #25: better HTTP
authentication support via the new
http-auth
crate. Before,retina
would only authenticate properly if the first requested challenge wasDigest
. Now, it will pick out aDigest
orBasic
challenge from a list.
v0.3.2
(2021-09-29)
- better
TEARDOWN
handling, which often avoids the need to wait for session expiration ((#34).
v0.3.1
(2021-09-09)
- warn when connecting via TCP to a known-broken live555 server version.
- improve Geovision compatibility by skipping its strange RTP packets with payload type 50.
- UDP fixes.
- improve compatibility with cameras with non-compliant SDP, including Anpviz (#26 and Geovision ([#33])(https://github.com/scottlamb/retina/issues/33)).
- new mechanism to more reliably send
TEARDOWN
requests.
v0.3.0
(2021-08-31)
- BREAKING CHANGE: #30:
experimental UDP support. Several
RtspMessageContext
fields have been replaced withPacketContext
. - BREAKING CHANGE: remove
retina::client::SessionOptions::ignore_spurious_data
. This was an attempted workaround for old live555 servers (#17) that was ineffective. - #22: fix handling of 44.1 kHz AAC audio.
v0.2.0
(2021-08-20)
- BREAKING CHANGE:
retina::client::Session::describe
now takes a newoptions: SessionOptions
. Thecreds
has moved into theoptions
, along with some new options. - BREAKING CHANGE: renamed
PlayPolicy
toPlayOptions
for consistency. - Added options to work around bugs found in Reolink cameras.
- #9. Improve compatibility
with how some cameras handle the
control
andRTP-Info
urls. This adopts a URL joining behavior which isn't RFC-compliant but seems to be more compatible in practice.
v0.1.0
(2021-08-13)
- use
SET_PARAMETERS
rather thanGET_PARAMETERS
for keepalives. The latter doesn't work with GW Security GW4089IP cameras. - removed
rtcp
dependency. Fixes #8. Avoids picking up various transitive dependencies needed by later versions of thertcp
crate, includingtokio
. (retina
's owntokio
dependency will likely become optional in a future version.)
v0.0.5
(2021-07-08)
- BREAKING CHANGE: New opaque error type with more uniform, richer error
messages. No more
failure
dependency. - BREAKING CHANGE:
retina::client::Stream::parameters
now returns parameters by value. This allows shrinking depacketizer types. - BREAKING CHANGE:
retina::codec::VideoFrame::new_parameters
is now boxed. This allows shrinkingVideoFrame
andCodecItem
by 80 bytes each (on 64-bit platforms). The box is only rarely populated. - in
client mp4
example, handle an initial video parameter change correctly.
v0.0.4
(2021-06-28)
- bugfix: Retina stopped receiving packets after receiving a keepalive response.
v0.0.3
(2021-06-28)
- BREAKING CHANGE:
Session<Playing>
now directly implementsStream
instead of throughpkts()
. - Performance improvements.
v0.0.2
(2021-06-25)
- BREAKING CHANGE: Video frames are now provided as a single, contiguous
Bytes
, and H.264 depacketization is more efficient (#4).
v0.0.1
(2021-06-09)
Initial release.