diff --git a/device/camera/camera_decoder.c b/device/camera/camera_decoder.c index 16045ea..59b72b6 100644 --- a/device/camera/camera_decoder.c +++ b/device/camera/camera_decoder.c @@ -12,6 +12,8 @@ #include "output/rtsp/rtsp.h" #include "output/output.h" +#include + static unsigned decoder_formats[] = { // best quality @@ -36,7 +38,7 @@ static void decoder_debug_on_buffer(buffer_t *buf) static int index = 0; char path[256]; - sprintf(path, "/tmp/decoder_capture.%d.%s", index++ % 10, fourcc_to_string(buf->buf_list->fmt.format).buf); + sprintf(path, "%s/decoder_capture.%d.%s", getenv("CAMERA_DECODER_DEBUG"), index++ % 10, fourcc_to_string(buf->buf_list->fmt.format).buf); FILE *fp = fopen(path, "wb"); if (!fp) { @@ -72,6 +74,8 @@ buffer_list_t *camera_configure_decoder(camera_t *camera, buffer_list_t *src_cap camera->decoder, NULL, decoder_output, chosen_format, true); if (getenv("CAMERA_DECODER_DEBUG")) { + mkdir(getenv("CAMERA_DECODER_DEBUG"), 0755); + camera_capture_add_callbacks(camera, src_capture, decoder_debug_callbacks); camera_capture_add_callbacks(camera, decoder_capture, decoder_debug_callbacks); }