From cd2fe225c57eb16ec21cd36b0e75d12d8fdb6890 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Fri, 4 Apr 2014 19:50:40 +0200 Subject: [PATCH] Shared memory rewrite --- Doxyfile | 4 +- Makefile | 162 ++-- lsp/footer.html | 24 +- lsp/header.html | 2 +- lsp/jquery.js | 5 - lsp/main.css | 285 ++++++- lsp/main.js | 423 +++++++++- lsp/pages.js | 843 +++++++++++++++++-- lsp/plugins/jquery.flot.crosshair.min.js | 1 + lsp/plugins/jquery.flot.min.js | 2 + lsp/plugins/jquery.flot.time.min.js | 1 + lsp/plugins/jquery.js | 2 + lsp/{ => plugins}/md5.js | 0 lsp/{ => plugins}/placeholder.js | 0 lsp/{ => plugins}/tablesort.js | 0 lsp/server.html | 117 +-- src/analysers/dtsc_analyser.cpp | 31 +- src/analysers/ogg_analyser.cpp | 161 +++- src/buffer/buffer.cpp | 345 -------- src/buffer/buffer_stream.cpp | 350 -------- src/buffer/buffer_stream.h | 106 --- src/buffer/player.cpp | 276 ------ src/connectors/conn_http.cpp | 37 +- src/connectors/conn_http_dynamic.cpp | 333 -------- src/connectors/conn_http_json.cpp | 200 ----- src/connectors/conn_http_live.cpp | 354 -------- src/connectors/conn_http_progressive_flv.cpp | 217 ----- src/connectors/conn_http_progressive_mp3.cpp | 184 ---- src/connectors/conn_http_progressive_mp4.cpp | 656 --------------- src/connectors/conn_http_progressive_ogg.cpp | 186 ---- src/connectors/conn_http_smooth.cpp | 516 ------------ src/connectors/conn_http_srt.cpp | 223 ----- src/connectors/conn_raw.cpp | 58 -- src/connectors/conn_rtmp.cpp | 700 --------------- src/connectors/conn_ts.cpp | 215 ----- src/controller/controller.cpp | 262 +++--- src/controller/controller_connectors.cpp | 10 +- src/controller/controller_statistics.cpp | 451 ++++++++++ src/controller/controller_statistics.h | 35 + src/controller/controller_streams.cpp | 65 +- src/controller/controller_streams.h | 5 +- src/converters/dtsc2srt.cpp | 10 +- src/converters/dtscfix.cpp | 10 +- src/converters/dtscmerge.cpp | 9 +- src/converters/oggconv.cpp | 129 ++- src/input/input.cpp | 338 ++++++++ src/input/input.h | 84 ++ src/input/input_buffer.cpp | 274 ++++++ src/input/input_buffer.h | 33 + src/input/input_dtsc.cpp | 90 ++ src/input/input_dtsc.h | 22 + src/input/input_flv.cpp | 130 +++ src/input/input_flv.h | 21 + src/input/input_ogg.cpp | 274 ++++++ src/input/input_ogg.h | 65 ++ src/input/mist_in.cpp | 62 ++ src/output/mist_out.cpp | 21 + src/output/output.cpp | 493 +++++++++++ src/output/output.h | 98 +++ src/output/output_hds.cpp | 266 ++++++ src/output/output_hds.h | 30 + src/output/output_hls.cpp | 282 +++++++ src/output/output_hls.h | 39 + src/output/output_hss.cpp | 484 +++++++++++ src/output/output_hss.h | 29 + src/output/output_json.cpp | 84 ++ src/output/output_json.h | 20 + src/output/output_progressive_flv.cpp | 88 ++ src/output/output_progressive_flv.h | 18 + src/output/output_progressive_mp3.cpp | 65 ++ src/output/output_progressive_mp3.h | 18 + src/output/output_progressive_mp4.cpp | 558 ++++++++++++ src/output/output_progressive_mp4.h | 50 ++ src/output/output_raw.cpp | 69 ++ src/output/output_raw.h | 15 + src/output/output_rtmp.cpp | 754 +++++++++++++++++ src/output/output_rtmp.h | 48 ++ src/output/output_srt.cpp | 82 ++ src/output/output_srt.h | 20 + src/output/output_ts.cpp | 134 +++ src/output/output_ts.h | 23 + 81 files changed, 7775 insertions(+), 5411 deletions(-) delete mode 100755 lsp/jquery.js create mode 100644 lsp/plugins/jquery.flot.crosshair.min.js create mode 100644 lsp/plugins/jquery.flot.min.js create mode 100644 lsp/plugins/jquery.flot.time.min.js create mode 100755 lsp/plugins/jquery.js rename lsp/{ => plugins}/md5.js (100%) rename lsp/{ => plugins}/placeholder.js (100%) rename lsp/{ => plugins}/tablesort.js (100%) delete mode 100644 src/buffer/buffer.cpp delete mode 100644 src/buffer/buffer_stream.cpp delete mode 100644 src/buffer/buffer_stream.h delete mode 100644 src/buffer/player.cpp delete mode 100644 src/connectors/conn_http_dynamic.cpp delete mode 100644 src/connectors/conn_http_json.cpp delete mode 100644 src/connectors/conn_http_live.cpp delete mode 100644 src/connectors/conn_http_progressive_flv.cpp delete mode 100644 src/connectors/conn_http_progressive_mp3.cpp delete mode 100644 src/connectors/conn_http_progressive_mp4.cpp delete mode 100644 src/connectors/conn_http_progressive_ogg.cpp delete mode 100644 src/connectors/conn_http_smooth.cpp delete mode 100644 src/connectors/conn_http_srt.cpp delete mode 100644 src/connectors/conn_raw.cpp delete mode 100644 src/connectors/conn_rtmp.cpp delete mode 100644 src/connectors/conn_ts.cpp create mode 100644 src/controller/controller_statistics.cpp create mode 100644 src/controller/controller_statistics.h create mode 100644 src/input/input.cpp create mode 100644 src/input/input.h create mode 100644 src/input/input_buffer.cpp create mode 100644 src/input/input_buffer.h create mode 100644 src/input/input_dtsc.cpp create mode 100644 src/input/input_dtsc.h create mode 100644 src/input/input_flv.cpp create mode 100644 src/input/input_flv.h create mode 100644 src/input/input_ogg.cpp create mode 100644 src/input/input_ogg.h create mode 100644 src/input/mist_in.cpp create mode 100644 src/output/mist_out.cpp create mode 100644 src/output/output.cpp create mode 100644 src/output/output.h create mode 100644 src/output/output_hds.cpp create mode 100644 src/output/output_hds.h create mode 100644 src/output/output_hls.cpp create mode 100644 src/output/output_hls.h create mode 100644 src/output/output_hss.cpp create mode 100644 src/output/output_hss.h create mode 100644 src/output/output_json.cpp create mode 100644 src/output/output_json.h create mode 100644 src/output/output_progressive_flv.cpp create mode 100644 src/output/output_progressive_flv.h create mode 100644 src/output/output_progressive_mp3.cpp create mode 100644 src/output/output_progressive_mp3.h create mode 100644 src/output/output_progressive_mp4.cpp create mode 100644 src/output/output_progressive_mp4.h create mode 100644 src/output/output_raw.cpp create mode 100644 src/output/output_raw.h create mode 100644 src/output/output_rtmp.cpp create mode 100644 src/output/output_rtmp.h create mode 100644 src/output/output_srt.cpp create mode 100644 src/output/output_srt.h create mode 100644 src/output/output_ts.cpp create mode 100644 src/output/output_ts.h diff --git a/Doxyfile b/Doxyfile index be3218cc..794b6cbc 100644 --- a/Doxyfile +++ b/Doxyfile @@ -220,7 +220,7 @@ TAB_SIZE = 2 # "Side Effects:". You can put \n's in the value part of an alias to insert # newlines. -ALIASES = +ALIASES = "api=\xrefitem api \"API call\" \"API calls\"" # This tag can be used to specify a number of word-keyword mappings (TCL only). # A mapping has the form "name=value". For example adding "class=itcl::class" @@ -794,7 +794,7 @@ EXCLUDE_SYMLINKS = NO # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories for example use the pattern */test/* -EXCLUDE_PATTERNS = */.git/* +EXCLUDE_PATTERNS = */.git/* */tinythread.* # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the diff --git a/Makefile b/Makefile index 01845249..a3ae5abd 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ LDLIBS = -lmist -lrt .DEFAULT_GOAL := all -all: controller buffers connectors analysers converters +all: MistConnHTTP controller analysers inputs outputs DOXYGEN := $(shell doxygen -v 2> /dev/null) ifdef DOXYGEN @@ -33,71 +33,15 @@ $(warning Doxygen not installed - not building source documentation.) endif controller: MistController +MistController: override LDLIBS += $(THREADLIB) MistController: src/controller/server.html.h src/controller/* $(CXX) $(LDFLAGS) $(CPPFLAGS) src/controller/*.cpp $(LDLIBS) -o $@ -buffers: MistPlayer -MistPlayer: src/buffer/player.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -buffers: MistBuffer -MistBuffer: override LDLIBS += $(THREADLIB) -MistBuffer: src/buffer/buffer.cpp src/buffer/buffer_stream.h src/buffer/buffer_stream.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) src/buffer/buffer.cpp src/buffer/buffer_stream.cpp $(LDLIBS) -o $@ - -connectors: MistConnRaw -MistConnRaw: src/connectors/conn_raw.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -connectors: MistConnRTMP -MistConnRTMP: src/connectors/conn_rtmp.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - connectors: MistConnHTTP MistConnHTTP: override LDLIBS += $(THREADLIB) MistConnHTTP: src/connectors/conn_http.cpp src/connectors/embed.js.h src/connectors/icon.h $(CXX) $(LDFLAGS) $(CPPFLAGS) $< $(LDLIBS) -o $@ -connectors: MistConnHTTPProgressiveFLV -MistConnHTTPProgressiveFLV: src/connectors/conn_http_progressive_flv.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -connectors: MistConnHTTPProgressiveMP3 -MistConnHTTPProgressiveMP3: src/connectors/conn_http_progressive_mp3.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -connectors: MistConnHTTPProgressiveMP4 -MistConnHTTPProgressiveMP4: src/connectors/conn_http_progressive_mp4.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -connectors: MistConnHTTPProgressiveOGG -MistConnHTTPProgressiveOGG: src/connectors/conn_http_progressive_ogg.cpp src/converters/oggconv.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -connectors: MistConnHTTPDynamic -MistConnHTTPDynamic: src/connectors/conn_http_dynamic.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -connectors: MistConnHTTPSmooth -MistConnHTTPSmooth: src/connectors/conn_http_smooth.cpp src/connectors/xap.h - $(CXX) $(LDFLAGS) $(CPPFLAGS) $< $(LDLIBS) -o $@ - -connectors: MistConnHTTPLive -MistConnHTTPLive: src/connectors/conn_http_live.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -connectors: MistConnHTTPSRT -MistConnHTTPSRT: src/connectors/conn_http_srt.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -connectors: MistConnHTTPJSON -MistConnHTTPJSON: src/connectors/conn_http_json.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -connectors: MistConnTS -MistConnTS: src/connectors/conn_ts.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - analysers: MistAnalyserRTMP MistAnalyserRTMP: src/analysers/rtmp_analyser.cpp $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ @@ -134,14 +78,6 @@ converters: MistFLV2DTSC MistFLV2DTSC: src/converters/flv2dtsc.cpp $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ -converters: MistOGG2DTSC -MistOGG2DTSC: src/converters/ogg2dtsc.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -converters: MistDTSC2OGG -MistDTSC2OGG: src/converters/dtsc2ogg.cpp src/converters/oggconv.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - converters: MistDTSCFix MistDTSCFix: src/converters/dtscfix.cpp $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ @@ -162,8 +98,98 @@ converters: MistDTSC2SRT MistDTSC2SRT: src/converters/dtsc2srt.cpp $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ +inputs: MistInDTSC +MistInDTSC: override LDLIBS += $(THREADLIB) +MistInDTSC: override CPPFLAGS += "-DINPUTTYPE=\"input_dtsc.h\"" +MistInDTSC: src/input/mist_in.cpp src/input/input.cpp src/input/input_dtsc.cpp + $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ + +inputs: MistInFLV +MistInFLV: override LDLIBS += $(THREADLIB) +MistInFLV: override CPPFLAGS += "-DINPUTTYPE=\"input_flv.h\"" +MistInFLV: src/input/mist_in.cpp src/input/input.cpp src/input/input_flv.cpp + $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ + +inputs: MistInOGG +MistInOGG: override LDLIBS += $(THREADLIB) +MistInOGG: override CPPFLAGS += "-DINPUTTYPE=\"input_ogg.h\"" +MistInOGG: src/input/mist_in.cpp src/input/input.cpp src/input/input_ogg.cpp + $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ + +inputs: MistInBuffer +MistInBuffer: override LDLIBS += $(THREADLIB) +MistInBuffer: override CPPFLAGS += "-DINPUTTYPE=\"input_buffer.h\"" +MistInBuffer: src/input/mist_in.cpp src/input/input.cpp src/input/input_buffer.cpp + $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ + +outputs: MistOutFLV +MistOutFLV: override LDLIBS += $(THREADLIB) +MistOutFLV: override CPPFLAGS += "-DOUTPUTTYPE=\"output_progressive_flv.h\"" +MistOutFLV: src/output/mist_out.cpp src/output/output.cpp src/output/output_progressive_flv.cpp + $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ + +outputs: MistOutMP4 +MistOutMP4: override LDLIBS += $(THREADLIB) +MistOutMP4: override CPPFLAGS += "-DOUTPUTTYPE=\"output_progressive_mp4.h\"" +MistOutMP4: src/output/mist_out.cpp src/output/output.cpp src/output/output_progressive_mp4.cpp + $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ + +outputs: MistOutMP3 +MistOutMP3: override LDLIBS += $(THREADLIB) +MistOutMP3: override CPPFLAGS += "-DOUTPUTTYPE=\"output_progressive_mp3.h\"" +MistOutMP3: src/output/mist_out.cpp src/output/output.cpp src/output/output_progressive_mp3.cpp + $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ + +outputs: MistOutRTMP +MistOutRTMP: override LDLIBS += $(THREADLIB) +MistOutRTMP: override CPPFLAGS += "-DOUTPUTTYPE=\"output_rtmp.h\"" +MistOutRTMP: src/output/mist_out.cpp src/output/output.cpp src/output/output_rtmp.cpp + $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ + +outputs: MistOutRaw +MistOutRaw: override LDLIBS += $(THREADLIB) +MistOutRaw: override CPPFLAGS += "-DOUTPUTTYPE=\"output_raw.h\"" +MistOutRaw: src/output/mist_out.cpp src/output/output.cpp src/output/output_raw.cpp + $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ + +outputs: MistOutTS +MistOutTS: override LDLIBS += $(THREADLIB) +MistOutTS: override CPPFLAGS += "-DOUTPUTTYPE=\"output_ts.h\"" +MistOutTS: src/output/mist_out.cpp src/output/output.cpp src/output/output_ts.cpp + $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ + +outputs: MistOutHSS +MistOutHSS: override LDLIBS += $(THREADLIB) +MistOutHSS: override CPPFLAGS += "-DOUTPUTTYPE=\"output_hss.h\"" +MistOutHSS: src/output/mist_out.cpp src/output/output.cpp src/output/output_hss.cpp + $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ + +outputs: MistOutHLS +MistOutHLS: override LDLIBS += $(THREADLIB) +MistOutHLS: override CPPFLAGS += "-DOUTPUTTYPE=\"output_hls.h\"" +MistOutHLS: src/output/mist_out.cpp src/output/output.cpp src/output/output_hls.cpp + $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ + +outputs: MistOutHDS +MistOutHDS: override LDLIBS += $(THREADLIB) +MistOutHDS: override CPPFLAGS += "-DOUTPUTTYPE=\"output_hds.h\"" +MistOutHDS: src/output/mist_out.cpp src/output/output.cpp src/output/output_hds.cpp + $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ + +outputs: MistOutSRT +MistOutSRT: override LDLIBS += $(THREADLIB) +MistOutSRT: override CPPFLAGS += "-DOUTPUTTYPE=\"output_srt.h\"" +MistOutSRT: src/output/mist_out.cpp src/output/output.cpp src/output/output_srt.cpp + $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ + +outputs: MistOutJSON +MistOutJSON: override LDLIBS += $(THREADLIB) +MistOutJSON: override CPPFLAGS += "-DOUTPUTTYPE=\"output_json.h\"" +MistOutJSON: src/output/mist_out.cpp src/output/output.cpp src/output/output_json.cpp + $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ + BUILT_SOURCES=controller/server.html.h connectors/embed.js.h -lspSOURCES=lsp/jquery.js lsp/placeholder.js lsp/md5.js lsp/main.js lsp/pages.js lsp/tablesort.js +lspSOURCES=lsp/plugins/jquery.js lsp/plugins/placeholder.js lsp/plugins/md5.js lsp/main.js lsp/pages.js lsp/plugins/tablesort.js lsp/plugins/jquery.flot.min.js lsp/plugins/jquery.flot.time.min.js lsp/plugins/jquery.flot.crosshair.min.js lspDATA=lsp/header.html lsp/main.css lsp/footer.html JAVA := $(shell which java 2> /dev/null) @@ -201,7 +227,7 @@ clean: rm -f *.o Mist* sourcery src/controller/server.html src/connectors/embed.js.h src/controller/server.html.h rm -rf ./docs -install: controller buffers connectors analysers converters +install: all install ./Mist* $(DESTDIR)$(bindir) uninstall: diff --git a/lsp/footer.html b/lsp/footer.html index b9209e1e..f2fe2ffe 100644 --- a/lsp/footer.html +++ b/lsp/footer.html @@ -1,3 +1,4 @@ + - - + MistServer MI + + + + + + + - - + } + -