Commit 11fb6258 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit '2b982e92'

* commit '2b982e92':
  rtpdec: Set need_parsing via a handler field
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 4c8a556a 2b982e92
...@@ -31,15 +31,6 @@ struct PayloadContext { ...@@ -31,15 +31,6 @@ struct PayloadContext {
AVIOContext *fragment; AVIOContext *fragment;
}; };
static av_cold int ac3_init(AVFormatContext *s, int st_index,
PayloadContext *data)
{
if (st_index < 0)
return 0;
s->streams[st_index]->need_parsing = AVSTREAM_PARSE_FULL;
return 0;
}
static PayloadContext *ac3_new_context(void) static PayloadContext *ac3_new_context(void)
{ {
return av_mallocz(sizeof(PayloadContext)); return av_mallocz(sizeof(PayloadContext));
...@@ -150,7 +141,7 @@ RTPDynamicProtocolHandler ff_ac3_dynamic_handler = { ...@@ -150,7 +141,7 @@ RTPDynamicProtocolHandler ff_ac3_dynamic_handler = {
.enc_name = "ac3", .enc_name = "ac3",
.codec_type = AVMEDIA_TYPE_AUDIO, .codec_type = AVMEDIA_TYPE_AUDIO,
.codec_id = AV_CODEC_ID_AC3, .codec_id = AV_CODEC_ID_AC3,
.init = ac3_init, .need_parsing = AVSTREAM_PARSE_FULL,
.alloc = ac3_new_context, .alloc = ac3_new_context,
.free = ac3_free_context, .free = ac3_free_context,
.parse_packet = ac3_handle_packet, .parse_packet = ac3_handle_packet,
......
...@@ -50,19 +50,6 @@ static av_cold void dv_free_context(PayloadContext *data) ...@@ -50,19 +50,6 @@ static av_cold void dv_free_context(PayloadContext *data)
av_free(data); av_free(data);
} }
static av_cold int dv_init(AVFormatContext *ctx, int st_index,
PayloadContext *data)
{
av_dlog(ctx, "dv_init() for stream %d\n", st_index);
if (st_index < 0)
return 0;
ctx->streams[st_index]->need_parsing = AVSTREAM_PARSE_FULL;
return 0;
}
static av_cold int dv_sdp_parse_fmtp_config(AVFormatContext *s, static av_cold int dv_sdp_parse_fmtp_config(AVFormatContext *s,
AVStream *stream, AVStream *stream,
PayloadContext *dv_data, PayloadContext *dv_data,
...@@ -161,7 +148,7 @@ RTPDynamicProtocolHandler ff_dv_dynamic_handler = { ...@@ -161,7 +148,7 @@ RTPDynamicProtocolHandler ff_dv_dynamic_handler = {
.enc_name = "DV", .enc_name = "DV",
.codec_type = AVMEDIA_TYPE_VIDEO, .codec_type = AVMEDIA_TYPE_VIDEO,
.codec_id = AV_CODEC_ID_DVVIDEO, .codec_id = AV_CODEC_ID_DVVIDEO,
.init = dv_init, .need_parsing = AVSTREAM_PARSE_FULL,
.parse_sdp_a_line = dv_parse_sdp_line, .parse_sdp_a_line = dv_parse_sdp_line,
.alloc = dv_new_context, .alloc = dv_new_context,
.free = dv_free_context, .free = dv_free_context,
......
...@@ -60,17 +60,6 @@ static av_cold void h261_free_context(PayloadContext *pl_ctx) ...@@ -60,17 +60,6 @@ static av_cold void h261_free_context(PayloadContext *pl_ctx)
av_free(pl_ctx); av_free(pl_ctx);
} }
static av_cold int h261_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 h261_handle_packet(AVFormatContext *ctx, PayloadContext *rtp_h261_ctx, static int h261_handle_packet(AVFormatContext *ctx, PayloadContext *rtp_h261_ctx,
AVStream *st, AVPacket *pkt, uint32_t *timestamp, AVStream *st, AVPacket *pkt, uint32_t *timestamp,
const uint8_t *buf, int len, uint16_t seq, const uint8_t *buf, int len, uint16_t seq,
...@@ -194,7 +183,7 @@ RTPDynamicProtocolHandler ff_h261_dynamic_handler = { ...@@ -194,7 +183,7 @@ RTPDynamicProtocolHandler ff_h261_dynamic_handler = {
.enc_name = "H261", .enc_name = "H261",
.codec_type = AVMEDIA_TYPE_VIDEO, .codec_type = AVMEDIA_TYPE_VIDEO,
.codec_id = AV_CODEC_ID_H261, .codec_id = AV_CODEC_ID_H261,
.init = h261_init, .need_parsing = AVSTREAM_PARSE_FULL,
.alloc = h261_new_context, .alloc = h261_new_context,
.free = h261_free_context, .free = h261_free_context,
.parse_packet = h261_handle_packet, .parse_packet = h261_handle_packet,
......
...@@ -24,15 +24,6 @@ ...@@ -24,15 +24,6 @@
#include "libavutil/attributes.h" #include "libavutil/attributes.h"
#include "libavutil/intreadwrite.h" #include "libavutil/intreadwrite.h"
static av_cold int h263_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;
}
int ff_h263_handle_packet(AVFormatContext *ctx, PayloadContext *data, int ff_h263_handle_packet(AVFormatContext *ctx, PayloadContext *data,
AVStream *st, AVPacket *pkt, uint32_t *timestamp, AVStream *st, AVPacket *pkt, uint32_t *timestamp,
const uint8_t *buf, int len, uint16_t seq, int flags) const uint8_t *buf, int len, uint16_t seq, int flags)
...@@ -102,7 +93,7 @@ RTPDynamicProtocolHandler ff_h263_1998_dynamic_handler = { ...@@ -102,7 +93,7 @@ RTPDynamicProtocolHandler ff_h263_1998_dynamic_handler = {
.enc_name = "H263-1998", .enc_name = "H263-1998",
.codec_type = AVMEDIA_TYPE_VIDEO, .codec_type = AVMEDIA_TYPE_VIDEO,
.codec_id = AV_CODEC_ID_H263, .codec_id = AV_CODEC_ID_H263,
.init = h263_init, .need_parsing = AVSTREAM_PARSE_FULL,
.parse_packet = ff_h263_handle_packet, .parse_packet = ff_h263_handle_packet,
}; };
...@@ -110,6 +101,6 @@ RTPDynamicProtocolHandler ff_h263_2000_dynamic_handler = { ...@@ -110,6 +101,6 @@ RTPDynamicProtocolHandler ff_h263_2000_dynamic_handler = {
.enc_name = "H263-2000", .enc_name = "H263-2000",
.codec_type = AVMEDIA_TYPE_VIDEO, .codec_type = AVMEDIA_TYPE_VIDEO,
.codec_id = AV_CODEC_ID_H263, .codec_id = AV_CODEC_ID_H263,
.init = h263_init, .need_parsing = AVSTREAM_PARSE_FULL,
.parse_packet = ff_h263_handle_packet, .parse_packet = ff_h263_handle_packet,
}; };
...@@ -56,14 +56,6 @@ static void h263_free_context(PayloadContext *data) ...@@ -56,14 +56,6 @@ static void h263_free_context(PayloadContext *data)
av_free(data); av_free(data);
} }
static av_cold int h263_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 h263_handle_packet(AVFormatContext *ctx, PayloadContext *data, static int h263_handle_packet(AVFormatContext *ctx, PayloadContext *data,
AVStream *st, AVPacket *pkt, uint32_t *timestamp, AVStream *st, AVPacket *pkt, uint32_t *timestamp,
const uint8_t *buf, int len, uint16_t seq, const uint8_t *buf, int len, uint16_t seq,
...@@ -208,7 +200,7 @@ static int h263_handle_packet(AVFormatContext *ctx, PayloadContext *data, ...@@ -208,7 +200,7 @@ static int h263_handle_packet(AVFormatContext *ctx, PayloadContext *data,
RTPDynamicProtocolHandler ff_h263_rfc2190_dynamic_handler = { RTPDynamicProtocolHandler ff_h263_rfc2190_dynamic_handler = {
.codec_type = AVMEDIA_TYPE_VIDEO, .codec_type = AVMEDIA_TYPE_VIDEO,
.codec_id = AV_CODEC_ID_H263, .codec_id = AV_CODEC_ID_H263,
.init = h263_init, .need_parsing = AVSTREAM_PARSE_FULL,
.parse_packet = h263_handle_packet, .parse_packet = h263_handle_packet,
.alloc = h263_new_context, .alloc = h263_new_context,
.free = h263_free_context, .free = h263_free_context,
......
...@@ -362,15 +362,6 @@ static void h264_free_context(PayloadContext *data) ...@@ -362,15 +362,6 @@ static void h264_free_context(PayloadContext *data)
av_free(data); av_free(data);
} }
static av_cold int h264_init(AVFormatContext *s, int st_index,
PayloadContext *data)
{
if (st_index < 0)
return 0;
s->streams[st_index]->need_parsing = AVSTREAM_PARSE_FULL;
return 0;
}
static int parse_h264_sdp_line(AVFormatContext *s, int st_index, static int parse_h264_sdp_line(AVFormatContext *s, int st_index,
PayloadContext *h264_data, const char *line) PayloadContext *h264_data, const char *line)
{ {
...@@ -416,7 +407,7 @@ RTPDynamicProtocolHandler ff_h264_dynamic_handler = { ...@@ -416,7 +407,7 @@ RTPDynamicProtocolHandler ff_h264_dynamic_handler = {
.enc_name = "H264", .enc_name = "H264",
.codec_type = AVMEDIA_TYPE_VIDEO, .codec_type = AVMEDIA_TYPE_VIDEO,
.codec_id = AV_CODEC_ID_H264, .codec_id = AV_CODEC_ID_H264,
.init = h264_init, .need_parsing = AVSTREAM_PARSE_FULL,
.parse_sdp_a_line = parse_h264_sdp_line, .parse_sdp_a_line = parse_h264_sdp_line,
.alloc = h264_new_context, .alloc = h264_new_context,
.free = h264_free_context, .free = h264_free_context,
......
...@@ -56,19 +56,6 @@ static av_cold void hevc_free_context(PayloadContext *data) ...@@ -56,19 +56,6 @@ static av_cold void hevc_free_context(PayloadContext *data)
av_free(data); av_free(data);
} }
static av_cold int hevc_init(AVFormatContext *ctx, int st_index,
PayloadContext *data)
{
av_dlog(ctx, "hevc_init() for stream %d\n", st_index);
if (st_index < 0)
return 0;
ctx->streams[st_index]->need_parsing = AVSTREAM_PARSE_FULL;
return 0;
}
static av_cold int hevc_sdp_parse_fmtp_config(AVFormatContext *s, static av_cold int hevc_sdp_parse_fmtp_config(AVFormatContext *s,
AVStream *stream, AVStream *stream,
PayloadContext *hevc_data, PayloadContext *hevc_data,
...@@ -425,7 +412,7 @@ RTPDynamicProtocolHandler ff_hevc_dynamic_handler = { ...@@ -425,7 +412,7 @@ RTPDynamicProtocolHandler ff_hevc_dynamic_handler = {
.enc_name = "H265", .enc_name = "H265",
.codec_type = AVMEDIA_TYPE_VIDEO, .codec_type = AVMEDIA_TYPE_VIDEO,
.codec_id = AV_CODEC_ID_HEVC, .codec_id = AV_CODEC_ID_HEVC,
.init = hevc_init, .need_parsing = AVSTREAM_PARSE_FULL,
.parse_sdp_a_line = hevc_parse_sdp_line, .parse_sdp_a_line = hevc_parse_sdp_line,
.alloc = hevc_new_context, .alloc = hevc_new_context,
.free = hevc_free_context, .free = hevc_free_context,
......
...@@ -33,15 +33,6 @@ struct PayloadContext { ...@@ -33,15 +33,6 @@ struct PayloadContext {
AVIOContext *fragment; AVIOContext *fragment;
}; };
static av_cold int mpa_robust_init(AVFormatContext *ctx, int st_index,
PayloadContext *data)
{
if (st_index < 0)
return 0;
ctx->streams[st_index]->need_parsing = AVSTREAM_PARSE_HEADERS;
return 0;
}
static PayloadContext *mpa_robust_new_context(void) static PayloadContext *mpa_robust_new_context(void)
{ {
return av_mallocz(sizeof(PayloadContext)); return av_mallocz(sizeof(PayloadContext));
...@@ -217,7 +208,7 @@ RTPDynamicProtocolHandler ff_mpeg_audio_robust_dynamic_handler = { ...@@ -217,7 +208,7 @@ RTPDynamicProtocolHandler ff_mpeg_audio_robust_dynamic_handler = {
.enc_name = "mpa-robust", .enc_name = "mpa-robust",
.codec_type = AVMEDIA_TYPE_AUDIO, .codec_type = AVMEDIA_TYPE_AUDIO,
.codec_id = AV_CODEC_ID_MP3ADU, .codec_id = AV_CODEC_ID_MP3ADU,
.init = mpa_robust_init, .need_parsing = AVSTREAM_PARSE_HEADERS,
.alloc = mpa_robust_new_context, .alloc = mpa_robust_new_context,
.free = mpa_robust_free_context, .free = mpa_robust_free_context,
.parse_packet = mpa_robust_parse_packet, .parse_packet = mpa_robust_parse_packet,
......
...@@ -23,14 +23,6 @@ ...@@ -23,14 +23,6 @@
#include "libavutil/intreadwrite.h" #include "libavutil/intreadwrite.h"
#include "rtpdec_formats.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, static int mpeg_parse_packet(AVFormatContext *ctx, PayloadContext *data,
AVStream *st, AVPacket *pkt, uint32_t *timestamp, AVStream *st, AVPacket *pkt, uint32_t *timestamp,
const uint8_t *buf, int len, uint16_t seq, const uint8_t *buf, int len, uint16_t seq,
...@@ -59,7 +51,7 @@ static int mpeg_parse_packet(AVFormatContext *ctx, PayloadContext *data, ...@@ -59,7 +51,7 @@ static int mpeg_parse_packet(AVFormatContext *ctx, PayloadContext *data,
RTPDynamicProtocolHandler ff_mpeg_audio_dynamic_handler = { RTPDynamicProtocolHandler ff_mpeg_audio_dynamic_handler = {
.codec_type = AVMEDIA_TYPE_AUDIO, .codec_type = AVMEDIA_TYPE_AUDIO,
.codec_id = AV_CODEC_ID_MP3, .codec_id = AV_CODEC_ID_MP3,
.init = mpeg_init, .need_parsing = AVSTREAM_PARSE_FULL,
.parse_packet = mpeg_parse_packet, .parse_packet = mpeg_parse_packet,
.static_payload_id = 14, .static_payload_id = 14,
}; };
...@@ -67,7 +59,7 @@ RTPDynamicProtocolHandler ff_mpeg_audio_dynamic_handler = { ...@@ -67,7 +59,7 @@ RTPDynamicProtocolHandler ff_mpeg_audio_dynamic_handler = {
RTPDynamicProtocolHandler ff_mpeg_video_dynamic_handler = { RTPDynamicProtocolHandler ff_mpeg_video_dynamic_handler = {
.codec_type = AVMEDIA_TYPE_VIDEO, .codec_type = AVMEDIA_TYPE_VIDEO,
.codec_id = AV_CODEC_ID_MPEG2VIDEO, .codec_id = AV_CODEC_ID_MPEG2VIDEO,
.init = mpeg_init, .need_parsing = AVSTREAM_PARSE_FULL,
.parse_packet = mpeg_parse_packet, .parse_packet = mpeg_parse_packet,
.static_payload_id = 32, .static_payload_id = 32,
}; };
...@@ -320,20 +320,11 @@ static int parse_sdp_line(AVFormatContext *s, int st_index, ...@@ -320,20 +320,11 @@ static int parse_sdp_line(AVFormatContext *s, int st_index,
return 0; return 0;
} }
static av_cold int init_video(AVFormatContext *s, int st_index,
PayloadContext *data)
{
if (st_index < 0)
return 0;
s->streams[st_index]->need_parsing = AVSTREAM_PARSE_FULL;
return 0;
}
RTPDynamicProtocolHandler ff_mp4v_es_dynamic_handler = { RTPDynamicProtocolHandler ff_mp4v_es_dynamic_handler = {
.enc_name = "MP4V-ES", .enc_name = "MP4V-ES",
.codec_type = AVMEDIA_TYPE_VIDEO, .codec_type = AVMEDIA_TYPE_VIDEO,
.codec_id = AV_CODEC_ID_MPEG4, .codec_id = AV_CODEC_ID_MPEG4,
.init = init_video, .need_parsing = AVSTREAM_PARSE_FULL,
.parse_sdp_a_line = parse_sdp_line, .parse_sdp_a_line = parse_sdp_line,
}; };
......
...@@ -71,15 +71,6 @@ static void xiph_free_context(PayloadContext * data) ...@@ -71,15 +71,6 @@ static void xiph_free_context(PayloadContext * data)
av_freep(&data); av_freep(&data);
} }
static av_cold int xiph_vorbis_init(AVFormatContext *ctx, int st_index,
PayloadContext *data)
{
if (st_index < 0)
return 0;
ctx->streams[st_index]->need_parsing = AVSTREAM_PARSE_HEADERS;
return 0;
}
static int xiph_handle_packet(AVFormatContext *ctx, PayloadContext *data, static int xiph_handle_packet(AVFormatContext *ctx, PayloadContext *data,
AVStream *st, AVPacket *pkt, uint32_t *timestamp, AVStream *st, AVPacket *pkt, uint32_t *timestamp,
...@@ -404,7 +395,7 @@ RTPDynamicProtocolHandler ff_vorbis_dynamic_handler = { ...@@ -404,7 +395,7 @@ RTPDynamicProtocolHandler ff_vorbis_dynamic_handler = {
.enc_name = "vorbis", .enc_name = "vorbis",
.codec_type = AVMEDIA_TYPE_AUDIO, .codec_type = AVMEDIA_TYPE_AUDIO,
.codec_id = AV_CODEC_ID_VORBIS, .codec_id = AV_CODEC_ID_VORBIS,
.init = xiph_vorbis_init, .need_parsing = AVSTREAM_PARSE_HEADERS,
.parse_sdp_a_line = xiph_parse_sdp_line, .parse_sdp_a_line = xiph_parse_sdp_line,
.alloc = xiph_new_context, .alloc = xiph_new_context,
.free = xiph_free_context, .free = xiph_free_context,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment