diff --git a/libavformat/sdp.c b/libavformat/sdp.c index 86ec3b9ad9..31820b9882 100644 --- a/libavformat/sdp.c +++ b/libavformat/sdp.c @@ -111,23 +111,23 @@ static char *data_to_hex(char *buff, const uint8_t *src, int s) return buff; } -static char *extradata2config(const uint8_t *extradata, int extradata_size) +static char *extradata2config(AVCodecContext *c) { char *config; - if (extradata_size > MAX_EXTRADATA_SIZE) { - av_log(NULL, AV_LOG_ERROR, "Too many extra data!\n"); + if (c->extradata_size > MAX_EXTRADATA_SIZE) { + av_log(c, AV_LOG_ERROR, "Too many extra data!\n"); return NULL; } - config = av_malloc(10 + extradata_size * 2); + config = av_malloc(10 + c->extradata_size * 2); if (config == NULL) { - av_log(NULL, AV_LOG_ERROR, "Cannot allocate memory for the config info\n"); + av_log(c, AV_LOG_ERROR, "Cannot allocate memory for the config info\n"); return NULL; } memcpy(config, "; config=", 9); - data_to_hex(config + 9, extradata, extradata_size); - config[9 + extradata_size * 2] = 0; + data_to_hex(config + 9, c->extradata, c->extradata_size); + config[9 + c->extradata_size * 2] = 0; return config; } @@ -139,7 +139,7 @@ static char *sdp_media_attributes(char *buff, int size, AVCodecContext *c, int p switch (c->codec_id) { case CODEC_ID_MPEG4: if (c->extradata_size) { - config = extradata2config(c->extradata, c->extradata_size); + config = extradata2config(c); } av_strlcatf(buff, size, "a=rtpmap:%d MP4V-ES/90000\r\n" "a=fmtp:%d profile-level-id=1%s\r\n", @@ -148,12 +148,12 @@ static char *sdp_media_attributes(char *buff, int size, AVCodecContext *c, int p break; case CODEC_ID_AAC: if (c->extradata_size) { - config = extradata2config(c->extradata, c->extradata_size); + config = extradata2config(c); } else { /* FIXME: maybe we can forge config information based on the * codec parameters... */ - av_log(NULL, AV_LOG_ERROR, "AAC with no global headers is currently not supported\n"); + av_log(c, AV_LOG_ERROR, "AAC with no global headers is currently not supported\n"); return NULL; } if (config == NULL) {