How to connect on-receiving-rtcp signal in rtpsession?

Philippe Lalevée lalevee at emse.fr
Fri Jan 4 20:37:20 UTC 2019


Hello,
I finally managed to connect "on-receiving-rtcp" and "on-sending-rtcp" 
signals.  The problem was that the files gstrtpsession.h, rtpsession.h, 
rtpsource.h and rtpstats.h are not present after installation of the 
package "libgstreamer-plugins-good1.0-dev" under Ubuntu.  I had to 
install gst-plugins-good-1.14.4 sources to get these files.  I point out 
that 'make install' of gst-plugins-good does not install them.  Is there 
another way to do?

On Jan 09, 2016; 3:36am, Steven Presser sent a message titled "Can't get 
EOS using RTP/RTCP" on this list
(https://lists.freedesktop.org/archives/gstreamer-devel/2016-January/056048.html). 
As I have the same problem, I would like to know if it has been solved.

Happy New Year to all
Philippe

Le 31/12/2018 à 17:21, Philippe Lalevée a écrit :
> Hello,
> While awaiting the response of Sebastian, please help me ;-)
> because I could not /get the rtpsession object from the 
> "internal-session" property on the rtpsession element/, I tried to 
> intercept RTCP packets by setting a callback to sinks connected with 
> RTCP streams, using:
>> gst_pad_add_probe(srcpad, 
>> GST_PAD_PROBE_TYPE_BUFFER,(GstPadProbeCallback) rtcp_probe_cb, NULL, 
>> NULL);
> Is it the same as intercepting "on-{sending|receiving}-rtcp" signals?
>
> Thanks in advance,
> Philippe
>
> Le 27/12/2018 à 15:49, Philippe Lalevée a écrit :
>> Hello,
>> Thanks Sebastian for your reply.
>>
>> On 27/12/2018 at 10:23, Sebastian Dröge wrote :
>>> You can get the rtpsession object from the "internal-session" property
>>> on the rtpsession element.
>> Is that piece of code correct to associate a callback with the signal?
>>
>>     static gboolean on_sending_rtcp_cb(GstElement *bin, guint sessid,
>>     GstBuffer *buffer, gboolean early,
>>                                        GstElement *what_is_it)
>>     GstElement *rtpbin;
>>     GObject *session;
>>     RTPSession *rtpsession;
>>     ...
>>     g_signal_emit_by_name(rtpbin, "get-internal-session", 0, &session);
>>     g_object_get(session, "internal-session", &rtpsession);
>>     g_signal_connect(rtpsession, "on-sending-rtcp",
>>     G_CALLBACK(on_sending_rtcp_cb), NULL);
>>     ...
>>
>> Else could you give (me) an example of how to do that?
>> Best regards
>> Philippe
>>
>> -- 
>> *Philippe Lalevée*, Mines Saint-Etienne
>
> -- 
> *Philippe Lalevée*
> Directeur du campus GCP - Directeur du CMP
> *Tél.* : 26715 (04 42 61 67 15)

-- 
*Philippe Lalevée*
Directeur du campus GCP - Directeur du CMP
*Tél.* : 26715 (04 42 61 67 15)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190104/b20b0db3/attachment.html>


More information about the gstreamer-devel mailing list