changeset 3137:20db4653d696 libavformat

add a temporary variable to simplify the code
author aurel
date Mon, 10 Mar 2008 21:09:27 +0000
parents e38d5357f0d0
children ce03321a2cc8
files matroskadec.c
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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;