--- a/gst_plugins_base/gst-libs/gst/rtsp/gstrtsprange.c Tue Aug 31 15:30:33 2010 +0300
+++ b/gst_plugins_base/gst-libs/gst/rtsp/gstrtsprange.c Wed Sep 01 12:16:41 2010 +0100
@@ -69,7 +69,7 @@
static GstRTSPResult
parse_npt_time (const gchar * str, GstRTSPTime * time)
{
- if (strncmp (str, "now", 3) == 0) {
+ if (strcmp (str, "now") == 0) {
time->type = GST_RTSP_TIME_NOW;
} else if (str[0] == '\0') {
time->type = GST_RTSP_TIME_END;
@@ -167,10 +167,9 @@
} else
goto invalid;
- if (ret != GST_RTSP_OK)
- goto invalid;
+ if (ret == GST_RTSP_OK)
+ *range = res;
- *range = res;
return ret;
/* ERRORS */
@@ -181,88 +180,6 @@
}
}
-static gboolean
-npt_time_string (const GstRTSPTime * time, GString * string)
-{
- gboolean res = TRUE;;
-
- switch (time->type) {
- case GST_RTSP_TIME_SECONDS:
- g_string_append_printf (string, "%f", time->seconds);
- break;
- case GST_RTSP_TIME_NOW:
- g_string_append (string, "now");
- break;
- case GST_RTSP_TIME_END:
- break;
- default:
- res = FALSE;
- break;
- }
- return res;
-}
-
-static gboolean
-npt_range_string (const GstRTSPTimeRange * range, GString * string)
-{
- gboolean res;
-
- if (!(res = npt_time_string (&range->min, string)))
- goto done;
-
- g_string_append (string, "-");
-
- if (!(res = npt_time_string (&range->max, string)))
- goto done;
-
-done:
- return res;
-}
-
-/**
- * gst_rtsp_range_to_string:
- * @range: a #GstRTSPTimeRange
- *
- * Convert @range into a string representation.
- *
- * Returns: The string representation of @range. g_free() after usage.
- *
- * Since: 0.10.23
- */
-gchar *
-gst_rtsp_range_to_string (const GstRTSPTimeRange * range)
-{
- gchar *result = NULL;
- GString *string;
-
- g_return_val_if_fail (range != NULL, NULL);
-
- string = g_string_new ("");
-
- switch (range->unit) {
- case GST_RTSP_RANGE_NPT:
- g_string_append (string, "npt=");
- if (!npt_range_string (range, string)) {
- g_string_free (string, TRUE);
- string = NULL;
- }
- break;
- case GST_RTSP_RANGE_SMPTE:
- case GST_RTSP_RANGE_SMPTE_30_DROP:
- case GST_RTSP_RANGE_SMPTE_25:
- case GST_RTSP_RANGE_CLOCK:
- default:
- g_warning ("time range unit not yet implemented");
- g_string_free (string, TRUE);
- string = NULL;
- break;
- }
- if (string)
- result = g_string_free (string, FALSE);
-
- return result;
-}
-
/**
* gst_rtsp_range_free:
* @range: a #GstRTSPTimeRange
@@ -272,5 +189,8 @@
void
gst_rtsp_range_free (GstRTSPTimeRange * range)
{
+ if (range == NULL)
+ return;
+
g_free (range);
}