Showing the changes to libavformat (1 of 1 file). Show all
Unified · Split
| @@ -3036,15 +3036,14 @@ static int matroska_parse_tracks(AVFormatContext *s) · 3035 unmodified lines | |||
| 3036 | 3036 | ||
| 3037 | track->codec_priv.size = 0; | 3037 | track->codec_priv.size = 0; |
| 3038 | } | 3038 | } |
| 3039 | track->codec_priv.size -= extradata_offset; | ||
| 3040 | 3039 | ||
| 3041 | if (par->codec_id == AV_CODEC_ID_NONE) | 3040 | if (par->codec_id == AV_CODEC_ID_NONE) |
| 3042 | av_log(matroska->ctx, AV_LOG_INFO, | 3041 | av_log(matroska->ctx, AV_LOG_INFO, |
| 3043 | "Unknown/unsupported AVCodecID %s.\n", track->codec_id); | 3042 | "Unknown/unsupported AVCodecID %s.\n", track->codec_id); |
| 3044 | 3043 | ||
| 3045 | if (!par->extradata && track->codec_priv.size > 0) { | 3044 | if (!par->extradata && track->codec_priv.size > extradata_offset) { |
| 3046 | const uint8_t *src = track->codec_priv.data + extradata_offset; | 3045 | const uint8_t *src = track->codec_priv.data + extradata_offset; |
| 3047 | unsigned extra_size = track->codec_priv.size; | 3046 | unsigned extra_size = track->codec_priv.size - extradata_offset; |
| 3048 | ret = ff_alloc_extradata(par, extra_size); | 3047 | ret = ff_alloc_extradata(par, extra_size); |
| 3049 | if (ret < 0) | 3048 | if (ret < 0) |
| 3050 | return ret; | 3049 | return ret; |