Use of "on-sending-rtcp" signal

Philippe Lalevée philippe.lalevee at mines-stetienne.fr
Sat Jan 19 23:30:21 UTC 2019


Le 19/01/2019 à 20:13, Sebastian Dröge a écrit :
> On Sat, 2019-01-19 at 11:38 -0500, Nicolas Dufresne wrote:
>> Le samedi 19 janvier 2019 à 17:06 +0100, Philippe Lalevée a écrit :
>>> Hello I still have problems when using on-sending-rtcp/on-receiving
>>> signals (I would like to send RTCP packets of APP type).
>> The RTPSession API isn't public, I'm not sure it is correct to use
>> this from an application. I believe you should better describe what
>> you are trying to do.
> The rtpsession API is public, i.e. the signals and properties on the
> "internal-session" object of the rtpsession GStreamer element. People
> are using these in their applications for various things :)
>
> And the signals Philippe are mentioned can be used for including custom
> RTCP packets or receiving them. Not sure what the problem is he's
> running into though, a testcase (with code) to run and show the problem
> would probably help. But it seems he solved it already if I understand
> the last message correctly.
Unfortunately, that is not the case... What is solved is the 
transmission of APP packets from the listener to the talker, but not 
from the talker to the listener. My code is based on 
gst-plugins-good/tests/examples/rtp/{client-PCMA.c,server-alsasrc-PCMA.c}, 
see included test-rtcp.tar.xz. After doing make, on a machine B, execute 
'./gst_recv IP_A, and on the machine A, execute ./gst_send <file>.mp3 IP_B.

Traces on machine A :
> >on_sending_rtcp: (sess:1823933232,early:0,size:60)
> > #packets: 2
> >  packet: *type 201, RR ssrc: 77451595*
> >  packet: type 202
> > packet added: #packets: 3
> > buffer unmap...
>
> <on_receiving_rtcp: (sess:1823933232,size:124)
> < #packets: 3
> <  packet: *type 201, **RR ssrc: 3024040777*
> <  packet: type 202
> < *packet: type 204*
> < **** packets to process... soon ****
In bold, we can see that an APP packet is received.

Traces on machine B:
> <on_receiving_rtcp: (sess:475169152,size:80)
> < #packets: 2
> <  packet: *type 200, SR **ssrc: 4086197064*, rtp ts: 4010357965
> <  packet: type 202
> < **** packets to process... soon ****
>
> >on_sending_rtcp: (sess:475169152,early:0,size:80)
> > #packets: 2
> >  packet: *type 201, **RR ssrc: 3024040777*
> >  packet: type 202
> > packet added: #packets: 3
> > buffer unmap...
Traces in green show that transmission is OK from the listener (which 
sends an RR packet) to the talker (which receives the same RR packet). 
But, as you can see in red, the talker sends an RR packet (that is 
strange) while the listener receives an SR packet with different data, 
and there is no APP packet.
The questions are then why the talker sends an RR packet here ? and why 
the listener receives an SR reports ?
Thanks
Philippe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190120/ffe5a32c/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test-rtcp.tar.xz
Type: application/x-xz
Size: 15324 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190120/ffe5a32c/attachment-0001.xz>


More information about the gstreamer-devel mailing list