mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-27 13:30:45 +00:00
rtpdec: Add an init function that can do custom codec context initialization
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
7bb3e62594
commit
2583660664
@ -122,6 +122,7 @@ struct RTPDynamicProtocolHandler_s {
|
|||||||
* require any custom depacketization code. */
|
* require any custom depacketization code. */
|
||||||
|
|
||||||
// may be null
|
// may be null
|
||||||
|
int (*init)(AVFormatContext *s, int st_index, PayloadContext *priv_data); ///< Initialize dynamic protocol handler, called after the full rtpmap line is parsed
|
||||||
int (*parse_sdp_a_line) (AVFormatContext *s,
|
int (*parse_sdp_a_line) (AVFormatContext *s,
|
||||||
int st_index,
|
int st_index,
|
||||||
PayloadContext *priv_data,
|
PayloadContext *priv_data,
|
||||||
|
@ -251,6 +251,9 @@ static int sdp_parse_rtpmap(AVFormatContext *s,
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if (rtsp_st->dynamic_handler && rtsp_st->dynamic_handler->init)
|
||||||
|
rtsp_st->dynamic_handler->init(s, st->index,
|
||||||
|
rtsp_st->dynamic_protocol_context);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -387,6 +390,9 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
|
|||||||
handler = ff_rtp_handler_find_by_id(
|
handler = ff_rtp_handler_find_by_id(
|
||||||
rtsp_st->sdp_payload_type, st->codec->codec_type);
|
rtsp_st->sdp_payload_type, st->codec->codec_type);
|
||||||
init_rtp_handler(handler, rtsp_st, st->codec);
|
init_rtp_handler(handler, rtsp_st, st->codec);
|
||||||
|
if (handler && handler->init)
|
||||||
|
handler->init(s, st->index,
|
||||||
|
rtsp_st->dynamic_protocol_context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* put a default control url */
|
/* put a default control url */
|
||||||
|
Loading…
Reference in New Issue
Block a user