ystreet / rtp-types Goto Github PK
View Code? Open in Web Editor NEWRust library for parsing or writing RTP packets as specified RFC 3550 and other RFCs
License: Apache License 2.0
Rust library for parsing or writing RTP packets as specified RFC 3550 and other RFCs
License: Apache License 2.0
Somewhat related to #4
It would be nice if RtpPacketBuilder
would be generic over the payload type (this can be added in a backwards-compatible way by making it RtpPacketBuilder<T = &'a [u8]>
), and a custom callback for writing out the data could be provided to write_into()
.
This way one could provide a custom type for the payload and "collect" chunks as they're written out to avoid copies. Header/padding would still have to be passed to that function as a &[u8]
, but actual payload could be taken over more cheaply by e.g. using bytes::Bytes
or a gst::Memory
and then collecting the packet in multiple chunks that are then sent over the network via sendmsg()
.
Could make it some kind of RtpPacketMut
(better name please) that derefs into the normal RtpPacket
for reading purposes, and in addition to the fixed headers it could also give mutable access to specific header extension bytes and the CSRC array (so e.g. CSRCs can be changed but not added/removed).
RtpPacketBuilder::write_into()
requires a mutable slice. Unfortunately, a mutable slice always has to be initialized completely, which is suboptimal here.
Generally, some API around Writer
might be nice to have.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.