First sort of working copy of the .ps1 prototype.

main
Zed A. Shaw 2 months ago
parent 37fb197a34
commit b7c3934771
  1. 1
      .vimrc_proj
  2. 29
      main.cpp
  3. 10
      meson.build
  4. 1
      scripts/reset_build.ps1
  5. 1
      scripts/reset_build.sh

@ -0,0 +1 @@
set makeprg=meson\ compile\ -j\ 4\ -C\ .

@ -0,0 +1,29 @@
#include <fmt/core.h>
#include "dbc.hpp"
#define BUF_MAX 1024 * 10
using namespace fmt;
const string TWITCH_BR="7M";
FILE *run_ffmpeg() {
string ffmpeg_cmd = format("ffmpeg -listen 1 -i rtmp://192.168.254.146/ -bufsize 3000k -maxrate $twitch_br -flags +global_header -c:v libx264 -preset veryfast -tune zerolatency -g:v 60 -vb $twitch_br -c:a copy -f flv $twitch");
FILE *handle = popen(ffmpeg_cmd.c_str(), "r");
dbc::check(handle != nullptr, "failed to start ffmpeg");
return handle;
}
int main() {
FILE *handle = run_ffmpeg();
char buffer[BUF_MAX];
char *res = nullptr;
do {
res = fgets(buffer, BUF_MAX, handle);
print("OUT: {}", res);
} while(res != nullptr);
int rc = pclose(handle);
dbc::check(rc == 0, "error closing ffmpeg");
}

@ -3,12 +3,20 @@ project('distributary', 'cpp',
catch2 = dependency('catch2-with-main') catch2 = dependency('catch2-with-main')
fmt = dependency('fmt') fmt = dependency('fmt')
json = dependency('nlohmann_json')
depends = [catch2, fmt, json]
runtests = executable('runtests', [ runtests = executable('runtests', [
'dbc.cpp', 'dbc.cpp',
'tests/fsm.cpp', 'tests/fsm.cpp',
'tests/dbc.cpp', 'tests/dbc.cpp',
], ],
dependencies: [catch2, fmt]) dependencies: depends)
distributary = executable('distributary', [
'main.cpp',
'dbc.cpp',
],
dependencies: depends)
test('tests', runtests) test('tests', runtests)

@ -6,6 +6,7 @@ cp *.wrap subprojects
mkdir builddir mkdir builddir
meson wrap install fmt meson wrap install fmt
meson wrap install catch2 meson wrap install catch2
meson wrap install nlohmann_json
# $env:CC="clang" # $env:CC="clang"
# $env:CXX="clang++" # $env:CXX="clang++"
meson setup --default-library=static --prefer-static builddir meson setup --default-library=static --prefer-static builddir

@ -9,4 +9,5 @@ mkdir builddir
cp *.wrap subprojects cp *.wrap subprojects
meson wrap install fmt meson wrap install fmt
meson wrap install catch2 meson wrap install catch2
meson wrap install nlohmann_json
meson setup builddir meson setup builddir

Loading…
Cancel
Save