diff --git a/Rover/GStreamer/Readme b/Rover/GStreamer/README.md similarity index 100% rename from Rover/GStreamer/Readme rename to Rover/GStreamer/README.md diff --git a/Rover/GStreamer/server-wrapper.cpp b/Rover/GStreamer/server-wrapper.cpp index 171c113..8ce32fc 100644 --- a/Rover/GStreamer/server-wrapper.cpp +++ b/Rover/GStreamer/server-wrapper.cpp @@ -3,5 +3,5 @@ int main (int argc, char *argv[]) { - return start_server(argc, argv, nullptr); + return start_server(argc, argv); } diff --git a/Rover/GStreamer/server.cpp b/Rover/GStreamer/server.cpp index 64531c7..89e8ef8 100644 --- a/Rover/GStreamer/server.cpp +++ b/Rover/GStreamer/server.cpp @@ -11,29 +11,6 @@ using namespace std; unordered_map*, const char*>> table; -void -media_configure (GstRTSPMediaFactory * factory, GstRTSPMedia * media, gpointer user_data) -{ - GstElement *element, *appsrc; - MyContext *ctx; - - element = gst_rtsp_media_get_element(media); - appsrc = gst_bin_get_by_name_recurse_up (GST_BIN (element), "mysrc"); - - gst_util_set_object_arg (G_OBJECT (appsrc), "format", "time"); - - ctx = g_new0(MyContext, 1); - ctx->white = FALSE; - ctx->timestamp = 0; - - g_object_set_data_full (G_OBJECT (media), "my-extra-data", ctx, (GDestroyNotify) g_free); - - g_signal_connect (appsrc, "need-data", (GCallback) *(void (**) (GstElement *, guint, MyContext *)) user_data, ctx); - - gst_object_unref(appsrc); - gst_object_unref(element); -} - char * construct_pipeline(const char * devpath, const char * input_type, int width, int height, float scale) { @@ -69,7 +46,7 @@ setup_map() } int -start_server (int argc, char *argv[], void (*fnc) (GstElement *, guint, MyContext *)) +start_server (int argc, char *argv[]) { GMainLoop *loop; GstRTSPServer *server; @@ -147,10 +124,6 @@ start_server (int argc, char *argv[], void (*fnc) (GstElement *, guint, MyContex GstRTSPMediaFactory * factory = gst_rtsp_media_factory_new (); gst_rtsp_media_factory_set_launch (factory, pipelines[i]); gst_rtsp_media_factory_set_shared (factory, TRUE); - if (fnc != NULL) - { - g_signal_connect (factory, "media-configure", (GCallback) media_configure, &fnc); - } snprintf(attachment, 10, "/feed%hu", i); gst_rtsp_mount_points_add_factory (mounts, attachment, factory); g_print ("%s@%s: stream ready at rtsp://127.0.0.1:%s/feed%d\n", devname, devpath, port, i); diff --git a/Rover/GStreamer/server.h b/Rover/GStreamer/server.h index 7e012b1..29f9366 100644 --- a/Rover/GStreamer/server.h +++ b/Rover/GStreamer/server.h @@ -9,12 +9,6 @@ struct g_server_data const char *argv[8]; }; -typedef struct -{ - gboolean white; - GstClockTime timestamp; -} MyContext; - -int start_server (int argc, char *argv[], void (*fnc)(GstElement *, guint, MyContext *)); +int start_server (int argc, char *argv[]); #endif // SERVER_H_ diff --git a/Rover/JetsonGStreamerServer/build b/Rover/JetsonGStreamerServer/build deleted file mode 100755 index 0d6075a..0000000 --- a/Rover/JetsonGStreamerServer/build +++ /dev/null @@ -1 +0,0 @@ -g++ gserver.cpp -ggdb -std=c++14 -o gserver -lopencv_core -lopencv_video -lopencv_videoio -lopencv_imgproc -lopencv_highgui -pthread -I/usr/include/gstreamer-1.0 -I/usr/lib/aarch64-linux-gnu/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 diff --git a/Rover/README.md b/Rover/README.md new file mode 100644 index 0000000..5cf8eb9 --- /dev/null +++ b/Rover/README.md @@ -0,0 +1,3 @@ +# Running GStreamer +Run the device-scanner binary in the GStreamer folder. +This binary will also start the zed-depth program. diff --git a/Rover/JetsonGStreamerServer/Makefile b/Rover/RicohServer/Makefile similarity index 100% rename from Rover/JetsonGStreamerServer/Makefile rename to Rover/RicohServer/Makefile diff --git a/Rover/JetsonGStreamerServer/gserver.cpp b/Rover/RicohServer/gserver.cpp similarity index 100% rename from Rover/JetsonGStreamerServer/gserver.cpp rename to Rover/RicohServer/gserver.cpp diff --git a/Rover/JetsonGStreamerServer/gserver.h b/Rover/RicohServer/gserver.h similarity index 100% rename from Rover/JetsonGStreamerServer/gserver.h rename to Rover/RicohServer/gserver.h diff --git a/Rover/JetsonGStreamerServer/remap_x.txt b/Rover/RicohServer/remap_x.txt similarity index 100% rename from Rover/JetsonGStreamerServer/remap_x.txt rename to Rover/RicohServer/remap_x.txt diff --git a/Rover/JetsonGStreamerServer/remap_y.txt b/Rover/RicohServer/remap_y.txt similarity index 100% rename from Rover/JetsonGStreamerServer/remap_y.txt rename to Rover/RicohServer/remap_y.txt diff --git a/Rover/JetsonGStreamerServer/remapping.java b/Rover/RicohServer/remapping.java similarity index 100% rename from Rover/JetsonGStreamerServer/remapping.java rename to Rover/RicohServer/remapping.java diff --git a/Rover/JetsonGStreamerServer/ricoh.cpp b/Rover/RicohServer/ricoh.cpp similarity index 100% rename from Rover/JetsonGStreamerServer/ricoh.cpp rename to Rover/RicohServer/ricoh.cpp diff --git a/Rover/JetsonGStreamerServer/ricoh.h b/Rover/RicohServer/ricoh.h similarity index 100% rename from Rover/JetsonGStreamerServer/ricoh.h rename to Rover/RicohServer/ricoh.h diff --git a/Rover/zed_depth/.gitignore b/Rover/ZedDepth/.gitignore similarity index 100% rename from Rover/zed_depth/.gitignore rename to Rover/ZedDepth/.gitignore diff --git a/Rover/zed_depth/Makefile b/Rover/ZedDepth/Makefile similarity index 86% rename from Rover/zed_depth/Makefile rename to Rover/ZedDepth/Makefile index 7659780..9dfe8f4 100644 --- a/Rover/zed_depth/Makefile +++ b/Rover/ZedDepth/Makefile @@ -5,7 +5,7 @@ CVFLAGS= `pkg-config --cflags --libs opencv4` INCLUDES= -I/usr/local/zed/include -I/usr/local/cuda/include -I../GStreamer LIBS= /usr/local/zed/lib/*.so -march=armv8-a+simd HEADERS= -DEPTH= zed_depth +DEPTH= zed-depth all: $(DEPTH) rm *.o @@ -16,10 +16,10 @@ debug: $(DEPTH)_debug server: $(HEADERS) ../GStreamer/server.cpp $(CPP) -O3 -c ../GStreamer/server.cpp $(GSFLAGS) $(CFLAGS) -zed_depth: $(HEADERS) $(DEPTH).cpp server +zed-depth: $(HEADERS) $(DEPTH).cpp server $(CPP) -O3 $(DEPTH).cpp -o $(DEPTH) server.o $(GSFLAGS) $(CVFLAGS) $(CFLAGS) $(INCLUDES) $(LIBS) -zed_depth_debug: $(HEADERS) $(DEPTH).cpp server +zed-depth_debug: $(HEADERS) $(DEPTH).cpp server $(CPP) -ggdb -D DEBUG $(DEPTH).cpp -o $(DEPTH) server.o $(GSFLAGS) $(CVFLAGS) $(CFLAGS) $(INCLUDES) $(LIBS) clean: diff --git a/Rover/ZedDepth/README.md b/Rover/ZedDepth/README.md new file mode 100644 index 0000000..85f7bd1 --- /dev/null +++ b/Rover/ZedDepth/README.md @@ -0,0 +1 @@ +# DO NOT run zed-depth binary directly except for testing. Run device-scanner binary in /Rover/GStreamer/ to operate other cameras over the network diff --git a/Rover/zed_depth/build b/Rover/ZedDepth/build similarity index 100% rename from Rover/zed_depth/build rename to Rover/ZedDepth/build diff --git a/Rover/zed_depth/ground.png b/Rover/ZedDepth/ground.png similarity index 100% rename from Rover/zed_depth/ground.png rename to Rover/ZedDepth/ground.png diff --git a/Rover/ZedDepth/run b/Rover/ZedDepth/run new file mode 100755 index 0000000..4666cdb --- /dev/null +++ b/Rover/ZedDepth/run @@ -0,0 +1 @@ +./zed-depth diff --git a/Rover/zed_depth/save_depth.cpp b/Rover/ZedDepth/save-depth.cpp similarity index 100% rename from Rover/zed_depth/save_depth.cpp rename to Rover/ZedDepth/save-depth.cpp diff --git a/Rover/ZedDepth/zed-depth b/Rover/ZedDepth/zed-depth new file mode 100755 index 0000000..348bfb8 Binary files /dev/null and b/Rover/ZedDepth/zed-depth differ diff --git a/Rover/zed_depth/zed_depth.cpp b/Rover/ZedDepth/zed-depth.cpp similarity index 98% rename from Rover/zed_depth/zed_depth.cpp rename to Rover/ZedDepth/zed-depth.cpp index 02eaed4..7c3300a 100644 --- a/Rover/zed_depth/zed_depth.cpp +++ b/Rover/ZedDepth/zed-depth.cpp @@ -94,12 +94,12 @@ int main(int argc, char *argv[]) data.argv[0] = argv[0]; data.argv[1] = "intervideosrc"; data.argv[2] = "zed_depth"; - data.argv[3] = "8888"; + data.argv[3] = "5556"; data.argv[4] = "intervideosrc channel=rgb ! rtpvrawpay name=pay0 pt=96"; writer.open("appsrc ! video/x-raw,format=BGR ! videoconvert ! video/x-raw,format=I420 ! intervideosink channel=rgb", 0, 10, cv::Size(img_zed.getWidth(), img_zed.getHeight()), true); - std::thread t1(start_server, data.argc, (char **) data.argv, nullptr); + std::thread t1(start_server, data.argc, (char **) data.argv); std::thread t2(getSomeImages); #ifdef DEBUG @@ -108,12 +108,12 @@ int main(int argc, char *argv[]) data2.argv[0] = argv[0]; data2.argv[1] = "intervideosrc"; data2.argv[2] = "zed_depth_debug"; - data2.argv[3] = "8889"; + data2.argv[3] = "8888"; data2.argv[4] = "intervideosrc channel=wshed ! rtpvrawpay name=pay0 pt=96"; writer_debug.open("appsrc ! video/x-raw,format=BGR ! videoconvert ! video/x-raw,format=I420 ! intervideosink channel=wshed", 0, 10, cv::Size(img_zed.getWidth(), img_zed.getHeight()), true); - std::thread t3(start_server, data2.argc, (char **) data2.argv, nullptr); + std::thread t3(start_server, data2.argc, (char **) data2.argv); #endif for(char key = ' '; key != 'q'; key = cv::waitKey(10)) diff --git a/Rover/zed_depth/run b/Rover/zed_depth/run deleted file mode 100755 index af8223d..0000000 --- a/Rover/zed_depth/run +++ /dev/null @@ -1 +0,0 @@ -./zed_depth \ No newline at end of file