diff --git a/cmd/camera-streamer/http.c b/cmd/camera-streamer/http.c index 813d512..7bbb213 100644 --- a/cmd/camera-streamer/http.c +++ b/cmd/camera-streamer/http.c @@ -3,7 +3,8 @@ #include "util/opts/log.h" #include "util/opts/fourcc.h" #include "device/camera/camera.h" -#include "rtsp/rtsp.h" +#include "output/output.h" +#include "output/rtsp/rtsp.h" extern unsigned char html_index_html[]; extern unsigned int html_index_html_len; diff --git a/cmd/camera-streamer/main.c b/cmd/camera-streamer/main.c index dad9008..3e5f47e 100644 --- a/cmd/camera-streamer/main.c +++ b/cmd/camera-streamer/main.c @@ -3,7 +3,7 @@ #include "util/opts/log.h" #include "util/opts/fourcc.h" #include "device/camera/camera.h" -#include "rtsp/rtsp.h" +#include "output/rtsp/rtsp.h" #include #include diff --git a/cmd/camera-streamer/opts.c b/cmd/camera-streamer/opts.c index 7c0028f..9cd0b2d 100644 --- a/cmd/camera-streamer/opts.c +++ b/cmd/camera-streamer/opts.c @@ -3,7 +3,7 @@ #include "util/opts/log.h" #include "util/opts/fourcc.h" #include "device/camera/camera.h" -#include "rtsp/rtsp.h" +#include "output/rtsp/rtsp.h" camera_options_t camera_options = { .path = "", diff --git a/device/camera/camera_output.c b/device/camera/camera_output.c index 5bd06bc..477688c 100644 --- a/device/camera/camera_output.c +++ b/device/camera/camera_output.c @@ -8,7 +8,8 @@ #include "util/opts/fourcc.h" #include "device/buffer_list.h" #include "util/http/http.h" -#include "rtsp/rtsp.h" +#include "output/rtsp/rtsp.h" +#include "output/output.h" static const char *jpeg_names[2] = { "JPEG", diff --git a/http/http_ffmpeg.c b/output/http_ffmpeg.c similarity index 99% rename from http/http_ffmpeg.c rename to output/http_ffmpeg.c index 93850e6..c475561 100644 --- a/http/http_ffmpeg.c +++ b/output/http_ffmpeg.c @@ -1,6 +1,7 @@ #include #include +#include "output.h" #include "util/opts/log.h" #include "util/http/http.h" #include "device/buffer.h" diff --git a/http/http_h264.c b/output/http_h264.c similarity index 99% rename from http/http_h264.c rename to output/http_h264.c index 005ece4..2d04157 100644 --- a/http/http_h264.c +++ b/output/http_h264.c @@ -1,6 +1,7 @@ #include #include +#include "output.h" #include "util/opts/log.h" #include "util/http/http.h" #include "device/buffer.h" diff --git a/http/http_jpeg.c b/output/http_jpeg.c similarity index 99% rename from http/http_jpeg.c rename to output/http_jpeg.c index 0641ccb..918ce14 100644 --- a/http/http_jpeg.c +++ b/output/http_jpeg.c @@ -1,6 +1,7 @@ #include #include +#include "output.h" #include "util/http/http.h" #include "device/buffer.h" #include "device/buffer_lock.h" diff --git a/output/output.h b/output/output.h new file mode 100644 index 0000000..ef6c68c --- /dev/null +++ b/output/output.h @@ -0,0 +1,26 @@ +#pragma once + +#include + +struct http_worker_s; +struct buffer_s; + +// M-JPEG +void http_snapshot(struct http_worker_s *worker, FILE *stream); +void http_stream(struct http_worker_s *worker, FILE *stream); +void http_jpeg_capture(struct buffer_s *buf); +void http_jpeg_lowres_capture(struct buffer_s *buf); +bool http_jpeg_needs_buffer(); +void http_option(struct http_worker_s *worker, FILE *stream); + +// H264 +bool http_h264_needs_buffer(); +void http_h264_capture(struct buffer_s *buf); +void http_h264_lowres_capture(struct buffer_s *buf); +void http_h264_video(struct http_worker_s *worker, FILE *stream); +bool h264_is_key_frame(struct buffer_s *buf); +void http_mkv_video(struct http_worker_s *worker, FILE *stream); +void http_mp4_video(struct http_worker_s *worker, FILE *stream); +void http_mov_video(struct http_worker_s *worker, FILE *stream); + +#define HTTP_LOW_RES_PARAM "res=low" diff --git a/rtsp/rtsp.cc b/output/rtsp/rtsp.cc similarity index 99% rename from rtsp/rtsp.cc rename to output/rtsp/rtsp.cc index 2a9ca23..cfb7ef9 100644 --- a/rtsp/rtsp.cc +++ b/output/rtsp/rtsp.cc @@ -7,6 +7,7 @@ extern "C" { #include "util/opts/log.h" #include "util/opts/fourcc.h" #include "util/opts/control.h" +#include "output/output.h" #include "rtsp.h" }; diff --git a/rtsp/rtsp.h b/output/rtsp/rtsp.h similarity index 100% rename from rtsp/rtsp.h rename to output/rtsp/rtsp.h diff --git a/util/http/http.h b/util/http/http.h index 319ee1d..83b5ff6 100644 --- a/util/http/http.h +++ b/util/http/http.h @@ -50,23 +50,3 @@ void http_200(FILE *stream, const char *data); void http_404(FILE *stream, const char *data); void http_500(FILE *stream, const char *data); void *http_enum_params(http_worker_t *worker, FILE *stream, http_param_fn fn, void *opaque); - -// M-JPEG -void http_snapshot(http_worker_t *worker, FILE *stream); -void http_stream(http_worker_t *worker, FILE *stream); -void http_jpeg_capture(struct buffer_s *buf); -void http_jpeg_lowres_capture(struct buffer_s *buf); -bool http_jpeg_needs_buffer(); -void http_option(http_worker_t *worker, FILE *stream); - -// H264 -bool http_h264_needs_buffer(); -void http_h264_capture(buffer_t *buf); -void http_h264_lowres_capture(buffer_t *buf); -void http_h264_video(http_worker_t *worker, FILE *stream); -bool h264_is_key_frame(buffer_t *buf); -void http_mkv_video(http_worker_t *worker, FILE *stream); -void http_mp4_video(http_worker_t *worker, FILE *stream); -void http_mov_video(http_worker_t *worker, FILE *stream); - -#define HTTP_LOW_RES_PARAM "res=low"