/**
* @file
- * @brief MPEG4 / RTP Code
+ * @brief MPEG-4 / RTP Code
* @author Fabrice Bellard
* @author Romain Degez
*/
{ NULL, -1, -1 },
};
-static void free_context(PayloadContext *data)
+static void close_context(PayloadContext *data)
{
av_free(data->au_headers);
av_free(data->mode);
}
-static int parse_fmtp_config(AVCodecContext *codec, const char *value)
+static int parse_fmtp_config(AVCodecParameters *par, char *value)
{
/* decode the hexa encoded parameter */
int len = ff_hex_to_data(NULL, value);
- av_free(codec->extradata);
- codec->extradata = av_mallocz(len + FF_INPUT_BUFFER_PADDING_SIZE);
- if (!codec->extradata)
+ av_free(par->extradata);
+ par->extradata = av_mallocz(len + AV_INPUT_BUFFER_PADDING_SIZE);
+ if (!par->extradata)
return AVERROR(ENOMEM);
- codec->extradata_size = len;
- ff_hex_to_data(codec->extradata, value);
+ par->extradata_size = len;
+ ff_hex_to_data(par->extradata, value);
return 0;
}
init_get_bits(&getbitcontext, buf, data->au_headers_length_bytes * 8);
- /* XXX: Wrong if optionnal additional sections are present (cts, dts etc...) */
+ /* XXX: Wrong if optional additional sections are present (cts, dts etc...) */
au_header_size = data->sizelength + data->indexlength;
if (au_header_size <= 0 || (au_headers_length % au_header_size != 0))
return -1;
AVStream *stream, PayloadContext *data,
const char *attr, const char *value)
{
- AVCodecContext *codec = stream->codec;
+ AVCodecParameters *par = stream->codecpar;
int res, i;
if (!strcmp(attr, "config")) {
- res = parse_fmtp_config(codec, value);
+ res = parse_fmtp_config(par, value);
if (res < 0)
return res;
}
- if (codec->codec_id == AV_CODEC_ID_AAC) {
+ if (par->codec_id == AV_CODEC_ID_AAC) {
/* Looking for a known attribute */
for (i = 0; attr_names[i].str; ++i) {
if (!av_strcasecmp(attr, attr_names[i].str)) {
.codec_id = AV_CODEC_ID_AAC,
.priv_data_size = sizeof(PayloadContext),
.parse_sdp_a_line = parse_sdp_line,
- .free = free_context,
+ .close = close_context,
.parse_packet = aac_parse_packet,
};