int eof;
};
-static int sap_probe(AVProbeData *p)
+static int sap_probe(const AVProbeData *p)
{
if (av_strstart(p->filename, "sap:", NULL))
return AVPROBE_SCORE_MAX;
struct SAPState *sap = s->priv_data;
if (sap->sdp_ctx)
avformat_close_input(&sap->sdp_ctx);
- if (sap->ann_fd)
- ffurl_close(sap->ann_fd);
+ ffurl_closep(&sap->ann_fd);
av_freep(&sap->sdp);
ff_network_close();
return 0;
struct SAPState *sap = s->priv_data;
char host[1024], path[1024], url[1024];
uint8_t recvbuf[RTP_MAX_PACKET_LENGTH];
+ const AVInputFormat *infmt;
int port;
int ret, i;
- AVInputFormat* infmt;
if (!ff_network_init())
return AVERROR(EIO);
av_url_split(NULL, 0, NULL, 0, host, sizeof(host), &port,
- path, sizeof(path), s->filename);
+ path, sizeof(path), s->url);
if (port < 0)
port = 9875;
}
sap->sdp = av_strdup(&recvbuf[pos]);
+ if (!sap->sdp) {
+ ret = AVERROR(ENOMEM);
+ goto fail;
+ }
break;
}
int i = s->nb_streams;
AVStream *st = avformat_new_stream(s, NULL);
if (!st) {
- av_packet_unref(pkt);
return AVERROR(ENOMEM);
}
st->id = i;