summaryrefslogtreecommitdiffstats
path: root/gst/rtpmanager/gstrtpsession.c
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2008-01-11 17:02:30 +0000
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2009-08-11 02:30:33 +0100
commit6e6c59a198d7c04c54cbf990b7f1491042c05c7f (patch)
tree80b15b258bc88d7a923cc99bcfeea8939baaaebf /gst/rtpmanager/gstrtpsession.c
parent03d9faf5fa8e27f433d5c247801ec7257a7428f7 (diff)
gst/rtpmanager/gstrtpsession.c: If we find the caps in the cache, use it to parse the clock-rate instead of returning...
Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_clock_rate): If we find the caps in the cache, use it to parse the clock-rate instead of returning an error. Fixes a TODO as found by Youness Alaoui.
Diffstat (limited to 'gst/rtpmanager/gstrtpsession.c')
-rw-r--r--gst/rtpmanager/gstrtpsession.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gst/rtpmanager/gstrtpsession.c b/gst/rtpmanager/gstrtpsession.c
index ffdaf901..462dc6fb 100644
--- a/gst/rtpmanager/gstrtpsession.c
+++ b/gst/rtpmanager/gstrtpsession.c
@@ -1188,11 +1188,10 @@ gst_rtp_session_clock_rate (RTPSession * sess, guint8 payload,
GST_RTP_SESSION_LOCK (rtpsession);
ipayload = payload; /* make compiler happy */
caps = g_hash_table_lookup (priv->ptmap, GINT_TO_POINTER (ipayload));
- /* TODO : check if we should really goto done. This will return -1
- * instead of the clock rate of the caps we just found! */
if (caps)
- goto done;
+ goto found;
+ /* not found in the cache, try to get it with a signal */
g_value_init (&args[0], GST_TYPE_ELEMENT);
g_value_set_object (&args[0], rtpsession);
g_value_init (&args[1], G_TYPE_UINT);
@@ -1210,7 +1209,7 @@ gst_rtp_session_clock_rate (RTPSession * sess, guint8 payload,
gst_rtp_session_cache_caps (rtpsession, caps);
- /* TODO : This is where we should 'goto' */
+found:
s = gst_caps_get_structure (caps, 0);
if (!gst_structure_get_int (s, "clock-rate", &result))
goto no_clock_rate;