Some follow up on this. If you are starting a separate process to run your 
transcoding you need to use an async version of your run_cmd(). Otherwise the 
program will wait until the function returns and bind up the main glib thread 
if the function takes a while. This might be the easiest way to do this but may 
not give you very good control of the running process or processes. If you want 
to have more control of the transcoding work you can run the work in a thread 
pool within your program. This is more difficult to put together. In Perl there 
is a reference I found here

http://www.perlmonks.org/?node_id=735923

I don't have experience mixing Glib with Perl threads. Mostly work in C so it 
is a little different than using Perl. 

How are you working with your video files? The GStreamer library has a lot of 
audio/video functionality that is accessible from the command line or in code. 
I have been testing some code playing sounds with several different methods 
from the command line to a thread pool. It is in C but the ideas are going to 
be the same as in Perl. The gstreamer_test1.c has some basic glib spawn from 
the command line type functions and gstreamer_test2.c is putting together a 
pool of sounds to play all at once. Command line easy, thread pools hard. 

https://github.com/cecashon/OrderedSetVelociRaptor/tree/master/Misc/Sound

Hope it is of some help.

Eric


 

 



_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to