├── .dockerignore ├── .github └── workflows │ └── build.yml ├── .gitignore ├── .gitmodules ├── Dockerfile ├── LICENSE ├── README.md ├── docs └── REST_SERVICE.md ├── meson.build ├── meson_options.txt ├── pch ├── janus_ftl_pch.h └── janus_ftl_test_pch.h ├── src ├── Configuration.cpp ├── Configuration.h ├── ConnectionCreators │ ├── ConnectionCreator.h │ ├── UdpConnectionCreator.cpp │ └── UdpConnectionCreator.h ├── ConnectionListeners │ ├── ConnectionListener.h │ ├── TcpConnectionListener.cpp │ └── TcpConnectionListener.h ├── ConnectionTransports │ ├── ConnectionTransport.h │ ├── NetworkSocketConnectionTransport.cpp │ └── NetworkSocketConnectionTransport.h ├── FtlClient.cpp ├── FtlClient.h ├── FtlControlConnection.cpp ├── FtlControlConnection.h ├── FtlControlConnectionManager.h ├── FtlMediaConnection.cpp ├── FtlMediaConnection.h ├── FtlServer.cpp ├── FtlServer.h ├── FtlStream.cpp ├── FtlStream.h ├── JanusFtl.cpp ├── JanusFtl.h ├── JanusSession.cpp ├── JanusSession.h ├── JanusStream.cpp ├── JanusStream.h ├── Rtp │ ├── ExtendedSequenceCounter.cpp │ ├── ExtendedSequenceCounter.h │ ├── RtpPacket.cpp │ ├── RtpPacket.h │ ├── SequenceTracker.cpp │ ├── SequenceTracker.h │ └── Types.h ├── RtpPacketSink.h ├── ServiceConnections │ ├── DummyServiceConnection.cpp │ ├── DummyServiceConnection.h │ ├── EdgeNodeServiceConnection.cpp │ ├── EdgeNodeServiceConnection.h │ ├── GlimeshServiceConnection.cpp │ ├── GlimeshServiceConnection.h │ ├── RestServiceConnection.cpp │ ├── RestServiceConnection.h │ └── ServiceConnection.h ├── Utilities │ ├── FtlTypes.h │ ├── JanssonPtr.h │ ├── LibAvCodecPtr.h │ ├── Result.h │ ├── Util.h │ ├── Watchdog.cpp │ └── Watchdog.h ├── VideoDecoders │ ├── H264VideoDecoder.cpp │ ├── H264VideoDecoder.h │ └── VideoDecoder.h └── entrypoint.cpp ├── subprojects ├── catch2.wrap ├── cpp-httplib.wrap ├── fmt.wrap └── spdlog.wrap └── test ├── meson.build ├── mocks ├── MockConnectionTransport.h └── MockFtlControlConnectionManager.h ├── test.cpp └── unit ├── ConnectionTransports └── NetworkSocketConnectionTransportTests.cpp ├── FtlControlConnectionUnitTests.cpp ├── Rtp ├── ExtendedSequenceCounterTests.cpp └── SequenceTrackerTests.cpp ├── Utilities └── UtilTest.cpp └── meson.build /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/.dockerignore -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/.gitmodules -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/README.md -------------------------------------------------------------------------------- /docs/REST_SERVICE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/docs/REST_SERVICE.md -------------------------------------------------------------------------------- /meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/meson.build -------------------------------------------------------------------------------- /meson_options.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/meson_options.txt -------------------------------------------------------------------------------- /pch/janus_ftl_pch.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/pch/janus_ftl_pch.h -------------------------------------------------------------------------------- /pch/janus_ftl_test_pch.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/pch/janus_ftl_test_pch.h -------------------------------------------------------------------------------- /src/Configuration.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/Configuration.cpp -------------------------------------------------------------------------------- /src/Configuration.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/Configuration.h -------------------------------------------------------------------------------- /src/ConnectionCreators/ConnectionCreator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ConnectionCreators/ConnectionCreator.h -------------------------------------------------------------------------------- /src/ConnectionCreators/UdpConnectionCreator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ConnectionCreators/UdpConnectionCreator.cpp -------------------------------------------------------------------------------- /src/ConnectionCreators/UdpConnectionCreator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ConnectionCreators/UdpConnectionCreator.h -------------------------------------------------------------------------------- /src/ConnectionListeners/ConnectionListener.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ConnectionListeners/ConnectionListener.h -------------------------------------------------------------------------------- /src/ConnectionListeners/TcpConnectionListener.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ConnectionListeners/TcpConnectionListener.cpp -------------------------------------------------------------------------------- /src/ConnectionListeners/TcpConnectionListener.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ConnectionListeners/TcpConnectionListener.h -------------------------------------------------------------------------------- /src/ConnectionTransports/ConnectionTransport.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ConnectionTransports/ConnectionTransport.h -------------------------------------------------------------------------------- /src/ConnectionTransports/NetworkSocketConnectionTransport.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ConnectionTransports/NetworkSocketConnectionTransport.cpp -------------------------------------------------------------------------------- /src/ConnectionTransports/NetworkSocketConnectionTransport.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ConnectionTransports/NetworkSocketConnectionTransport.h -------------------------------------------------------------------------------- /src/FtlClient.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/FtlClient.cpp -------------------------------------------------------------------------------- /src/FtlClient.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/FtlClient.h -------------------------------------------------------------------------------- /src/FtlControlConnection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/FtlControlConnection.cpp -------------------------------------------------------------------------------- /src/FtlControlConnection.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/FtlControlConnection.h -------------------------------------------------------------------------------- /src/FtlControlConnectionManager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/FtlControlConnectionManager.h -------------------------------------------------------------------------------- /src/FtlMediaConnection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/FtlMediaConnection.cpp -------------------------------------------------------------------------------- /src/FtlMediaConnection.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/FtlMediaConnection.h -------------------------------------------------------------------------------- /src/FtlServer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/FtlServer.cpp -------------------------------------------------------------------------------- /src/FtlServer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/FtlServer.h -------------------------------------------------------------------------------- /src/FtlStream.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/FtlStream.cpp -------------------------------------------------------------------------------- /src/FtlStream.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/FtlStream.h -------------------------------------------------------------------------------- /src/JanusFtl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/JanusFtl.cpp -------------------------------------------------------------------------------- /src/JanusFtl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/JanusFtl.h -------------------------------------------------------------------------------- /src/JanusSession.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/JanusSession.cpp -------------------------------------------------------------------------------- /src/JanusSession.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/JanusSession.h -------------------------------------------------------------------------------- /src/JanusStream.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/JanusStream.cpp -------------------------------------------------------------------------------- /src/JanusStream.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/JanusStream.h -------------------------------------------------------------------------------- /src/Rtp/ExtendedSequenceCounter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/Rtp/ExtendedSequenceCounter.cpp -------------------------------------------------------------------------------- /src/Rtp/ExtendedSequenceCounter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/Rtp/ExtendedSequenceCounter.h -------------------------------------------------------------------------------- /src/Rtp/RtpPacket.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/Rtp/RtpPacket.cpp -------------------------------------------------------------------------------- /src/Rtp/RtpPacket.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/Rtp/RtpPacket.h -------------------------------------------------------------------------------- /src/Rtp/SequenceTracker.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/Rtp/SequenceTracker.cpp -------------------------------------------------------------------------------- /src/Rtp/SequenceTracker.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/Rtp/SequenceTracker.h -------------------------------------------------------------------------------- /src/Rtp/Types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/Rtp/Types.h -------------------------------------------------------------------------------- /src/RtpPacketSink.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/RtpPacketSink.h -------------------------------------------------------------------------------- /src/ServiceConnections/DummyServiceConnection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ServiceConnections/DummyServiceConnection.cpp -------------------------------------------------------------------------------- /src/ServiceConnections/DummyServiceConnection.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ServiceConnections/DummyServiceConnection.h -------------------------------------------------------------------------------- /src/ServiceConnections/EdgeNodeServiceConnection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ServiceConnections/EdgeNodeServiceConnection.cpp -------------------------------------------------------------------------------- /src/ServiceConnections/EdgeNodeServiceConnection.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ServiceConnections/EdgeNodeServiceConnection.h -------------------------------------------------------------------------------- /src/ServiceConnections/GlimeshServiceConnection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ServiceConnections/GlimeshServiceConnection.cpp -------------------------------------------------------------------------------- /src/ServiceConnections/GlimeshServiceConnection.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ServiceConnections/GlimeshServiceConnection.h -------------------------------------------------------------------------------- /src/ServiceConnections/RestServiceConnection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ServiceConnections/RestServiceConnection.cpp -------------------------------------------------------------------------------- /src/ServiceConnections/RestServiceConnection.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ServiceConnections/RestServiceConnection.h -------------------------------------------------------------------------------- /src/ServiceConnections/ServiceConnection.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/ServiceConnections/ServiceConnection.h -------------------------------------------------------------------------------- /src/Utilities/FtlTypes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/Utilities/FtlTypes.h -------------------------------------------------------------------------------- /src/Utilities/JanssonPtr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/Utilities/JanssonPtr.h -------------------------------------------------------------------------------- /src/Utilities/LibAvCodecPtr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/Utilities/LibAvCodecPtr.h -------------------------------------------------------------------------------- /src/Utilities/Result.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/Utilities/Result.h -------------------------------------------------------------------------------- /src/Utilities/Util.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/Utilities/Util.h -------------------------------------------------------------------------------- /src/Utilities/Watchdog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/Utilities/Watchdog.cpp -------------------------------------------------------------------------------- /src/Utilities/Watchdog.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/Utilities/Watchdog.h -------------------------------------------------------------------------------- /src/VideoDecoders/H264VideoDecoder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/VideoDecoders/H264VideoDecoder.cpp -------------------------------------------------------------------------------- /src/VideoDecoders/H264VideoDecoder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/VideoDecoders/H264VideoDecoder.h -------------------------------------------------------------------------------- /src/VideoDecoders/VideoDecoder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/VideoDecoders/VideoDecoder.h -------------------------------------------------------------------------------- /src/entrypoint.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/src/entrypoint.cpp -------------------------------------------------------------------------------- /subprojects/catch2.wrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/subprojects/catch2.wrap -------------------------------------------------------------------------------- /subprojects/cpp-httplib.wrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/subprojects/cpp-httplib.wrap -------------------------------------------------------------------------------- /subprojects/fmt.wrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/subprojects/fmt.wrap -------------------------------------------------------------------------------- /subprojects/spdlog.wrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/subprojects/spdlog.wrap -------------------------------------------------------------------------------- /test/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/test/meson.build -------------------------------------------------------------------------------- /test/mocks/MockConnectionTransport.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/test/mocks/MockConnectionTransport.h -------------------------------------------------------------------------------- /test/mocks/MockFtlControlConnectionManager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/test/mocks/MockFtlControlConnectionManager.h -------------------------------------------------------------------------------- /test/test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/test/test.cpp -------------------------------------------------------------------------------- /test/unit/ConnectionTransports/NetworkSocketConnectionTransportTests.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/test/unit/ConnectionTransports/NetworkSocketConnectionTransportTests.cpp -------------------------------------------------------------------------------- /test/unit/FtlControlConnectionUnitTests.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/test/unit/FtlControlConnectionUnitTests.cpp -------------------------------------------------------------------------------- /test/unit/Rtp/ExtendedSequenceCounterTests.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/test/unit/Rtp/ExtendedSequenceCounterTests.cpp -------------------------------------------------------------------------------- /test/unit/Rtp/SequenceTrackerTests.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/test/unit/Rtp/SequenceTrackerTests.cpp -------------------------------------------------------------------------------- /test/unit/Utilities/UtilTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/test/unit/Utilities/UtilTest.cpp -------------------------------------------------------------------------------- /test/unit/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Glimesh/janus-ftl-plugin/HEAD/test/unit/meson.build --------------------------------------------------------------------------------