60a253073c
This was an attempt at #17 that didn't work out. Besides additionally hitting the framing error, my Reolink test camera never timed out the old session while the new one was in progress. This behavior is different than the vanilla 2013.04.06 live555 server, so apparently Reolink sprinkled in their own brokenness on top. In any case, the other solutions described in that bug are more likely to work. There's one narrow case I want to keep working: ignoring RTCP messages immediately prior to the PLAY response. More recent Reolink cameras do this. I just have this behavior on all the time now.
2.6 KiB
2.6 KiB
v0.3.0
(unreleased)
- 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.