]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/rtpdec_mpeg12.c
bfin: hpeldsp: Split no_rnd pixel operations off into a separate file
[ffmpeg] / libavformat / rtpdec_mpeg12.c
index d1114693641e0a7e12aec524c5c0ffb5e5df934f..b059fcfa5bbc65754ad53336f75f113b1e83e0b8 100644 (file)
  * 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,
 };