On Tue, Mar 13, 2012 at 10:43 PM, Stephane Gagnon <stephane.f.gag...@gmail.com> wrote: > while trying out animation.ArtistAnimation, my script would not > terminate. The .mp4 file was generated and later found out that the > script would block at proc.wait() within _make_movie. ffmpeg > generates quite a bit of text and it seems that if stdout/stderr are > not closed, wait() does not return (this is on Windows). I have made > some modifications to animation.py to get it to work, but can't tell > how this will behave on other platforms. > > > Proposed change in matplotlib/animation.py: > > def _make_movie(self, fname, fps, codec, frame_prefix, cmd_gen=None): > # Uses subprocess to call the program for assembling frames into a > # movie file. *cmd_gen* is a callable that generates the sequence > # of command line arguments from a few configuration options. > from subprocess import Popen, PIPE > if cmd_gen is None: > cmd_gen = self.ffmpeg_cmd > command = cmd_gen(fname, fps, codec, frame_prefix) > verbose.report('Animation._make_movie running command: %s'%' > '.join(command)) > proc = Popen(command, shell=False, > stdout=PIPE, stderr=PIPE) > + proc.stdout.close() > + proc.stderr.close() > proc.wait()
Thanks for the report. The code to write movie files has been refactored substantially to improve a wide variety of problems. One changes has been to use communicate() instead of wait(), both to get stdout and stderr text, but also to fix a similar problem on linux. Can you try replacing the close() and wait() calls with just a single call to communicate() and see if that also fixes your problem? Thanks, Ryan -- Ryan May Graduate Research Assistant School of Meteorology University of Oklahoma ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel