summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/input/librtsp/rtsp_session.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/input/librtsp/rtsp_session.c b/src/input/librtsp/rtsp_session.c
index 4bbdbc8b6..66890a6b3 100644
--- a/src/input/librtsp/rtsp_session.c
+++ b/src/input/librtsp/rtsp_session.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: rtsp_session.c,v 1.5 2002/12/16 23:17:34 holstsn Exp $
+ * $Id: rtsp_session.c,v 1.6 2002/12/16 23:53:50 holstsn Exp $
*
* high level interface to rtsp servers.
*/
@@ -80,7 +80,14 @@ connect:
}
/* looking for server type */
- server=strdup(rtsp_search_answers(rtsp_session->s,"Server"));
+ if (rtsp_search_answers(rtsp_session->s,"Server"))
+ server=strdup(rtsp_search_answers(rtsp_session->s,"Server"));
+ else {
+ if (rtsp_search_answers(rtsp_session->s,"RealChallenge1"))
+ server=strdup("Real");
+ else
+ server=strdup("unknown");
+ }
if (strstr(server,"Real"))
{
@@ -114,11 +121,14 @@ connect:
} else
{
- printf("non-real rtsp servers not supported yet.\n");
+ printf("rtsp_session: rtsp server type '%s' not supported yet. sorry.\n",server);
rtsp_close(rtsp_session->s);
+ free(server);
free(rtsp_session);
return NULL;
}
+ free(server);
+
return rtsp_session;
}