diff options
author | Wim Taymans <wim.taymans@collabora.co.uk> | 2009-12-24 22:23:01 +0100 |
---|---|---|
committer | Wim Taymans <wim@metal.(none)> | 2009-12-24 22:23:01 +0100 |
commit | a65240d1c148599e431bf2f0892dfaa507e73ae6 (patch) | |
tree | 6d654ffad98547d9843065c83f816dc36b1ab23d | |
parent | 3c0f18d765d86df2a545c4152b944a80d35f1631 (diff) |
rtspsrc: fix some comments, remove property check
Fix some comments, clarify some FIXMEs
Remove the on-ntp-stop signal check now that the jitterbuffer is in
-good and we know that it supports this signal.
-rw-r--r-- | gst/rtsp/gstrtspsrc.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index 5455002df..b0ef7f2a1 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -811,13 +811,17 @@ gst_rtspsrc_create_stream (GstRTSPSrc * src, GstSDPMessage * sdp, gint idx) stream->timebase = -1; /* collect bandwidth information for this steam */ gst_rtspsrc_collect_bandwidth (src, sdp, media, stream); /* we must have a payload. No payload means we cannot create caps */ - /* FIXME, handle multiple formats. */ + /* FIXME, handle multiple formats. The problem here is that we just want to + * take the first available format that we can handle but in order to do that + * we need to scan for depayloader plugins. Scanning for payloader plugins is + * also suboptimal because the user maybe just wants to save the raw stream + * and then we don't care. */ if ((payload = gst_sdp_media_get_format (media, 0))) { stream->pt = atoi (payload); /* convert caps */ stream->caps = gst_rtspsrc_media_to_caps (stream->pt, media); GST_DEBUG ("mapping sdp session level attributes to caps"); @@ -1200,13 +1204,17 @@ gst_rtspsrc_media_to_caps (gint pt, const GstSDPMedia * media) /* the key may not have a '=', the value can have other '='s */ valpos = strstr (pairs[i], "="); if (valpos) { /* we have a '=' and thus a value, remove the '=' with \0 */ *valpos = '\0'; - /* value is everything between '=' and ';'. FIXME, strip? */ + /* value is everything between '=' and ';'. We split the pairs at ; + * boundaries so we can take the remainder of the value. Some servers + * put spaces around the value which we strip off here. Alternatively + * we could strip those spaces in the depayloaders should these spaces + * actually carry any meaning in the future. */ val = g_strstrip (valpos + 1); } else { /* simple <param>;.. is translated into <param>=1;... */ val = "1"; } /* strip the key of spaces, convert key to lowercase but not the value. */ @@ -2088,19 +2096,14 @@ gst_rtspsrc_stream_configure_manager (GstRTSPSrc * src, GstRTSPStream * stream, g_signal_connect (src->session, "on-bye-ssrc", (GCallback) on_bye_ssrc, src); g_signal_connect (src->session, "on-bye-timeout", (GCallback) on_timeout, src); g_signal_connect (src->session, "on-timeout", (GCallback) on_timeout, src); - /* FIXME: remove this once the rtpjitterbuffer is in -good */ - if (g_signal_lookup ("on-npt-stop", G_OBJECT_TYPE (src->session)) != 0) { - g_signal_connect (src->session, "on-npt-stop", (GCallback) on_npt_stop, - src); - } else { - GST_INFO_OBJECT (src, "skipping on-npt-stop handling, not implemented"); - } + g_signal_connect (src->session, "on-npt-stop", (GCallback) on_npt_stop, + src); } /* we stream directly to the manager, get some pads. Each RTSP stream goes * into a separate RTP session. */ name = g_strdup_printf ("recv_rtp_sink_%d", stream->id); stream->channelpad[0] = gst_element_get_request_pad (src->session, name); |