#2126 closed enhancement (fixed)
Implement RTCP Feedback — at Version 3
Reported by: | nanang | Owned by: | nanang |
---|---|---|---|
Priority: | normal | Milestone: | release-2.8 |
Component: | pjmedia | Version: | trunk |
Keywords: | Cc: | ||
Backport to 1.x milestone: | Backported: | no |
Description (last modified by nanang)
This ticket is an initial implementation of RFC 4585:
- PJMEDIA
- Interworking and coexistence of AVP & AVPF: modify SDP negotiation, transport proto checks in media transports, stream info, etc
- Implement RTCP-FB packets (generic NACK, NACK-PLI, SLI, RPSI) generation APIs.
- RTCP-FB support in SDP (https://tools.ietf.org/html/rfc4585#section-4).
- Parse RTCP-FB info from SDP and add the info into pjmedia_stream_info for RTCP-FB operational in the stream.
- Implement RTCP-FB functionality in audio stream, only generic NACK will be implemented.
- PJSUA/PJSUA2
- Add RTCP-FB setting structure into account config.
Monitoring RTCP-FB event in application
Application can monitor RTCP Feedback events by implementing PJSUA callback on_call_media_event or PJSUA2 callback Call::onCallMediaEvent(). Sample code for PJSUA:
static void on_call_media_event(pjsua_call_id call_id, unsigned med_idx, pjmedia_event *event) { if (event->type == PJMEDIA_EVENT_RX_RTCP_FB) { /* Incoming RTCP-FB event */ pjmedia_event_rx_rtcp_fb_data *fb_data = (pjmedia_event_rx_rtcp_fb_data*) event.data.ptr; if (fb_data->cap.type == PJMEDIA_RTCP_FB_NACK && fb_data->cap.param.slen == 0) { /* Generic NACK */ /* NACK message can be accessed via 'fb_data->msg.nack' */ ... } } }
Change History (3)
comment:1 Changed 6 years ago by nanang
- Resolution set to fixed
- Status changed from new to closed
comment:2 Changed 6 years ago by nanang
In 5825:
comment:3 Changed 6 years ago by nanang
- Description modified (diff)
Note: See
TracTickets for help on using
tickets.
In 5820: