I am thinking about where we should go with future FreeDV development. Here is
what I have so far, please contribute/argue.
Write a server/command-line front end not using any GUI. This will facilitate
use of FreeDV as an embedded application in products with their own GUI or with
hardware controls, to use the C code from Android, etc., to use it remotely
without running the whole GUI through skype as we do for demos today, and to
make it easier to hack in general by abstracting out the API code and keeping
it elsewhere.
Provide the capability for the server to use local hardware for all audio
functions and T/R switch using existing code.
Provide an API for local front-panel drivers. Load them from the command-line
with dload() where possible.
Port the existing wxWidgets interface to be a big front panel driver.
Test and release to users.
At this point, others can write additional local front-ends using the API.
Write a minimal front-panel driver using the WebRTC Native Code Package API.
Provide remote microphone, speaker, and T/R through WebRTC. All the rest is set
on the server command-line at this point. WebRTC becomes FreeDV's remote user
interface protocol.
Code minimal JavaScript app using any WebRTC capable browser.
Test and release to users.
Define front-panel and waterfall protocol on top of WebRTC data channel.
Add front-panel and waterfall to JavaScript app using HTML5 canvas.
Test and release to users.
At this point, others can write arbitrary remote-capable front-ends based on
WebRTC APIs and the WebRTC Native Code Package.
Generalize the modem API and make it possible to load modem drivers using
dload() from the command line where possible.
Get the current modem running in its own thread where possible and provide FIFO
to the API. This means that we can have three threads: modem, codec/server,
separate front-end running via WebRTC. Use POSIX APIs for threading, or is
there a good portable threading library that stands alone (unlike the one in
wxWidgets).
Thanks
Bruce
--
Sent from my Android phone with K-9 Mail. Please excuse my brevity.------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT
organizations don't have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2