Commit Graph

12 Commits

Author SHA1 Message Date
Scott Lamb
a36b01b715 fix clippy error 2022-05-11 11:37:09 -07:00
Scott Lamb
1b6491370f remove StreamContextRef type
Turns out it's not a problem to keep around a StreamContext, so let's
avoid the complexity of another public type (and another internal type).
2022-05-11 09:27:40 -07:00
Scott Lamb
2e34bf927e revamp Packet type
As described in #47 and #58: revamp this type to keep the full raw
packet, and provide accessors rather than raw fields. It's also
smaller now, which is nice.
2022-04-28 16:13:05 -07:00
Scott Lamb
8744bf52d3 split PacketContext and StreamContext
As listed in #47.

This improves throughput in the client/h264 benchmark by about 20%,
I think because we copy fewer bytes around. CodecItem went from 256
bytes to 176.
2022-04-28 16:12:54 -07:00
Scott Lamb
1ea14cbfaf fix roundtrip_h264 fuzz test bitrot
This broke with 6155d4eb.
2022-04-28 15:15:49 -07:00
Scott Lamb
31646b6ae9 clippy 2022-01-31 14:07:03 -08:00
Scott Lamb
9e9366f115 experimental UDP support (fixes #30)
* support setting transport to UDP
* breaking change: use new PacketContext rather than RtspMessageContext
  in places where an RTP/RTCP packet is expected, as it can now be over
  UDP instead of via RTSP interleaved data
* send teardown, which is important with UDP sessions. (It also will
  help somewhat with Reolink TCP.) Along the way, make Session Unpin
  so that teardown can consume it without tripping over tokio::pin!().
* refactor to shrink the amount of data used by Session and how much
  gets memmoved around on the stack, instead of further growing it.

Because of missing RTCP RR and reorder buffer support, this is only
appropriate for using on a LAN. That's enough for me right now.
2021-08-30 21:40:51 -07:00
Scott Lamb
d29129792e dust off fuzz tests
* make them build again
* reformat
* check those things on CI. probably too expensive to actually run them.
2021-08-19 13:16:16 -07:00
Scott Lamb
1279dec0c3 H.264 fixes, testing, packetizer
Fuzz testing found a few bugs in the new H.264 depacketizer.
Also add a H.264 packetizer. Currently it's just used for testing.
2021-06-25 16:39:48 -07:00
Scott Lamb
cd407ce93a add missing copyright header 2021-06-07 21:35:08 -07:00
Scott Lamb
954c181569 use my pr-sps-overflow branch of h264-reader
This makes fuzz testing get a bit farther at least.
2021-06-07 21:30:18 -07:00
Scott Lamb
45147200ce start h.264 fuzz testing 2021-06-07 18:12:45 -07:00