rtpdec: Add ff_ prefix to all nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
318efbfc10
commit
bfc6db4477
@ -3169,8 +3169,8 @@ static void rtsp_cmd_setup(HTTPContext *c, const char *url,
|
|||||||
|
|
||||||
switch(rtp_c->rtp_protocol) {
|
switch(rtp_c->rtp_protocol) {
|
||||||
case RTSP_LOWER_TRANSPORT_UDP:
|
case RTSP_LOWER_TRANSPORT_UDP:
|
||||||
rtp_port = rtp_get_local_rtp_port(rtp_c->rtp_handles[stream_index]);
|
rtp_port = ff_rtp_get_local_rtp_port(rtp_c->rtp_handles[stream_index]);
|
||||||
rtcp_port = rtp_get_local_rtcp_port(rtp_c->rtp_handles[stream_index]);
|
rtcp_port = ff_rtp_get_local_rtcp_port(rtp_c->rtp_handles[stream_index]);
|
||||||
avio_printf(c->pb, "Transport: RTP/AVP/UDP;unicast;"
|
avio_printf(c->pb, "Transport: RTP/AVP/UDP;unicast;"
|
||||||
"client_port=%d-%d;server_port=%d-%d",
|
"client_port=%d-%d;server_port=%d-%d",
|
||||||
th->client_port_min, th->client_port_max,
|
th->client_port_min, th->client_port_max,
|
||||||
|
@ -218,7 +218,7 @@ static int rtp_valid_packet_in_sequence(RTPStatistics *s, uint16_t seq)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int rtp_check_and_send_back_rr(RTPDemuxContext *s, int count)
|
int ff_rtp_check_and_send_back_rr(RTPDemuxContext *s, int count)
|
||||||
{
|
{
|
||||||
AVIOContext *pb;
|
AVIOContext *pb;
|
||||||
uint8_t *buf;
|
uint8_t *buf;
|
||||||
@ -315,7 +315,7 @@ int rtp_check_and_send_back_rr(RTPDemuxContext *s, int count)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void rtp_send_punch_packets(URLContext* rtp_handle)
|
void ff_rtp_send_punch_packets(URLContext* rtp_handle)
|
||||||
{
|
{
|
||||||
AVIOContext *pb;
|
AVIOContext *pb;
|
||||||
uint8_t *buf;
|
uint8_t *buf;
|
||||||
@ -359,7 +359,7 @@ void rtp_send_punch_packets(URLContext* rtp_handle)
|
|||||||
* MPEG2TS streams to indicate that they should be demuxed inside the
|
* MPEG2TS streams to indicate that they should be demuxed inside the
|
||||||
* rtp demux (otherwise CODEC_ID_MPEG2TS packets are returned)
|
* rtp demux (otherwise CODEC_ID_MPEG2TS packets are returned)
|
||||||
*/
|
*/
|
||||||
RTPDemuxContext *rtp_parse_open(AVFormatContext *s1, AVStream *st, URLContext *rtpc, int payload_type, int queue_size)
|
RTPDemuxContext *ff_rtp_parse_open(AVFormatContext *s1, AVStream *st, URLContext *rtpc, int payload_type, int queue_size)
|
||||||
{
|
{
|
||||||
RTPDemuxContext *s;
|
RTPDemuxContext *s;
|
||||||
|
|
||||||
@ -407,8 +407,8 @@ RTPDemuxContext *rtp_parse_open(AVFormatContext *s1, AVStream *st, URLContext *r
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
rtp_parse_set_dynamic_protocol(RTPDemuxContext *s, PayloadContext *ctx,
|
ff_rtp_parse_set_dynamic_protocol(RTPDemuxContext *s, PayloadContext *ctx,
|
||||||
RTPDynamicProtocolHandler *handler)
|
RTPDynamicProtocolHandler *handler)
|
||||||
{
|
{
|
||||||
s->dynamic_protocol_context = ctx;
|
s->dynamic_protocol_context = ctx;
|
||||||
s->parse_packet = handler->parse_packet;
|
s->parse_packet = handler->parse_packet;
|
||||||
@ -722,8 +722,8 @@ static int rtp_parse_one_packet(RTPDemuxContext *s, AVPacket *pkt,
|
|||||||
* @return 0 if a packet is returned, 1 if a packet is returned and more can follow
|
* @return 0 if a packet is returned, 1 if a packet is returned and more can follow
|
||||||
* (use buf as NULL to read the next). -1 if no packet (error or no more packet).
|
* (use buf as NULL to read the next). -1 if no packet (error or no more packet).
|
||||||
*/
|
*/
|
||||||
int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
|
int ff_rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
|
||||||
uint8_t **bufptr, int len)
|
uint8_t **bufptr, int len)
|
||||||
{
|
{
|
||||||
int rv = rtp_parse_one_packet(s, pkt, bufptr, len);
|
int rv = rtp_parse_one_packet(s, pkt, bufptr, len);
|
||||||
s->prev_ret = rv;
|
s->prev_ret = rv;
|
||||||
@ -732,7 +732,7 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
|
|||||||
return rv ? rv : has_next_packet(s);
|
return rv ? rv : has_next_packet(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
void rtp_parse_close(RTPDemuxContext *s)
|
void ff_rtp_parse_close(RTPDemuxContext *s)
|
||||||
{
|
{
|
||||||
ff_rtp_reset_packet_queue(s);
|
ff_rtp_reset_packet_queue(s);
|
||||||
if (!strcmp(ff_rtp_enc_name(s->payload_type), "MP2T")) {
|
if (!strcmp(ff_rtp_enc_name(s->payload_type), "MP2T")) {
|
||||||
|
@ -38,18 +38,18 @@ typedef struct RTPDynamicProtocolHandler_s RTPDynamicProtocolHandler;
|
|||||||
#define RTP_NOTS_VALUE ((uint32_t)-1)
|
#define RTP_NOTS_VALUE ((uint32_t)-1)
|
||||||
|
|
||||||
typedef struct RTPDemuxContext RTPDemuxContext;
|
typedef struct RTPDemuxContext RTPDemuxContext;
|
||||||
RTPDemuxContext *rtp_parse_open(AVFormatContext *s1, AVStream *st, URLContext *rtpc, int payload_type, int queue_size);
|
RTPDemuxContext *ff_rtp_parse_open(AVFormatContext *s1, AVStream *st, URLContext *rtpc, int payload_type, int queue_size);
|
||||||
void rtp_parse_set_dynamic_protocol(RTPDemuxContext *s, PayloadContext *ctx,
|
void ff_rtp_parse_set_dynamic_protocol(RTPDemuxContext *s, PayloadContext *ctx,
|
||||||
RTPDynamicProtocolHandler *handler);
|
RTPDynamicProtocolHandler *handler);
|
||||||
int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
|
int ff_rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
|
||||||
uint8_t **buf, int len);
|
uint8_t **buf, int len);
|
||||||
void rtp_parse_close(RTPDemuxContext *s);
|
void ff_rtp_parse_close(RTPDemuxContext *s);
|
||||||
int64_t ff_rtp_queued_packet_time(RTPDemuxContext *s);
|
int64_t ff_rtp_queued_packet_time(RTPDemuxContext *s);
|
||||||
void ff_rtp_reset_packet_queue(RTPDemuxContext *s);
|
void ff_rtp_reset_packet_queue(RTPDemuxContext *s);
|
||||||
int rtp_get_local_rtp_port(URLContext *h);
|
int ff_rtp_get_local_rtp_port(URLContext *h);
|
||||||
int rtp_get_local_rtcp_port(URLContext *h);
|
int ff_rtp_get_local_rtcp_port(URLContext *h);
|
||||||
|
|
||||||
int rtp_set_remote_url(URLContext *h, const char *uri);
|
int ff_rtp_set_remote_url(URLContext *h, const char *uri);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send a dummy packet on both port pairs to set up the connection
|
* Send a dummy packet on both port pairs to set up the connection
|
||||||
@ -62,19 +62,19 @@ int rtp_set_remote_url(URLContext *h, const char *uri);
|
|||||||
* The same routine is used with RDT too, even if RDT doesn't use normal
|
* The same routine is used with RDT too, even if RDT doesn't use normal
|
||||||
* RTP packets otherwise.
|
* RTP packets otherwise.
|
||||||
*/
|
*/
|
||||||
void rtp_send_punch_packets(URLContext* rtp_handle);
|
void ff_rtp_send_punch_packets(URLContext* rtp_handle);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* some rtp servers assume client is dead if they don't hear from them...
|
* some rtp servers assume client is dead if they don't hear from them...
|
||||||
* so we send a Receiver Report to the provided ByteIO context
|
* so we send a Receiver Report to the provided ByteIO context
|
||||||
* (we don't have access to the rtcp handle from here)
|
* (we don't have access to the rtcp handle from here)
|
||||||
*/
|
*/
|
||||||
int rtp_check_and_send_back_rr(RTPDemuxContext *s, int count);
|
int ff_rtp_check_and_send_back_rr(RTPDemuxContext *s, int count);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the file handle for the RTCP socket.
|
* Get the file handle for the RTCP socket.
|
||||||
*/
|
*/
|
||||||
int rtp_get_rtcp_file_handle(URLContext *h);
|
int ff_rtp_get_rtcp_file_handle(URLContext *h);
|
||||||
|
|
||||||
// these statistics are used for rtcp receiver reports...
|
// these statistics are used for rtcp receiver reports...
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -60,7 +60,7 @@ typedef struct RTPContext {
|
|||||||
* @return zero if no error.
|
* @return zero if no error.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int rtp_set_remote_url(URLContext *h, const char *uri)
|
int ff_rtp_set_remote_url(URLContext *h, const char *uri)
|
||||||
{
|
{
|
||||||
RTPContext *s = h->priv_data;
|
RTPContext *s = h->priv_data;
|
||||||
char hostname[256];
|
char hostname[256];
|
||||||
@ -300,7 +300,7 @@ static int rtp_close(URLContext *h)
|
|||||||
* @return the local port number
|
* @return the local port number
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int rtp_get_local_rtp_port(URLContext *h)
|
int ff_rtp_get_local_rtp_port(URLContext *h)
|
||||||
{
|
{
|
||||||
RTPContext *s = h->priv_data;
|
RTPContext *s = h->priv_data;
|
||||||
return ff_udp_get_local_port(s->rtp_hd);
|
return ff_udp_get_local_port(s->rtp_hd);
|
||||||
@ -312,7 +312,7 @@ int rtp_get_local_rtp_port(URLContext *h)
|
|||||||
* @return the local port number
|
* @return the local port number
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int rtp_get_local_rtcp_port(URLContext *h)
|
int ff_rtp_get_local_rtcp_port(URLContext *h)
|
||||||
{
|
{
|
||||||
RTPContext *s = h->priv_data;
|
RTPContext *s = h->priv_data;
|
||||||
return ff_udp_get_local_port(s->rtcp_hd);
|
return ff_udp_get_local_port(s->rtcp_hd);
|
||||||
@ -324,7 +324,7 @@ static int rtp_get_file_handle(URLContext *h)
|
|||||||
return s->rtp_fd;
|
return s->rtp_fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
int rtp_get_rtcp_file_handle(URLContext *h) {
|
int ff_rtp_get_rtcp_file_handle(URLContext *h) {
|
||||||
RTPContext *s = h->priv_data;
|
RTPContext *s = h->priv_data;
|
||||||
return s->rtcp_fd;
|
return s->rtcp_fd;
|
||||||
}
|
}
|
||||||
|
@ -501,7 +501,7 @@ void ff_rtsp_undo_setup(AVFormatContext *s)
|
|||||||
} else if (rt->transport == RTSP_TRANSPORT_RDT && CONFIG_RTPDEC)
|
} else if (rt->transport == RTSP_TRANSPORT_RDT && CONFIG_RTPDEC)
|
||||||
ff_rdt_parse_close(rtsp_st->transport_priv);
|
ff_rdt_parse_close(rtsp_st->transport_priv);
|
||||||
else if (CONFIG_RTPDEC)
|
else if (CONFIG_RTPDEC)
|
||||||
rtp_parse_close(rtsp_st->transport_priv);
|
ff_rtp_parse_close(rtsp_st->transport_priv);
|
||||||
}
|
}
|
||||||
rtsp_st->transport_priv = NULL;
|
rtsp_st->transport_priv = NULL;
|
||||||
if (rtsp_st->rtp_handle)
|
if (rtsp_st->rtp_handle)
|
||||||
@ -558,7 +558,7 @@ static int rtsp_open_transport_ctx(AVFormatContext *s, RTSPStream *rtsp_st)
|
|||||||
rtsp_st->dynamic_protocol_context,
|
rtsp_st->dynamic_protocol_context,
|
||||||
rtsp_st->dynamic_handler);
|
rtsp_st->dynamic_handler);
|
||||||
else if (CONFIG_RTPDEC)
|
else if (CONFIG_RTPDEC)
|
||||||
rtsp_st->transport_priv = rtp_parse_open(s, st, rtsp_st->rtp_handle,
|
rtsp_st->transport_priv = ff_rtp_parse_open(s, st, rtsp_st->rtp_handle,
|
||||||
rtsp_st->sdp_payload_type,
|
rtsp_st->sdp_payload_type,
|
||||||
(rt->lower_transport == RTSP_LOWER_TRANSPORT_TCP || !s->max_delay)
|
(rt->lower_transport == RTSP_LOWER_TRANSPORT_TCP || !s->max_delay)
|
||||||
? 0 : RTP_REORDER_QUEUE_DEFAULT_SIZE);
|
? 0 : RTP_REORDER_QUEUE_DEFAULT_SIZE);
|
||||||
@ -567,9 +567,9 @@ static int rtsp_open_transport_ctx(AVFormatContext *s, RTSPStream *rtsp_st)
|
|||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
} else if (rt->transport != RTSP_TRANSPORT_RDT && CONFIG_RTPDEC) {
|
} else if (rt->transport != RTSP_TRANSPORT_RDT && CONFIG_RTPDEC) {
|
||||||
if (rtsp_st->dynamic_handler) {
|
if (rtsp_st->dynamic_handler) {
|
||||||
rtp_parse_set_dynamic_protocol(rtsp_st->transport_priv,
|
ff_rtp_parse_set_dynamic_protocol(rtsp_st->transport_priv,
|
||||||
rtsp_st->dynamic_protocol_context,
|
rtsp_st->dynamic_protocol_context,
|
||||||
rtsp_st->dynamic_handler);
|
rtsp_st->dynamic_handler);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1121,7 +1121,7 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port,
|
|||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
rtp_opened:
|
rtp_opened:
|
||||||
port = rtp_get_local_rtp_port(rtsp_st->rtp_handle);
|
port = ff_rtp_get_local_rtp_port(rtsp_st->rtp_handle);
|
||||||
have_port:
|
have_port:
|
||||||
snprintf(transport, sizeof(transport) - 1,
|
snprintf(transport, sizeof(transport) - 1,
|
||||||
"%s/UDP;", trans_pref);
|
"%s/UDP;", trans_pref);
|
||||||
@ -1225,7 +1225,7 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port,
|
|||||||
reply->transports[0].server_port_min, "%s", options);
|
reply->transports[0].server_port_min, "%s", options);
|
||||||
}
|
}
|
||||||
if (!(rt->server_type == RTSP_SERVER_WMS && i > 1) &&
|
if (!(rt->server_type == RTSP_SERVER_WMS && i > 1) &&
|
||||||
rtp_set_remote_url(rtsp_st->rtp_handle, url) < 0) {
|
ff_rtp_set_remote_url(rtsp_st->rtp_handle, url) < 0) {
|
||||||
err = AVERROR_INVALIDDATA;
|
err = AVERROR_INVALIDDATA;
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
@ -1235,7 +1235,7 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port,
|
|||||||
*/
|
*/
|
||||||
if (!(rt->server_type == RTSP_SERVER_WMS && i > 1) && s->iformat &&
|
if (!(rt->server_type == RTSP_SERVER_WMS && i > 1) && s->iformat &&
|
||||||
CONFIG_RTPDEC)
|
CONFIG_RTPDEC)
|
||||||
rtp_send_punch_packets(rtsp_st->rtp_handle);
|
ff_rtp_send_punch_packets(rtsp_st->rtp_handle);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case RTSP_LOWER_TRANSPORT_UDP_MULTICAST: {
|
case RTSP_LOWER_TRANSPORT_UDP_MULTICAST: {
|
||||||
@ -1569,7 +1569,7 @@ static int udp_read_packet(AVFormatContext *s, RTSPStream **prtsp_st,
|
|||||||
if (rtsp_st->rtp_handle) {
|
if (rtsp_st->rtp_handle) {
|
||||||
p[max_p].fd = ffurl_get_file_handle(rtsp_st->rtp_handle);
|
p[max_p].fd = ffurl_get_file_handle(rtsp_st->rtp_handle);
|
||||||
p[max_p++].events = POLLIN;
|
p[max_p++].events = POLLIN;
|
||||||
p[max_p].fd = rtp_get_rtcp_file_handle(rtsp_st->rtp_handle);
|
p[max_p].fd = ff_rtp_get_rtcp_file_handle(rtsp_st->rtp_handle);
|
||||||
p[max_p++].events = POLLIN;
|
p[max_p++].events = POLLIN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1624,7 +1624,7 @@ int ff_rtsp_fetch_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
if (rt->transport == RTSP_TRANSPORT_RDT) {
|
if (rt->transport == RTSP_TRANSPORT_RDT) {
|
||||||
ret = ff_rdt_parse_packet(rt->cur_transport_priv, pkt, NULL, 0);
|
ret = ff_rdt_parse_packet(rt->cur_transport_priv, pkt, NULL, 0);
|
||||||
} else
|
} else
|
||||||
ret = rtp_parse_packet(rt->cur_transport_priv, pkt, NULL, 0);
|
ret = ff_rtp_parse_packet(rt->cur_transport_priv, pkt, NULL, 0);
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
rt->cur_transport_priv = NULL;
|
rt->cur_transport_priv = NULL;
|
||||||
return 0;
|
return 0;
|
||||||
@ -1672,13 +1672,13 @@ int ff_rtsp_fetch_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
case RTSP_LOWER_TRANSPORT_UDP_MULTICAST:
|
case RTSP_LOWER_TRANSPORT_UDP_MULTICAST:
|
||||||
len = udp_read_packet(s, &rtsp_st, rt->recvbuf, RECVBUF_SIZE, wait_end);
|
len = udp_read_packet(s, &rtsp_st, rt->recvbuf, RECVBUF_SIZE, wait_end);
|
||||||
if (len > 0 && rtsp_st->transport_priv && rt->transport == RTSP_TRANSPORT_RTP)
|
if (len > 0 && rtsp_st->transport_priv && rt->transport == RTSP_TRANSPORT_RTP)
|
||||||
rtp_check_and_send_back_rr(rtsp_st->transport_priv, len);
|
ff_rtp_check_and_send_back_rr(rtsp_st->transport_priv, len);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (len == AVERROR(EAGAIN) && first_queue_st &&
|
if (len == AVERROR(EAGAIN) && first_queue_st &&
|
||||||
rt->transport == RTSP_TRANSPORT_RTP) {
|
rt->transport == RTSP_TRANSPORT_RTP) {
|
||||||
rtsp_st = first_queue_st;
|
rtsp_st = first_queue_st;
|
||||||
ret = rtp_parse_packet(rtsp_st->transport_priv, pkt, NULL, 0);
|
ret = ff_rtp_parse_packet(rtsp_st->transport_priv, pkt, NULL, 0);
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
if (len < 0)
|
if (len < 0)
|
||||||
@ -1688,7 +1688,7 @@ int ff_rtsp_fetch_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
if (rt->transport == RTSP_TRANSPORT_RDT) {
|
if (rt->transport == RTSP_TRANSPORT_RDT) {
|
||||||
ret = ff_rdt_parse_packet(rtsp_st->transport_priv, pkt, &rt->recvbuf, len);
|
ret = ff_rdt_parse_packet(rtsp_st->transport_priv, pkt, &rt->recvbuf, len);
|
||||||
} else {
|
} else {
|
||||||
ret = rtp_parse_packet(rtsp_st->transport_priv, pkt, &rt->recvbuf, len);
|
ret = ff_rtp_parse_packet(rtsp_st->transport_priv, pkt, &rt->recvbuf, len);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
/* Either bad packet, or a RTCP packet. Check if the
|
/* Either bad packet, or a RTCP packet. Check if the
|
||||||
* first_rtcp_ntp_time field was initialized. */
|
* first_rtcp_ntp_time field was initialized. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user