X-Git-Url: http://git.videolan.org/?p=ffmpeg.git;a=blobdiff_plain;f=libavformat%2Frtpdec_mpeg12.c;h=b059fcfa5bbc65754ad53336f75f113b1e83e0b8;hp=d1114693641e0a7e12aec524c5c0ffb5e5df934f;hb=7abd35a1ffaecfd79fa07b801621ee11ab595c43;hpb=a9c847c1baff09f954b12c1dcc832b4f601f6f6e diff --git a/libavformat/rtpdec_mpeg12.c b/libavformat/rtpdec_mpeg12.c index d111469364..b059fcfa5b 100644 --- a/libavformat/rtpdec_mpeg12.c +++ b/libavformat/rtpdec_mpeg12.c @@ -19,8 +19,17 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "rtpdec_formats.h" +#include "libavutil/attributes.h" #include "libavutil/intreadwrite.h" +#include "rtpdec_formats.h" + +static av_cold int mpeg_init(AVFormatContext *ctx, int st_index, PayloadContext *data) +{ + if (st_index < 0) + return 0; + ctx->streams[st_index]->need_parsing = AVSTREAM_PARSE_FULL; + return 0; +} static int mpeg_parse_packet(AVFormatContext *ctx, PayloadContext *data, AVStream *st, AVPacket *pkt, uint32_t *timestamp, @@ -50,6 +59,7 @@ static int mpeg_parse_packet(AVFormatContext *ctx, PayloadContext *data, RTPDynamicProtocolHandler ff_mpeg_audio_dynamic_handler = { .codec_type = AVMEDIA_TYPE_AUDIO, .codec_id = AV_CODEC_ID_MP3, + .init = mpeg_init, .parse_packet = mpeg_parse_packet, .static_payload_id = 14, }; @@ -57,6 +67,7 @@ RTPDynamicProtocolHandler ff_mpeg_audio_dynamic_handler = { RTPDynamicProtocolHandler ff_mpeg_video_dynamic_handler = { .codec_type = AVMEDIA_TYPE_VIDEO, .codec_id = AV_CODEC_ID_MPEG2VIDEO, + .init = mpeg_init, .parse_packet = mpeg_parse_packet, .static_payload_id = 32, };