changeset 6105:c0336d3528e9 libavformat

matroska: move LFG state from muxer context to local variable The LFG is only used in one place, so there is no need to keep it in the context.
author mru
date Tue, 08 Jun 2010 10:44:27 +0000
parents a5eaf91edd4a
children 44ee60d0c688
files matroskaenc.c
diffstat 1 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/matroskaenc.c	Tue Jun 08 10:26:16 2010 +0000
+++ b/matroskaenc.c	Tue Jun 08 10:44:27 2010 +0000
@@ -83,7 +83,6 @@
     mkv_cues        *cues;
     mkv_track       *tracks;
 
-    AVLFG           lfg;
     unsigned int    audio_buffer_size;
     AVPacket        cur_audio_pkt;
 } MatroskaMuxContext;
@@ -699,8 +698,6 @@
     if (!strcmp(s->oformat->name, "webm")) mkv->mode = MODE_WEBM;
     else                                   mkv->mode = MODE_MATROSKAv2;
 
-    av_lfg_init(&mkv->lfg, av_get_random_seed());
-
     mkv->tracks = av_mallocz(s->nb_streams * sizeof(*mkv->tracks));
     if (!mkv->tracks)
         return AVERROR(ENOMEM);
@@ -736,8 +733,12 @@
         put_ebml_string(pb, MATROSKA_ID_TITLE, tag->value);
     if (!(s->streams[0]->codec->flags & CODEC_FLAG_BITEXACT)) {
         uint32_t segment_uid[4];
+        AVLFG lfg;
+
+        av_lfg_init(&lfg, av_get_random_seed());
+
         for (i = 0; i < 4; i++)
-            segment_uid[i] = av_lfg_get(&mkv->lfg);
+            segment_uid[i] = av_lfg_get(&lfg);
 
         put_ebml_string(pb, MATROSKA_ID_MUXINGAPP , LIBAVFORMAT_IDENT);
         put_ebml_string(pb, MATROSKA_ID_WRITINGAPP, LIBAVFORMAT_IDENT);