diff options
| author | Tim Redfern <tim@herge.(none)> | 2013-07-05 18:03:58 +0100 |
|---|---|---|
| committer | Tim Redfern <tim@herge.(none)> | 2013-07-05 18:03:58 +0100 |
| commit | 4d1989594aa1baed540643b118e7b25a42ea1de1 (patch) | |
| tree | ae1e5e0b0510a0da05ed7237292af3074577824d /rotord/rotord.cpp | |
| parent | 28cb6bdc4ad953433b7fc184181e116ac169987f (diff) | |
fixed bug that crashes with empty video slot
Diffstat (limited to 'rotord/rotord.cpp')
| -rwxr-xr-x | rotord/rotord.cpp | 79 |
1 files changed, 1 insertions, 78 deletions
diff --git a/rotord/rotord.cpp b/rotord/rotord.cpp index 00872de..65ab6bd 100755 --- a/rotord/rotord.cpp +++ b/rotord/rotord.cpp @@ -1,73 +1,5 @@ #include "rotord.h" -/* -ultimately- audio analysis request will spawn a task - there will be another call that will check progress - -audio analysis will be saved - to a file? into a db? - -for now - dump analysis into the http request - -architecture - running rendering process - -main vamp library segmenter, beat detector - -http://127.0.0.1:9000/vamp/qm-vamp-plugins/qm-segmenter/01.wav - -Running plugin: "qm-segmenter"... -Using block size = 26460, step size = 8820 -Plugin accepts 1 -> 1 channel(s) -Sound file has 2 (will mix/augment if necessary) -Output is: "segmentation" -Done -./rotord: symbol lookup error: /usr/local/lib/vamp/qm-vamp-plugins.so: undefined symbol: clapack_dgetrf - -http://www.codeproject.com/Articles/252827/Learning-Poco-A-simple-HTTP-server - -next: -load a movie and retreive frames -save a movie - -how do we deal with frames in libavcodec - can we request a frame by number -how do we deal with resolution - - -avcodec class -what does it have to do? - --open files (could be video, audio, or both) --process files i.e. thumbnail the audio or do audio analysis, make a no-keyframe proxy of a movie --retrieve video frames (with caching- what's the best way to approach this) - -just for a quick think through: signal data is trivial: 1 floating point number per frame. -to store a whole uncompressed video track for a 3 minute @ 720.25p in RGB \= 12GB -caching the whole thing isn't a goer - - -*/ - -/* -RotorRequestHandler::RotorRequestHandler(const std::string& format): _format(format){ -} - -void RotorRequestHandler::handleRequest(HTTPServerRequest& request,HTTPServerResponse& response) { - - Timestamp now; - std::string dt(DateTimeFormatter::format(now, _format)); - - response.setChunkedTransferEncoding(true); - response.setContentType("text/html"); - - std::ostream& ostr = response.send(); - ostr << "<html><head><title>RotorServer powered by " - "POCO C++ Libraries</title>"; - ostr << "</head>"; - ostr << "<body><p style=\"text-align: center; " - "font-size: 48px;\">"; - ostr << dt; - ostr << "</p></body></html>"; -} -*/ - RenderContextHandler::RenderContextHandler(const std::string _content,const HTTPServerResponse::HTTPStatus _status){ content=_content; status=_status; @@ -90,7 +22,6 @@ void RenderContextHandler::handleRequest(HTTPServerRequest& request,HTTPServerRe HTTPRequestHandler* RotorRequestHandlerFactory::createRequestHandler(const HTTPServerRequest& request){ - cerr<<"starting http response block"<<endl; Logger& logger = Logger::get("Rotor"); Poco::URI theuri=Poco::URI(request.getURI()); @@ -191,14 +122,8 @@ HTTPRequestHandler* RotorRequestHandlerFactory::createRequestHandler(const HTTPS } sc.push_back(body); - //Rotor::Command_response response=((Poco::AutoPtr<Rotor::Render_context>)task)->session_command(sc); - cerr<<"calling render context refcount: "<<((Poco::AutoPtr<Rotor::Render_context>)task)->referenceCount()<<endl; ((Poco::AutoPtr<Rotor::Render_context>)task)->session_command(sc,XML,status); - //this deadlocks after a render, why? - - //content=response.description; - //status=response.status; - + } } } @@ -260,8 +185,6 @@ void RotorServer::handleHelp(const std::string& name, const std::string& value){ int RotorServer::main(const std::vector<std::string>& args){ if (!_helpRequested) { - - unsigned short port; xmlIO xml; |
