On Fri, Jun 07, 2024 at 09:45:09AM +0300, Rémi Denis-Courmont wrote: > Hi, > > Le 7 juin 2024 06:33:20 GMT+03:00, Shiqi Zhu a écrit : > >> Initialization and render in the same thread is one of the issues. Another > >> issue is SDL render should be run in main thread. Maybe it’s not the > >> duty of this filter to control which thread to be called, but this wouldn’t > >> work with ffmpeg cmd. > >> > >Yes, I agree with your opinion. The control of the filter should be > >left to the application, and the ffmpeg command should only serve the > >purpose of demonstrating functionality. > > You can't require running on the main thread. There are no ifs or buts here; libavfilter simply can't require that from the calling application or upper-layer framework and therefore it also can't warrant it to SDL. We can require anything from an API that we are able to change and extend Of course we can decide not to allow such requirment even if optional but we surely _could_ add such a feature if we choose to do so thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Its not that you shouldnt use gotos but rather that you should write readable code and code with gotos often but not always is less readable