On Wed, Jul 27, 2016 at 01:31:29AM +0800, XinZheng Zhang wrote: > On Wed, Jul 27, 2016 at 1:12 AM, Michael Niedermayer > <mich...@niedermayer.cc> wrote: > > On Tue, Jul 26, 2016 at 08:17:46PM +0800, Xinzheng Zhang wrote: [...] > >> + > >> + AVStream *streams[2] = {vstream, astream}; > >> + for (i = 0; i < 2; i++) { > >> + current_stream = streams[i]; > >> + if (current_stream && current_stream->nb_index_entries==0) { > >> + for (j = 0; j < flv->keyframe_count; j++) { > >> + av_add_index_entry(current_stream, > >> flv->keyframe_filepositions[j], flv->keyframe_times[j] * 1000, > >> + 0, 0, AVINDEX_KEYFRAME); > >> + } > >> + } > >> + } > >> + > >> + // free keyframe index only if all expected streams have been created > >> + if (((vstream && vstream->nb_index_entries>0) || !flv->vhead_exists) > >> && > >> + ((astream && astream->nb_index_entries>0) || !flv->ahead_exists)) > >> { > >> + av_freep(&flv->keyframe_times); > >> + av_freep(&flv->keyframe_filepositions); > >> + flv->keyframe_count = 0; > >> + } > >> +} > > > > spliting add_keyframes_index() out must be in a seperate patch > > > > also i would not trust the *head_exists flags, IIRC they can be > > wrong and they are not needed > > the function should just take the table load it with > > av_add_index_entry() and free the table. > > The rest should not be needed > > should be much simpler unless iam missing something > > > > > > If I don't trust the head_exists flags, when should I free the index table? > Should I keep the index util both a\v stream have been loaded or keep > it util the flv_read_close().
the table was freed after av_add_index_entry() that should still work fine unless i miss somethig some cleanup code at close might be needed to catch error conditions so theres never a memleak [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Dictatorship naturally arises out of democracy, and the most aggravated form of tyranny and slavery out of the most extreme liberty. -- Plato
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel