X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=httpd.cpp;h=6bf436478b8df8cd9afb83301b0ec6a330f808c7;hb=e45ebd282e3c6c369475ef0987945eca62ef8f58;hp=7375e8a09db1d597f0a2988975019d709b7276a9;hpb=410a5fadcba336c918843cd55e1516cf4fe56abc;p=nageru diff --git a/httpd.cpp b/httpd.cpp index 7375e8a..6bf4364 100644 --- a/httpd.cpp +++ b/httpd.cpp @@ -42,42 +42,14 @@ void HTTPD::start(int port) MHD_OPTION_END); } -void HTTPD::add_packet(const AVPacket &pkt, int64_t pts, int64_t dts, PacketDestination destination) +void HTTPD::add_packet(const AVPacket &pkt, int64_t pts, int64_t dts) { unique_lock lock(streams_mutex); - if (destination != DESTINATION_FILE_ONLY) { - for (Stream *stream : streams) { - stream->add_packet(pkt, pts, dts); - } - } - if (file_mux && destination != DESTINATION_HTTP_ONLY) { - file_mux->add_packet(pkt, pts, dts); + for (Stream *stream : streams) { + stream->add_packet(pkt, pts, dts); } } -void HTTPD::open_output_file(const string &filename) -{ - AVFormatContext *avctx = avformat_alloc_context(); - avctx->oformat = av_guess_format(NULL, filename.c_str(), NULL); - assert(filename.size() < sizeof(avctx->filename) - 1); - strcpy(avctx->filename, filename.c_str()); - - string url = "file:" + filename; - int ret = avio_open2(&avctx->pb, url.c_str(), AVIO_FLAG_WRITE, &avctx->interrupt_callback, NULL); - if (ret < 0) { - char tmp[AV_ERROR_MAX_STRING_SIZE]; - fprintf(stderr, "%s: avio_open2() failed: %s\n", filename.c_str(), av_make_error_string(tmp, sizeof(tmp), ret)); - exit(1); - } - - file_mux.reset(new Mux(avctx, width, height, Mux::CODEC_H264, TIMEBASE)); -} - -void HTTPD::close_output_file() -{ - file_mux.reset(); -} - int HTTPD::answer_to_connection_thunk(void *cls, MHD_Connection *connection, const char *url, const char *method, const char *version, const char *upload_data,