Prefix non-static RTSP functions with ff_.

Originally committed as revision 21974 to svn://svn.ffmpeg.org/ffmpeg/trunk
release/0.6
Ronald S. Bultje 15 years ago
parent fc5607f862
commit 3307e6ea86
  1. 2
      ffserver.c
  2. 2
      libavformat/rtp_h264.c
  3. 2
      libavformat/rtpdec.h
  4. 2
      libavformat/rtpdec_amr.c
  5. 70
      libavformat/rtsp.c
  6. 19
      libavformat/rtsp.h
  7. 12
      libavformat/rtspenc.c

@ -2693,7 +2693,7 @@ static int rtsp_parse_request(HTTPContext *c)
len = sizeof(line) - 1;
memcpy(line, p, len);
line[len] = '\0';
rtsp_parse_line(header, line);
ff_rtsp_parse_line(header, line);
p = p1 + 1;
}

@ -388,7 +388,7 @@ static int parse_h264_sdp_line(AVFormatContext *s, int st_index,
while (*p && *p == ' ') p++; // strip trailing spaces.
/* loop on each attribute */
while (rtsp_next_attr_and_value
while (ff_rtsp_next_attr_and_value
(&p, attr, sizeof(attr), value, sizeof(value))) {
/* grab the codec extra_data from the config parameter of the fmtp line */
sdp_parse_fmtp_config_h264(stream, h264_data, attr, value);

@ -192,7 +192,7 @@ struct RTPDemuxContext {
extern RTPDynamicProtocolHandler *RTPFirstDynamicPayloadHandler;
void ff_register_dynamic_payload_handler(RTPDynamicProtocolHandler *handler);
int rtsp_next_attr_and_value(const char **p, char *attr, int attr_size, char *value, int value_size); ///< from rtsp.c, but used by rtp dynamic protocol handlers.
int ff_rtsp_next_attr_and_value(const char **p, char *attr, int attr_size, char *value, int value_size); ///< from rtsp.c, but used by rtp dynamic protocol handlers.
void av_register_rtp_dynamic_payload_handlers(void);

@ -141,7 +141,7 @@ static int amr_parse_sdp_line(AVFormatContext *s, int st_index,
while (*p && *p != ' ') p++; /* eat protocol identifier */
while (*p && *p == ' ') p++; /* strip trailing spaces */
while (rtsp_next_attr_and_value(&p, attr, sizeof(attr), value, sizeof(value))) {
while (ff_rtsp_next_attr_and_value(&p, attr, sizeof(attr), value, sizeof(value))) {
if (!strcmp(attr, "octet-align"))
octet_align = atoi(value);
else if (!strcmp(attr, "crc"))

@ -250,7 +250,7 @@ static const AttrNameMap attr_names[]=
/* parse the attribute line from the fmtp a line of an sdp resonse. This
* is broken out as a function because it is used in rtp_h264.c, which is
* forthcoming. */
int rtsp_next_attr_and_value(const char **p, char *attr, int attr_size,
int ff_rtsp_next_attr_and_value(const char **p, char *attr, int attr_size,
char *value, int value_size)
{
skip_spaces(p);
@ -279,7 +279,7 @@ static void sdp_parse_fmtp(AVStream *st, const char *p)
RTPPayloadData *rtp_payload_data = &rtsp_st->rtp_payload_data;
/* loop on each attribute */
while (rtsp_next_attr_and_value(&p, attr, sizeof(attr),
while (ff_rtsp_next_attr_and_value(&p, attr, sizeof(attr),
value, sizeof(value))) {
/* grab the codec extra_data from the config parameter of the fmtp
* line */
@ -572,7 +572,7 @@ static int sdp_parse(AVFormatContext *s, const char *content)
}
/* close and free RTSP streams */
void rtsp_close_streams(AVFormatContext *s)
void ff_rtsp_close_streams(AVFormatContext *s)
{
RTSPState *rt = s->priv_data;
int i;
@ -819,7 +819,7 @@ static void rtsp_parse_transport(RTSPMessageHeader *reply, const char *p)
}
}
void rtsp_parse_line(RTSPMessageHeader *reply, const char *buf)
void ff_rtsp_parse_line(RTSPMessageHeader *reply, const char *buf)
{
const char *p;
@ -881,7 +881,7 @@ static void rtsp_skip_packet(AVFormatContext *s)
}
}
int rtsp_read_reply(AVFormatContext *s, RTSPMessageHeader *reply,
int ff_rtsp_read_reply(AVFormatContext *s, RTSPMessageHeader *reply,
unsigned char **content_ptr,
int return_on_interleaved_data)
{
@ -932,7 +932,7 @@ int rtsp_read_reply(AVFormatContext *s, RTSPMessageHeader *reply,
get_word(buf1, sizeof(buf1), &p);
reply->status_code = atoi(buf1);
} else {
rtsp_parse_line(reply, p);
ff_rtsp_parse_line(reply, p);
av_strlcat(rt->last_reply, p, sizeof(rt->last_reply));
av_strlcat(rt->last_reply, "\n", sizeof(rt->last_reply));
}
@ -968,7 +968,7 @@ int rtsp_read_reply(AVFormatContext *s, RTSPMessageHeader *reply,
return 0;
}
void rtsp_send_cmd_with_content_async(AVFormatContext *s,
void ff_rtsp_send_cmd_with_content_async(AVFormatContext *s,
const char *cmd,
const unsigned char *send_content,
int send_content_length)
@ -1000,30 +1000,30 @@ void rtsp_send_cmd_with_content_async(AVFormatContext *s,
rt->last_cmd_time = av_gettime();
}
void rtsp_send_cmd_async(AVFormatContext *s, const char *cmd)
void ff_rtsp_send_cmd_async(AVFormatContext *s, const char *cmd)
{
rtsp_send_cmd_with_content_async(s, cmd, NULL, 0);
ff_rtsp_send_cmd_with_content_async(s, cmd, NULL, 0);
}
void rtsp_send_cmd(AVFormatContext *s,
void ff_rtsp_send_cmd(AVFormatContext *s,
const char *cmd, RTSPMessageHeader *reply,
unsigned char **content_ptr)
{
rtsp_send_cmd_async(s, cmd);
ff_rtsp_send_cmd_async(s, cmd);
rtsp_read_reply(s, reply, content_ptr, 0);
ff_rtsp_read_reply(s, reply, content_ptr, 0);
}
void rtsp_send_cmd_with_content(AVFormatContext *s,
void ff_rtsp_send_cmd_with_content(AVFormatContext *s,
const char *cmd,
RTSPMessageHeader *reply,
unsigned char **content_ptr,
const unsigned char *send_content,
int send_content_length)
{
rtsp_send_cmd_with_content_async(s, cmd, send_content, send_content_length);
ff_rtsp_send_cmd_with_content_async(s, cmd, send_content, send_content_length);
rtsp_read_reply(s, reply, content_ptr, 0);
ff_rtsp_read_reply(s, reply, content_ptr, 0);
}
/**
@ -1162,7 +1162,7 @@ static int make_setup_request(AVFormatContext *s, const char *host, int port,
"RealChallenge2: %s, sd=%s\r\n",
rt->session_id, real_res, real_csum);
}
rtsp_send_cmd(s, cmd, reply, NULL);
ff_rtsp_send_cmd(s, cmd, reply, NULL);
if (reply->status_code == 461 /* Unsupported protocol */ && i == 0) {
err = 1;
goto fail;
@ -1282,7 +1282,7 @@ static int rtsp_read_play(AVFormatContext *s)
rt->control_uri,
(double)rt->seek_timestamp / AV_TIME_BASE);
}
rtsp_send_cmd(s, cmd, reply, NULL);
ff_rtsp_send_cmd(s, cmd, reply, NULL);
if (reply->status_code != RTSP_STATUS_OK) {
return -1;
}
@ -1313,7 +1313,7 @@ static int rtsp_setup_input_streams(AVFormatContext *s)
"Require: com.real.retain-entity-for-setup\r\n",
sizeof(cmd));
}
rtsp_send_cmd(s, cmd, reply, &content);
ff_rtsp_send_cmd(s, cmd, reply, &content);
if (!content)
return AVERROR_INVALIDDATA;
if (reply->status_code != RTSP_STATUS_OK) {
@ -1351,7 +1351,7 @@ static int rtsp_setup_output_streams(AVFormatContext *s)
return AVERROR_INVALIDDATA;
}
av_log(s, AV_LOG_INFO, "SDP:\n%s\n", sdp);
rtsp_send_cmd_with_content(s, cmd, reply, NULL, sdp, strlen(sdp));
ff_rtsp_send_cmd_with_content(s, cmd, reply, NULL, sdp, strlen(sdp));
av_free(sdp);
if (reply->status_code != RTSP_STATUS_OK)
return AVERROR_INVALIDDATA;
@ -1378,7 +1378,7 @@ static int rtsp_setup_output_streams(AVFormatContext *s)
return 0;
}
int rtsp_connect(AVFormatContext *s)
int ff_rtsp_connect(AVFormatContext *s)
{
RTSPState *rt = s->priv_data;
char host[1024], path[1024], tcpname[1024], cmd[2048], auth[128];
@ -1478,7 +1478,7 @@ redirect:
"CompanyID: KnKV4M4I/B2FjJ1TToLycw==\r\n"
"GUID: 00000000-0000-0000-0000-000000000000\r\n",
sizeof(cmd));
rtsp_send_cmd(s, cmd, reply, NULL);
ff_rtsp_send_cmd(s, cmd, reply, NULL);
if (reply->status_code != RTSP_STATUS_OK) {
err = AVERROR_INVALIDDATA;
goto fail;
@ -1522,7 +1522,7 @@ redirect:
rt->seek_timestamp = 0; /* default is to start stream at position zero */
return 0;
fail:
rtsp_close_streams(s);
ff_rtsp_close_streams(s);
url_close(rt->rtsp_hd);
if (reply->status_code >=300 && reply->status_code < 400 && s->iformat) {
av_strlcpy(s->filename, reply->location, sizeof(s->filename));
@ -1542,7 +1542,7 @@ static int rtsp_read_header(AVFormatContext *s,
RTSPState *rt = s->priv_data;
int ret;
ret = rtsp_connect(s);
ret = ff_rtsp_connect(s);
if (ret)
return ret;
@ -1550,7 +1550,7 @@ static int rtsp_read_header(AVFormatContext *s,
/* do not start immediately */
} else {
if (rtsp_read_play(s) < 0) {
rtsp_close_streams(s);
ff_rtsp_close_streams(s);
url_close(rt->rtsp_hd);
return AVERROR_INVALIDDATA;
}
@ -1611,7 +1611,7 @@ static int udp_read_packet(AVFormatContext *s, RTSPStream **prtsp_st,
if (tcp_fd != -1 && FD_ISSET(tcp_fd, &rfds)) {
RTSPMessageHeader reply;
rtsp_read_reply(s, &reply, NULL, 0);
ff_rtsp_read_reply(s, &reply, NULL, 0);
/* XXX: parse message */
if (rt->state != RTSP_STATE_STREAMING)
return 0;
@ -1635,7 +1635,7 @@ redo:
for (;;) {
RTSPMessageHeader reply;
ret = rtsp_read_reply(s, &reply, NULL, 1);
ret = ff_rtsp_read_reply(s, &reply, NULL, 1);
if (ret == -1)
return -1;
if (ret == 1) /* received '$' */
@ -1751,7 +1751,7 @@ static int rtsp_read_packet(AVFormatContext *s, AVPacket *pkt)
"SET_PARAMETER %s RTSP/1.0\r\n"
"Unsubscribe: %s\r\n",
rt->control_uri, rt->last_subscription);
rtsp_send_cmd(s, cmd, reply, NULL);
ff_rtsp_send_cmd(s, cmd, reply, NULL);
if (reply->status_code != RTSP_STATUS_OK)
return AVERROR_INVALIDDATA;
rt->need_subscription = 1;
@ -1787,7 +1787,7 @@ static int rtsp_read_packet(AVFormatContext *s, AVPacket *pkt)
}
}
av_strlcatf(cmd, sizeof(cmd), "%s\r\n", rt->last_subscription);
rtsp_send_cmd(s, cmd, reply, NULL);
ff_rtsp_send_cmd(s, cmd, reply, NULL);
if (reply->status_code != RTSP_STATUS_OK)
return AVERROR_INVALIDDATA;
rt->need_subscription = 0;
@ -1809,9 +1809,9 @@ static int rtsp_read_packet(AVFormatContext *s, AVPacket *pkt)
snprintf(cmd, sizeof(cmd) - 1,
"GET_PARAMETER %s RTSP/1.0\r\n",
rt->control_uri);
rtsp_send_cmd_async(s, cmd);
ff_rtsp_send_cmd_async(s, cmd);
} else {
rtsp_send_cmd_async(s, "OPTIONS * RTSP/1.0\r\n");
ff_rtsp_send_cmd_async(s, "OPTIONS * RTSP/1.0\r\n");
}
}
@ -1833,7 +1833,7 @@ static int rtsp_read_pause(AVFormatContext *s)
snprintf(cmd, sizeof(cmd),
"PAUSE %s RTSP/1.0\r\n",
rt->control_uri);
rtsp_send_cmd(s, cmd, reply, NULL);
ff_rtsp_send_cmd(s, cmd, reply, NULL);
if (reply->status_code != RTSP_STATUS_OK) {
return -1;
}
@ -1882,9 +1882,9 @@ static int rtsp_read_close(AVFormatContext *s)
snprintf(cmd, sizeof(cmd),
"TEARDOWN %s RTSP/1.0\r\n",
s->filename);
rtsp_send_cmd_async(s, cmd);
ff_rtsp_send_cmd_async(s, cmd);
rtsp_close_streams(s);
ff_rtsp_close_streams(s);
url_close(rt->rtsp_hd);
return 0;
}
@ -1964,13 +1964,13 @@ static int sdp_read_header(AVFormatContext *s, AVFormatParameters *ap)
}
return 0;
fail:
rtsp_close_streams(s);
ff_rtsp_close_streams(s);
return err;
}
static int sdp_read_close(AVFormatContext *s)
{
rtsp_close_streams(s);
ff_rtsp_close_streams(s);
return 0;
}

@ -315,7 +315,7 @@ typedef struct RTSPStream {
//@}
} RTSPStream;
void rtsp_parse_line(RTSPMessageHeader *reply, const char *buf);
void ff_rtsp_parse_line(RTSPMessageHeader *reply, const char *buf);
#if LIBAVFORMAT_VERSION_INT < (53 << 16)
extern int rtsp_default_protocols;
@ -323,9 +323,6 @@ extern int rtsp_default_protocols;
extern int rtsp_rtp_port_min;
extern int rtsp_rtp_port_max;
int rtsp_pause(AVFormatContext *s);
int rtsp_resume(AVFormatContext *s);
/**
* Send a command to the RTSP server without waiting for the reply.
*
@ -335,7 +332,7 @@ int rtsp_resume(AVFormatContext *s);
* @param send_content_length the length of the send_content data, or 0 if
* send_content is null
*/
void rtsp_send_cmd_with_content_async(AVFormatContext *s,
void ff_rtsp_send_cmd_with_content_async(AVFormatContext *s,
const char *cmd,
const unsigned char *send_content,
int send_content_length);
@ -344,7 +341,7 @@ void rtsp_send_cmd_with_content_async(AVFormatContext *s,
*
* @see rtsp_send_cmd_with_content_async
*/
void rtsp_send_cmd_async(AVFormatContext *s, const char *cmd);
void ff_rtsp_send_cmd_async(AVFormatContext *s, const char *cmd);
/**
* Send a command to the RTSP server and wait for the reply.
@ -358,7 +355,7 @@ void rtsp_send_cmd_async(AVFormatContext *s, const char *cmd);
* @param send_content_length the length of the send_content data, or 0 if
* send_content is null
*/
void rtsp_send_cmd_with_content(AVFormatContext *s,
void ff_rtsp_send_cmd_with_content(AVFormatContext *s,
const char *cmd,
RTSPMessageHeader *reply,
unsigned char **content_ptr,
@ -370,7 +367,7 @@ void rtsp_send_cmd_with_content(AVFormatContext *s,
*
* @see rtsp_send_cmd_with_content
*/
void rtsp_send_cmd(AVFormatContext *s, const char *cmd,
void ff_rtsp_send_cmd(AVFormatContext *s, const char *cmd,
RTSPMessageHeader *reply, unsigned char **content_ptr);
/**
@ -394,7 +391,7 @@ void rtsp_send_cmd(AVFormatContext *s, const char *cmd,
* @returns 1 if a data packets is ready to be received, -1 on error,
* and 0 on success.
*/
int rtsp_read_reply(AVFormatContext *s, RTSPMessageHeader *reply,
int ff_rtsp_read_reply(AVFormatContext *s, RTSPMessageHeader *reply,
unsigned char **content_ptr,
int return_on_interleaved_data);
@ -407,13 +404,13 @@ int rtsp_read_reply(AVFormatContext *s, RTSPMessageHeader *reply,
* @returns 0 on success, < 0 on error. Cleans up all allocations done
* within the function on error.
*/
int rtsp_connect(AVFormatContext *s);
int ff_rtsp_connect(AVFormatContext *s);
/**
* Close and free all streams within the RTSP (de)muxer
*
* @param s RTSP (de)muxer context
*/
void rtsp_close_streams(AVFormatContext *s);
void ff_rtsp_close_streams(AVFormatContext *s);
#endif /* AVFORMAT_RTSP_H */

@ -39,7 +39,7 @@ static int rtsp_write_record(AVFormatContext *s)
"Range: npt=%0.3f-\r\n",
s->filename,
(double) 0);
rtsp_send_cmd(s, cmd, reply, NULL);
ff_rtsp_send_cmd(s, cmd, reply, NULL);
if (reply->status_code != RTSP_STATUS_OK)
return -1;
rt->state = RTSP_STATE_STREAMING;
@ -51,12 +51,12 @@ static int rtsp_write_header(AVFormatContext *s)
RTSPState *rt = s->priv_data;
int ret;
ret = rtsp_connect(s);
ret = ff_rtsp_connect(s);
if (ret)
return ret;
if (rtsp_write_record(s) < 0) {
rtsp_close_streams(s);
ff_rtsp_close_streams(s);
url_close(rt->rtsp_hd);
return AVERROR_INVALIDDATA;
}
@ -83,7 +83,7 @@ static int rtsp_write_packet(AVFormatContext *s, AVPacket *pkt)
if (FD_ISSET(tcp_fd, &rfds)) {
RTSPMessageHeader reply;
if (rtsp_read_reply(s, &reply, NULL, 0) < 0)
if (ff_rtsp_read_reply(s, &reply, NULL, 0) < 0)
return AVERROR(EPIPE);
/* XXX: parse message */
if (rt->state != RTSP_STATE_STREAMING)
@ -108,9 +108,9 @@ static int rtsp_write_close(AVFormatContext *s)
snprintf(cmd, sizeof(cmd),
"TEARDOWN %s RTSP/1.0\r\n",
s->filename);
rtsp_send_cmd_async(s, cmd);
ff_rtsp_send_cmd_async(s, cmd);
rtsp_close_streams(s);
ff_rtsp_close_streams(s);
url_close(rt->rtsp_hd);
return 0;
}

Loading…
Cancel
Save