From d40fd9b1adab64182ce8af0b8e19cfc8a93171d7 Mon Sep 17 00:00:00 2001 From: Uros Majstorovic Date: Sat, 9 Sep 2017 15:36:21 +0200 Subject: video streaming test updated; not tested --- code/test/vid/cap.c | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) (limited to 'code/test/vid/cap.c') diff --git a/code/test/vid/cap.c b/code/test/vid/cap.c index c156fab..99fa500 100644 --- a/code/test/vid/cap.c +++ b/code/test/vid/cap.c @@ -398,7 +398,7 @@ int v4l2_set_mmap(int fd, int *buffers_count) return CAP_OK; } -int v4l2_retrieve_frame(int fd, int buffers_count, vpx_image_t *raw, vpx_codec_ctx_t *codec, int frame_count, int kframe_interval) +int v4l2_retrieve_frame(int fd, int buffers_count, vpx_image_t *raw, vpx_codec_ctx_t *codec, int frame_index, int kframe_interval) { int sz; fd_set fds; @@ -445,10 +445,11 @@ int v4l2_retrieve_frame(int fd, int buffers_count, vpx_image_t *raw, vpx_codec_c // printf("Length: %d \tBytesused: %d \tAddress: %p\n", buf.length, buf.bytesused, &buffers[buf.index]); sz = ALIGN_16B(width) * height * 3 / 2; - vpx_img_read(raw, buffers[buf.index].start, sz); - if (frame_count % kframe_interval == 0) - flags |= VPX_EFLAG_FORCE_KF; - vpx_encode_frame(codec, raw, frame_count, flags); + if (!vpx_img_read(raw, buffers[buf.index].start, sz)) { + die_codec(NULL, "Failed to read image."); + } + if (frame_index % kframe_interval == 0) flags |= VPX_EFLAG_FORCE_KF; + vpx_encode_frame(codec, raw, frame_index, flags); if (xioctl(fd, VIDIOC_QBUF, &buf) == -1) { CAP_ERROR_RET("failed to queue buffer."); @@ -475,7 +476,6 @@ int v4l2_close_camera(int fd, int buffers_count) int main(int argc, char *argv[]) { - int i, n; int fd; int target_bitrate = 200; double after; @@ -484,13 +484,12 @@ int main(int argc, char *argv[]) int buffers_count; int kframe_interval; vpx_codec_er_flags_t err_resilient; - int frame_count; - char *out_fname; + char *address; + char *key_file; if (argc != 13) { - CAP_ERROR_RET("./cap