From 480ab7250a7c61d6923670d238ca477fc04b85c6 Mon Sep 17 00:00:00 2001 From: Julian Kiedaisch Date: Wed, 29 Apr 2020 20:23:53 +0200 Subject: [PATCH] Bugfix --- .vscode/c_cpp_properties.json | 16 ++++++++++++++++ .vscode/launch.json | 2 +- .vscode/settings.json | 3 +++ airplayServer.cpp | 14 +++++++++++++- renderers/video_renderer_gstreamer.c | 4 ++-- 5 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 .vscode/c_cpp_properties.json create mode 100644 .vscode/settings.json diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..0b0eed0 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,16 @@ +{ + "configurations": [ + { + "name": "Linux", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [], + "compilerPath": "/usr/bin/gcc", + "cStandard": "c11", + "cppStandard": "c++17", + "intelliSenseMode": "clang-x64" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index 189dae7..b7596be 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -9,7 +9,7 @@ "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/AirplayServer", - "args": ["-n", "AirplayLinux"], + "args": ["-n", "AirplayLinux", "-d"], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..cad7657 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "cmake.configureOnOpen": false +} \ No newline at end of file diff --git a/airplayServer.cpp b/airplayServer.cpp index 77685af..405a8fb 100755 --- a/airplayServer.cpp +++ b/airplayServer.cpp @@ -103,9 +103,21 @@ static int parse_hw_addr(std::string str, std::vector &hw_addr) { std::string find_mac() { std::ifstream iface_stream("/sys/class/net/eth0/address"); if (!iface_stream) { + printf("No eth0 \n"); iface_stream.open("/sys/class/net/wlan0/address"); } - if (!iface_stream) return ""; + if (!iface_stream) { + printf("No wlan0 \n"); + iface_stream.open("/sys/class/net/enp0s25/address"); + } + if (!iface_stream) { + printf("No enp0s25 \n"); + iface_stream.open("/sys/class/net/wlp2s0/address"); + } + if (!iface_stream) { + printf("No wlp2s0"); + return ""; + } std::string mac_address; iface_stream >> mac_address; diff --git a/renderers/video_renderer_gstreamer.c b/renderers/video_renderer_gstreamer.c index 0ff5a8f..24306d1 100644 --- a/renderers/video_renderer_gstreamer.c +++ b/renderers/video_renderer_gstreamer.c @@ -47,7 +47,7 @@ video_renderer_t *video_renderer_init(logger_t *logger, background_mode_t backgr renderer->logger = logger; - renderer->pipeline = gst_parse_launch("appsrc name=video_source is-live=true ! queue ! decodebin ! videoconvert ! xvimagesink name=video_sink sync=false", &error); + renderer->pipeline = gst_parse_launch("appsrc name=video_source is-live=true ! queue ! decodebin ! videoconvert ! videoscale ! xvimagesink name=video_sink sync=false", &error); /* renderer->pipeline = gst_pipeline_new("test-pipeline"); renderer->appsrc = gst_element_factory_make("appsrc","video_source"); @@ -93,8 +93,8 @@ void video_renderer_render_buffer(video_renderer_t *renderer, raop_ntp_t *ntp, u assert(buffer != NULL); gst_buffer_fill(buffer, 0, data, data_len); + GST_BUFFER_FLAG_SET(buffer, GST_BUFFER_FLAG_CORRUPTED); gst_app_src_push_buffer (GST_APP_SRC(renderer->appsrc), buffer); - //gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (renderer->sink), window_handle); }