On Wed, May 4, 2016 at 5:01 PM, Felt, Patrick <patrick.f...@echostar.com> wrote: >> >>[...] >>> +/* libavfilter documentation says that filter init will be called only >>> once. ffmpeg calls the init twice to enable it to validate >>> + * the complex filtering has the right input and output pads. this allows >>> us to bypass the first call if we've specified a stream >>> + * specifier string */ >>> +static int initRun=0; >>> +static int uninitRun=0; >> >>You're not allowed to do this, it belongs in the local context. > > I did realize that there will be issues if I tried to load the filter twice. > It wouldn’t function as expected with the current solution. The problem is > that ffmpeg calls init twice with two different contexts so any values I set > in the context are cleared on the second run. Indeed, the uninit() function > is called after the first round. Named Pipes don’t like being opened and > closed; the ffmpeg process on the other end terminates because the reader > left and sent an EOF. I need a reasonable way to prevent opening a pipe > twice. >
Global state is one of the things we will not allow under any circumstances, however. Its dangerous and usually a sign of trying to fix something on the wrong side of a problem. - Hendrik _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel