return AVERROR_INVALIDDATA;
av_freep(&st->codec->extradata);
st->codec->extradata_size = 26 + item_len;
- if (!(st->codec->extradata = av_mallocz(st->codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE))) {
+ if (!(st->codec->extradata = av_mallocz(st->codec->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE))) {
st->codec->extradata_size = 0;
return AVERROR(ENOMEM);
}
static int qdm2_parse_packet(AVFormatContext *s, PayloadContext *qdm,
AVStream *st, AVPacket *pkt,
uint32_t *timestamp,
- const uint8_t *buf, int len, int flags)
+ const uint8_t *buf, int len, uint16_t seq,
+ int flags)
{
int res = AVERROR_INVALIDDATA, n;
const uint8_t *end = buf + len, *p = buf;
return res;
p += res;
- /* We set codec_id to CODEC_ID_NONE initially to
+ /* We set codec_id to AV_CODEC_ID_NONE initially to
* delay decoder initialization since extradata is
* carried within the RTP stream, not SDP. Here,
- * by setting codec_id to CODEC_ID_QDM2, we are signalling
+ * by setting codec_id to AV_CODEC_ID_QDM2, we are signalling
* to the decoder that it is OK to initialize. */
- st->codec->codec_id = CODEC_ID_QDM2;
+ st->codec->codec_id = AV_CODEC_ID_QDM2;
}
- if (st->codec->codec_id == CODEC_ID_NONE)
+ if (st->codec->codec_id == AV_CODEC_ID_NONE)
return AVERROR(EAGAIN);
/* subpackets */
return (qdm->cache > 0) ? 1 : 0;
}
-static PayloadContext *qdm2_extradata_new(void)
-{
- return av_mallocz(sizeof(PayloadContext));
-}
-
-static void qdm2_extradata_free(PayloadContext *qdm)
-{
- av_free(qdm);
-}
-
RTPDynamicProtocolHandler ff_qdm2_dynamic_handler = {
.enc_name = "X-QDM",
.codec_type = AVMEDIA_TYPE_AUDIO,
- .codec_id = CODEC_ID_NONE,
- .alloc = qdm2_extradata_new,
- .free = qdm2_extradata_free,
+ .codec_id = AV_CODEC_ID_NONE,
+ .priv_data_size = sizeof(PayloadContext),
.parse_packet = qdm2_parse_packet,
};