# HG changeset patch # User aurel # Date 1205183367 0 # Node ID 20db4653d6961d7745b3a5a2f2333f52f5f3e352 # Parent e38d5357f0d0be983b217c07c4b47a925fdaa9bc add a temporary variable to simplify the code diff -r e38d5357f0d0 -r 20db4653d696 matroskadec.c --- a/matroskadec.c Mon Mar 10 19:03:39 2008 +0000 +++ b/matroskadec.c Mon Mar 10 21:09:27 2008 +0000 @@ -2380,6 +2380,7 @@ uint32_t *lace_size = NULL; int n, flags, laces = 0; uint64_t num; + int stream_index; /* first byte(s): tracknum */ if ((n = matroska_ebmlnum_uint(data, size, &num)) < 0) { @@ -2398,11 +2399,12 @@ av_free(origdata); return res; } - if (matroska->tracks[track]->stream_index < 0) { + stream_index = matroska->tracks[track]->stream_index; + if (stream_index < 0) { av_free(origdata); return res; } - st = matroska->ctx->streams[matroska->tracks[track]->stream_index]; + st = matroska->ctx->streams[stream_index]; if (st->discard >= AVDISCARD_ALL) { av_free(origdata); return res; @@ -2545,7 +2547,7 @@ memcpy(pkt->data, audiotrack->buf + a * (h*w / a - audiotrack->pkt_cnt--), a); pkt->pos = pos; - pkt->stream_index = matroska->tracks[track]->stream_index; + pkt->stream_index = stream_index; matroska_queue_packet(matroska, pkt); } } else { @@ -2562,7 +2564,7 @@ if (n == 0) pkt->flags = is_keyframe; - pkt->stream_index = matroska->tracks[track]->stream_index; + pkt->stream_index = stream_index; pkt->pts = timecode; pkt->pos = pos;