After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 703016 - gst-rtsp-server: check client rtp session handling
gst-rtsp-server: check client rtp session handling
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-rtsp-server
git master
Other Linux
: Normal enhancement
: 1.2.3
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-06-25 00:14 UTC by Aleix Conchillo Flaqué
Modified: 2014-02-25 22:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
check rtp session handling helpers (4.74 KB, patch)
2013-06-25 00:23 UTC, Aleix Conchillo Flaqué
none Details | Review
check rtp session handling helpers (4.79 KB, patch)
2013-06-25 00:39 UTC, Aleix Conchillo Flaqué
none Details | Review

Description Aleix Conchillo Flaqué 2013-06-25 00:14:44 UTC
It would be good to know if a client handles a given RTP session. For example, in the RTP session signal callbacks (e.g. on-ssrc-active) it is difficult to find out which RTSP client this session belongs to.
Comment 1 Aleix Conchillo Flaqué 2013-06-25 00:23:09 UTC
Created attachment 247692 [details] [review]
check rtp session handling helpers

Not sure if this is the right (or best) way to do this. Actually it is only a pointer equality test, but it comes in handy if you want to do the correlation between an RTSP client and a GstRTSPStream or RTP session.
Comment 2 Aleix Conchillo Flaqué 2013-06-25 00:39:38 UTC
Created attachment 247693 [details] [review]
check rtp session handling helpers

Last one had the wrong commit message.
Comment 3 Wim Taymans 2013-06-26 14:35:58 UTC
Multiple clients can all use the same session (when shared), if you have a client, you can find the sessions that it uses by following the media it handles and then the streams of the media.

Your patch uses gst_rtsp_client_get_uri() with is not exactly what you want to do. the uri property is an internal property to manage the last cached media object.
Comment 4 Wim Taymans 2013-06-26 15:20:11 UTC
Here's a more generic method to iterate the sessions of a client. You can then get to the media and streams etc.

commit ffd4b1aaf11bd2a9755e83768f018640a9e7f19f
Author: Wim Taymans <wim.taymans@collabora.co.uk>
Date:   Wed Jun 26 17:18:33 2013 +0200

    client: add method to filter managed sessions
    
    Add a method to filter the sessions managed by this client connection.
    
    See https://bugzilla.gnome.org/show_bug.cgi?id=703016
Comment 5 Aleix Conchillo Flaqué 2013-06-26 23:02:02 UTC
Nice, thanks!

Actually I have a reference of a client and in the RTP session on-ssrc-active signal I want to know the corresponding client.

There is no direct way to do this, AFAIK. But with this function, I can iterate through all sessions, media, streams and transport and can check the SSRC from the transport.

However, I just filed a bug 703158 with, I think, a faster way to achieve this.
Comment 6 Aleix Conchillo Flaqué 2013-06-28 14:35:58 UTC
This is already done, so marking it as fixed.