Mercurial > mplayer.hg
changeset 27103:a3f6dc43b585
Move rtsp_close away by simplification - avoids symbol clash with libnemesi
author | lu_zero |
---|---|
date | Wed, 25 Jun 2008 09:53:45 +0000 |
parents | 7acfd8c9c3bb |
children | 83d160a30ca7 |
files | stream/librtsp/rtsp.c stream/librtsp/rtsp.h stream/librtsp/rtsp_session.c |
diffstat | 3 files changed, 33 insertions(+), 33 deletions(-) [+] |
line wrap: on
line diff
--- a/stream/librtsp/rtsp.c Tue Jun 24 22:36:56 2008 +0000 +++ b/stream/librtsp/rtsp.c Wed Jun 25 09:53:45 2008 +0000 @@ -575,14 +575,22 @@ //rtsp_t *rtsp_connect(const char *mrl, const char *user_agent) { rtsp_t *rtsp_connect(int fd, char* mrl, char *path, char *host, int port, char *user_agent) { - rtsp_t *s=malloc(sizeof(rtsp_t)); + rtsp_t *s; int i; - + + if (fd < 0) { + mp_msg(MSGT_OPEN, MSGL_ERR, "rtsp: failed to connect to '%s'\n", host); + return NULL; + } + + s = malloc(sizeof(rtsp_t)); + for (i=0; i<MAX_FIELDS; i++) { s->answers[i]=NULL; s->scheduled[i]=NULL; } + s->s = fd; s->server=NULL; s->server_state=0; s->server_caps=0; @@ -605,13 +613,6 @@ s->param++; //mp_msg(MSGT_OPEN, MSGL_INFO, "path=%s\n", s->path); //mp_msg(MSGT_OPEN, MSGL_INFO, "param=%s\n", s->param ? s->param : "NULL"); - s->s = fd; - - if (s->s < 0) { - mp_msg(MSGT_OPEN, MSGL_ERR, "rtsp: failed to connect to '%s'\n", s->host); - rtsp_close(s); - return NULL; - } s->server_state=RTSP_CONNECTED; @@ -632,29 +633,6 @@ /* - * closes an rtsp connection - */ - -void rtsp_close(rtsp_t *s) { - - if (s->server_state) - { - if (s->server_state == RTSP_PLAYING) - rtsp_request_teardown (s, NULL); - closesocket (s->s); - } - - if (s->path) free(s->path); - if (s->host) free(s->host); - if (s->mrl) free(s->mrl); - if (s->session) free(s->session); - if (s->user_agent) free(s->user_agent); - rtsp_free_answers(s); - rtsp_unschedule_all(s); - free(s); -} - -/* * search in answers for tags. returns a pointer to the content * after the first matched tag. returns NULL if no match found. */
--- a/stream/librtsp/rtsp.h Tue Jun 24 22:36:56 2008 +0000 +++ b/stream/librtsp/rtsp.h Wed Jun 25 09:53:45 2008 +0000 @@ -66,7 +66,6 @@ void rtsp_free_answers(rtsp_t *this); int rtsp_read (rtsp_t *this, char *data, int len); -void rtsp_close (rtsp_t *this); void rtsp_set_session(rtsp_t *s, const char *id); char *rtsp_get_session(rtsp_t *s);
--- a/stream/librtsp/rtsp_session.c Tue Jun 24 22:36:56 2008 +0000 +++ b/stream/librtsp/rtsp_session.c Wed Jun 25 09:53:45 2008 +0000 @@ -73,6 +73,29 @@ struct rtp_rtsp_session_t* rtp_session; }; +/* + * closes an rtsp connection + */ + +static void rtsp_close(rtsp_t *s) { + + if (s->server_state) + { + if (s->server_state == RTSP_PLAYING) + rtsp_request_teardown (s, NULL); + closesocket (s->s); + } + + if (s->path) free(s->path); + if (s->host) free(s->host); + if (s->mrl) free(s->mrl); + if (s->session) free(s->session); + if (s->user_agent) free(s->user_agent); + rtsp_free_answers(s); + rtsp_unschedule_all(s); + free(s); +} + //rtsp_session_t *rtsp_session_start(char *mrl) { rtsp_session_t *rtsp_session_start(int fd, char **mrl, char *path, char *host, int port, int *redir, uint32_t bandwidth, char *user, char *pass) {