Daxbot / librtp

Real-time Transport Protocol
MIT License
7 stars 5 forks source link

Need rtcp nack, pli and fir #5

Open 29654761 opened 1 year ago

29654761 commented 1 year ago

Librtp is a very helpful library. It has helped me a lot. Thanks to the authors. But I noticed that librtp does not implement some rtcp commands link nack, pli and fir. Do you have any plans to improve it?

wilkinsw commented 1 year ago

My original intention was to only support RFC 3550. It looks like you need some extensions added in RFC 4585 and RFC 6642.

I'm definitely interested in looking into those, but I don't have the time right now. I'd be happy to review a pull request if you want to implement it yourself.

29654761 commented 1 year ago

Ok I will push after I finish the test, It may take a long time.

kgbook commented 1 year ago

Ok I will push after I finish the test, It may take a long time.

Hi, @29654761 RTCP_RTPFB and RTCP_PSFB are undefined.

rtcp_fb.c:100:12: error: use of undeclared identifier 'RTCP_RTPFB'
rtcp_fb.c:100:32: error: use of undeclared identifier 'RTCP_PSFB'
kgbook commented 1 year ago

It should be defined as below according to RFC4585 6.1: Common Packet Format for Feedback Messages

#define  RTCP_RTPFB  205
#define  PSFB      206

or

typedef enum {
    RTCP_SR   = 200,
    RTCP_RR   = 201,
    RTCP_SDES = 202,
    RTCP_BYE  = 203,
    RTCP_APP  = 204,
    RTCP_RTPFB = 205,  // Transport layer FB message
    RTCP_PSFB = 206    // Payload-specific FB message
} rtcp_packet_type;