summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/rdt.c4
-rw-r--r--libavformat/rtp_h264.c5
-rw-r--r--libavformat/rtp_internal.h3
-rw-r--r--libavformat/rtsp.c6
4 files changed, 11 insertions, 7 deletions
diff --git a/libavformat/rdt.c b/libavformat/rdt.c
index 5a1bae737e..a86cb6f780 100644
--- a/libavformat/rdt.c
+++ b/libavformat/rdt.c
@@ -405,8 +405,10 @@ rdt_parse_b64buf (unsigned int *target_len, const char *p)
}
static int
-rdt_parse_sdp_line (AVStream *stream, PayloadContext *rdt, const char *line)
+rdt_parse_sdp_line (AVFormatContext *s, int st_index,
+ PayloadContext *rdt, const char *line)
{
+ AVStream *stream = s->streams[st_index];
const char *p = line;
if (av_strstart(p, "OpaqueData:buffer;", &p)) {
diff --git a/libavformat/rtp_h264.c b/libavformat/rtp_h264.c
index bc298527ec..7d6f96c6b5 100644
--- a/libavformat/rtp_h264.c
+++ b/libavformat/rtp_h264.c
@@ -348,9 +348,10 @@ static void h264_free_extradata(PayloadContext *data)
av_free(data);
}
-static int parse_h264_sdp_line(AVStream * stream, PayloadContext *h264_data,
- const char *line)
+static int parse_h264_sdp_line(AVFormatContext *s, int st_index,
+ PayloadContext *h264_data, const char *line)
{
+ AVStream *stream = s->streams[st_index];
AVCodecContext *codec = stream->codec;
const char *p = line;
diff --git a/libavformat/rtp_internal.h b/libavformat/rtp_internal.h
index 80c81cbf72..201011b382 100644
--- a/libavformat/rtp_internal.h
+++ b/libavformat/rtp_internal.h
@@ -66,7 +66,8 @@ struct RTPDynamicProtocolHandler_s {
enum CodecID codec_id;
// may be null
- int (*parse_sdp_a_line) (AVStream * stream,
+ int (*parse_sdp_a_line) (AVFormatContext *s,
+ int st_index,
PayloadContext *priv_data,
const char *line); ///< Parse the a= line from the sdp field
PayloadContext *(*open) (); ///< allocate any data needed by the rtp parsing for this dynamic data.
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 33f0e5539e..e73a173bb0 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -518,7 +518,7 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
rtsp_st = st->priv_data;
if (rtsp_st->sdp_payload_type == payload_type) {
if(rtsp_st->dynamic_handler && rtsp_st->dynamic_handler->parse_sdp_a_line) {
- if(!rtsp_st->dynamic_handler->parse_sdp_a_line(st, rtsp_st->dynamic_protocol_context, buf)) {
+ if(!rtsp_st->dynamic_handler->parse_sdp_a_line(s, i, rtsp_st->dynamic_protocol_context, buf)) {
sdp_parse_fmtp(st, p);
}
} else {
@@ -535,7 +535,7 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
rtsp_st = st->priv_data;
if (rtsp_st->sdp_payload_type == payload_type) {
if(rtsp_st->dynamic_handler && rtsp_st->dynamic_handler->parse_sdp_a_line) {
- rtsp_st->dynamic_handler->parse_sdp_a_line(st, rtsp_st->dynamic_protocol_context, buf);
+ rtsp_st->dynamic_handler->parse_sdp_a_line(s, i, rtsp_st->dynamic_protocol_context, buf);
}
}
}
@@ -553,7 +553,7 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
rtsp_st = s->streams[s->nb_streams - 1]->priv_data;
if (rtsp_st->dynamic_handler &&
rtsp_st->dynamic_handler->parse_sdp_a_line)
- rtsp_st->dynamic_handler->parse_sdp_a_line(s->streams[s->nb_streams - 1],
+ rtsp_st->dynamic_handler->parse_sdp_a_line(s, s->nb_streams - 1,
rtsp_st->dynamic_protocol_context, buf);
}
break;