Scott Lamb
555e8bf373
clippy, take 2
2022-01-31 14:17:07 -08:00
Scott Lamb
31646b6ae9
clippy
2022-01-31 14:07:03 -08:00
Scott Lamb
602718eabb
comment and warning cleanup
2022-01-31 13:54:13 -08:00
Scott Lamb
cc78d3b8a6
test and fix AAC fragment loss handling
...
Fixes #48
2022-01-31 13:51:31 -08:00
Scott Lamb
b26d8a93a7
test+fix AAC depacketization happy path
...
Formerly interior fragments wouldn't get appended to the buffer, so
depacketization would inevitably fail.
This is progress toward #48 .
2022-01-31 11:59:41 -08:00
Scott Lamb
1a00b5e92a
properly request unicast with udp
...
https://github.com/scottlamb/moonfire-nvr/issues/192#issuecomment-1025396306
RFC 2326 section 12.39 says if this is omitted, it defaults to
multicast. Retina doesn't support multicast, so explicitly say unicast.
This was already done correctly for TCP but not for UDP.
2022-01-30 21:33:03 -08:00
Scott Lamb
499d658352
mp4 example: allow in-band h264 params
...
Fixes #43
2022-01-30 21:18:47 -08:00
Scott Lamb
e4be827a63
prep v0.3.7
2022-01-28 09:17:22 -08:00
Scott Lamb
7ce611358d
clarify what a video frame is
2022-01-28 09:15:27 -08:00
Greg V
dc0d307382
H.264: do not panic when parsing sprop-parameter-sets
...
This .unwrap() call would panic on e.g. an empty string, which
it would get from 'fmtp:96 ' (empty parameters).
This is for example produced by v4l2-rtspserver when it
fails to extract SPS/PPS from the first (?) packet:
d0da079177/src/H264_V4l2DeviceSource.cpp (L52)
2022-01-26 14:25:23 -08:00
Scott Lamb
663ff74104
changelog: fix link formatting
2022-01-26 01:13:52 -08:00
Scott Lamb
c0595a67f5
improve timestamp docs, take 2
...
In take 1, I put some of the most important information on private
fields, so it wouldn't show up on public docs. Let's fix that now.
2022-01-26 01:04:00 -08:00
Scott Lamb
e0ec40db96
improve timestamp docs
2022-01-26 00:17:55 -08:00
Scott Lamb
ddb73ea3c6
update overall crate status
2022-01-25 23:42:59 -08:00
Scott Lamb
8a8bb3d50e
clarify H.264 frame format
2022-01-25 23:39:27 -08:00
Scott Lamb
1145ed053e
remove claim that other IO modes aren't too hard
...
Since writing that text, I've made some design decisions that complicate
this:
* dropping a Session uses tokio::runtime::Handle::spawn
* keepalives are tracked with a tokio::time::Sleep
* I support UDP (so multiple sockets per session), which means the
blocking API would have to use extra threads or async IO behind the
scenes.
I might make decisions that complicate it further, e.g. having a tokio
task for each socket rather than polling them all in Session::poll_next.
It's of course still *possible* to support async-std and/or a blocking
API if there's demand. It'd require more duplicate logic/APIs now, so
I'm not excited about the possibility.
2022-01-25 16:20:38 -08:00
Scott Lamb
d50e7481ee
clearer docs for Stream::parameters
...
I'm not sure I'm satisfied with the current behavior after Demuxed's
poll_next returns Pending, but better to document it than not.
2022-01-25 15:50:04 -08:00
Scott Lamb
8ab5808054
Merge pull request #49 from flussonic/dev
...
Add verbose output to stream info and info cmd to example client
2022-01-12 08:22:46 -08:00
Yegor Bayev
b47ab977c4
remove fmt_option
2022-01-12 10:50:53 +03:00
Yegor Bayev
101a842dec
switch debug info from Display to Debug for Stream and UdpSockets structs
2022-01-11 17:23:19 +03:00
Yegor Bayev
d29f1251f7
fix output typo "RTP payload time" -> "type"
2022-01-10 20:27:15 +03:00
Yegor Bayev
b1987ec963
cargo check fix
2022-01-10 20:06:05 +03:00
Yegor Bayev
dc615dbc57
update README with basic auth feature support
2022-01-10 18:45:28 +03:00
Yegor Bayev
091ee0f18e
add info cmd to example client, README update
2022-01-10 18:44:35 +03:00
Yegor Bayev
82be42af87
add verbose output to Stream struct in client module
2022-01-10 18:44:18 +03:00
Scott Lamb
e551337c91
prep v0.3.6
2021-12-29 22:06:21 -08:00
Scott Lamb
7b1d87aa5e
add missing file for recent tests
2021-12-29 22:06:08 -08:00
Scott Lamb
c72ee2f9dc
add more logging around session expiration
2021-12-29 22:02:53 -08:00
Scott Lamb
cf08d1faa6
expire live555 stale file descriptor sessions
2021-12-29 21:58:29 -08:00
Scott Lamb
3187be6c41
test teardown & normal session expiration
2021-12-29 21:24:17 -08:00
Scott Lamb
9a519c8e25
make SessionGroup::await_stale_sessions Send
2021-12-29 20:32:27 -08:00
Scott Lamb
bcc885474b
test #46 behavior for completeness
2021-12-29 14:57:00 -08:00
Scott Lamb
0178e7fbc2
Merge pull request #46 from unrelentingtech/interleaved
...
Allow interleaved data on RTP as well
2021-12-29 10:11:08 -08:00
Greg V
74b30d5f71
Allow interleaved data on RTP as well
...
This is necessary for at least some versions of
https://github.com/mpromonet/v4l2rtspserver
2021-12-29 20:25:57 +03:00
Scott Lamb
9c85a2dd80
prepare v0.3.5
2021-11-30 12:38:34 -08:00
Scott Lamb
e1f09771e1
cargo update
2021-11-30 11:41:39 -08:00
Scott Lamb
4b9a726a84
documentation improvements
2021-11-30 11:35:53 -08:00
Scott Lamb
a63497eb09
remove obsolete TODO
2021-11-30 09:40:53 -08:00
Scott Lamb
01c8780a4d
H.264: don't require valid out-of-band params
...
It's allowed for a server to send only in-band parameters, although I
haven't encountered this yet. The VStarcam cameras sometimes send
invalid out-of-band parameters; treat that as if it sent nothing.
Fixes #42
2021-11-30 09:39:32 -08:00
Scott Lamb
cd841b9f80
better error when no streams are selected
...
Fixes #41
2021-11-29 09:51:27 -08:00
Scott Lamb
330ee843b5
Cargo.lock: http-auth 0.1.3 -> 0.1.4
2021-11-21 21:04:23 -08:00
Scott Lamb
35575b7551
prep v0.3.4
2021-10-26 21:32:54 -07:00
Scott Lamb
990293faf1
cargo update
...
This doesn't matter for users of the library, just CI and folks
building retina and its examples.
2021-10-26 21:31:29 -07:00
Scott Lamb
80a342e50a
use rtsp-types 0.0.3
2021-10-26 21:30:25 -07:00
Scott Lamb
969afbf96c
v0.3.3, fix #25 : better HTTP auth support
2021-10-20 14:43:36 -07:00
Scott Lamb
3a3f01118e
prepare v0.3.2
2021-09-29 05:48:36 -07:00
Scott Lamb
82169bcef9
mention TEARDOWN improvements in changelog
...
Fixes #34
2021-09-29 05:30:58 -07:00
Scott Lamb
824f0d257c
include TEARDOWN status in debug msgs
2021-09-29 05:28:20 -07:00
Scott Lamb
86b5f449e9
API for waiting out stale sessions
2021-09-28 21:49:12 -07:00
Scott Lamb
49612617a0
treat TEARDOWN 500 response as OK (sigh)
...
for #34
Details in the new code comment, but this avoids an unnecessary wait
for session expiration with (at least some) Hikvision cameras.
2021-09-28 16:57:55 -07:00