diff options
| author | Comment <tim@gray.(none)> | 2013-09-17 17:53:36 +0100 |
|---|---|---|
| committer | Comment <tim@gray.(none)> | 2013-09-17 17:53:36 +0100 |
| commit | 0b2d918d4e99d0fa0f0a4426a5ee9f275f3fb1fd (patch) | |
| tree | 7d29d6059b560fa9c6ea9b0effdd42f76cbb7309 /rotord/src | |
| parent | 1df3fe73cfb5866c9843818b487373ee8004fd65 (diff) | |
stop graph print while locking
Diffstat (limited to 'rotord/src')
| -rw-r--r-- | rotord/src/libavwrapper.cpp | 18 | ||||
| -rw-r--r-- | rotord/src/libavwrapper.h | 2 | ||||
| -rw-r--r-- | rotord/src/rendercontext.cpp | 30 |
3 files changed, 36 insertions, 14 deletions
diff --git a/rotord/src/libavwrapper.cpp b/rotord/src/libavwrapper.cpp index d09b7dc..13e151c 100644 --- a/rotord/src/libavwrapper.cpp +++ b/rotord/src/libavwrapper.cpp @@ -195,8 +195,19 @@ bool libav::exporter::record(std::string filename){ } } + /// + /// trying to change the moov atom 170913 + + //MOVMuxContext *mov = oc->priv_data; + //mov->flags |= FF_MOV_FLAG_FRAGMENT; + //AVDictionary* options; + //av_dict_set(&options, "vprofile", "baseline", 0); + + /// + /// + // Write the stream header, if any. // - int ret = avformat_write_header(oc, NULL); + int ret = avformat_write_header(oc, NULL); //&options); // if (ret < 0) { //std::cerr <<"Error occurred when opening output file:" << av_err2str(ret) << std::endl; return false; @@ -351,6 +362,7 @@ AVStream* libav::exporter::add_stream(AVFormatContext *oc, AVCodec **codec,enum // * the motion of the chroma plane does not match the luma plane. // c->mb_decision = 2; } + break; default: @@ -371,7 +383,7 @@ void libav::exporter::open_video(AVFormatContext *oc, AVCodec *codec, AVStream * // open the codec // mutex.lock(); - ret = avcodec_open2(c, codec, NULL); + ret = avcodec_open2(c, codec, NULL); //OPTIONS CAN GO HERE mutex.unlock(); if (ret < 0) { //fprintf(stderr, "Could not open video codec: %s\n", av_err2str(ret)); @@ -405,6 +417,8 @@ void libav::exporter::open_video(AVFormatContext *oc, AVCodec *codec, AVStream * } } + + // copy data and linesize picture pointers to frame // *((AVPicture *)frame) = dst_picture; diff --git a/rotord/src/libavwrapper.h b/rotord/src/libavwrapper.h index 77832a7..35cb149 100644 --- a/rotord/src/libavwrapper.h +++ b/rotord/src/libavwrapper.h @@ -14,6 +14,8 @@ extern "C" { #include <libavutil/pixfmt.h> #include <libavutil/opt.h> #include <libswscale/swscale.h> + //????????? + //#include <libavformat/movenc.h> } #include <string> diff --git a/rotord/src/rendercontext.cpp b/rotord/src/rendercontext.cpp index 8c9c6e4..3903187 100644 --- a/rotord/src/rendercontext.cpp +++ b/rotord/src/rendercontext.cpp @@ -179,22 +179,28 @@ void Render_context::session_command(const Session_command& command,xmlIO& XML,H } if (command.commands[1]=="graph") { if (command.method=="GET") { - if (graph.loaded) { - status=HTTPResponse::HTTP_OK; - //XML.addValue("patchbay",graph.toString()); - logger.information("Requested graph"); - XML.loadFromBuffer(graph.graphToString()); - } - else { - if (state==LOADING_GRAPH) { - logger.error("ERROR: graph still loading"); - XML.addValue("error","graph still loading"); + if (state!=LOADING_GRAPH) { + if (graph.loaded) { + status=HTTPResponse::HTTP_OK; + //XML.addValue("patchbay",graph.toString()); + logger.information("Requested graph"); + XML.loadFromBuffer(graph.graphToString()); } else { - logger.error("ERROR: graph not loaded"); - XML.addValue("error","graph not loaded"); + if (state==LOADING_GRAPH) { + logger.error("ERROR: graph still loading"); + XML.addValue("error","graph still loading"); + } + else { + logger.error("ERROR: graph not loaded"); + XML.addValue("error","graph not loaded"); + } } } + else { + logger.error("ERROR: Graph loading"); + XML.addValue("error","Graph loading"); + } } if (command.method=="PUT") { //get new graph from file if (command.body!="") { |
