Hi,

I'm working with Android NDK, porting Sox to be used from Java calling the
main method run() via NDK and providing progress updates to the java
program.

sox command line example:
play -m "|sox -v 0.8 base.mp3 -p speed 1.5" "|sox -v 4 voice.wav -p pitch
-500 tempo 1.5"

The above example, runs three instances of sox where the output of one is
fed as input to another.

I need the same functionality in Android NDK:

My idea is to run the same in the following sequence in a single process or
by calling a single method :

"sox -v 0.8 base.mp3 -p speed 1.5"  -- output to pipe1 buffer
"sox -v 4 voice.wav -p pitch -500 tempo 1.5" -- output to pipe2 buffer
"play -m --pipe1(input from pipe1 buffer) --pipe2 (input from pipe2 buffer)"

I'm going through the sox.c file, where run() calls parse methods and
process() method for parsing and processing the inputs and generating the
outputs.

It would be grateful, If someone can explain or provide code pointers, how
better to incorporate multiple instances and pipe logic, as explained above
inside Sox itself, without relying on linux pipe and multiple processes.

Thanks a lot in advance,
Aatral
------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
SoX-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sox-devel

Reply via email to