From 5150dd532b142d7032854a362228dd40142a8e94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5ns=20Rullg=C3=A5rd?= Date: Tue, 8 Jun 2010 10:44:27 +0000 Subject: [PATCH] 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. Originally committed as revision 23527 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/matroskaenc.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index e78d062cbe..2238c13ffc 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -83,7 +83,6 @@ typedef struct MatroskaMuxContext { mkv_cues *cues; mkv_track *tracks; - AVLFG lfg; unsigned int audio_buffer_size; AVPacket cur_audio_pkt; } MatroskaMuxContext; @@ -699,8 +698,6 @@ static int mkv_write_header(AVFormatContext *s) 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 @@ static int mkv_write_header(AVFormatContext *s) 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);