Giter VIP home page Giter VIP logo

rtp-rs's People

Contributors

sgodwincs avatar thinkchaos avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

thinkchaos

rtp-rs's Issues

Remove `PayloadTypeDecodeError` associated type

Ideally, PayloadType would be defined something like:

type PayloadType: TryFrom<u8, Error: Error + Into<HeaderDecodeError<Self>>>;

This can be done now with associated type bound, but it results in a lot of unnecessary where clauses, so this is blocked on implied bounds.

Represent `Profile` strictly as an enum

The current setup isn't ideal in my opinion. Ideally, enum variants as types would be supported which would allow a single enum with separate trait implementations per variant. This is particularly useful because it allows a different associated type per variant. With this approach, the header and packets would take an enum variant as a type parameter. Also, an enum is more appropriate as the set of profiles is closed.

Blocked on having enum variants as types (there isn't even an accept RFC yet)

Replace `Into` trait bound with `From` for `PayloadTypeDecodeError`

#1 should be done first.

This would remove the Into<HeaderDecodeError<Self> from PayloadTypeDecodeError and instead add a where clause on the trait:

where HeaderDecodeError<Self>: From<<Self::PayloadType as TryFrom<u8>>::Error>

This can be done now, but it results in a lot of unnecessary where clauses, so this is blocked on implied bounds.

Determine how timestamps should be typed

I don't have a great understanding of how timestamps work with RTP yet, but it seems that usage is very dependent on either the profile or the payload type being used.

Based on the above, it seems we need to type it based off of the profile being used, but it's also apparently possible to specify it dynamically through non-RTP means.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.