Add device/dummy
This commit is contained in:
parent
f6309fa3b3
commit
c42262d649
@ -24,6 +24,7 @@ typedef struct buffer_s {
|
||||
|
||||
union {
|
||||
struct buffer_v4l2_s *v4l2;
|
||||
struct buffer_dummy_s *dummy;
|
||||
};
|
||||
|
||||
// State
|
||||
|
@ -17,6 +17,7 @@ typedef struct buffer_list_s {
|
||||
|
||||
union {
|
||||
struct buffer_list_v4l2_s *v4l2;
|
||||
struct buffer_list_dummy_s *dummy;
|
||||
};
|
||||
|
||||
unsigned fmt_width, fmt_height, fmt_format, fmt_bytesperline, fmt_interval_us;
|
||||
|
@ -40,6 +40,7 @@ typedef struct device_s {
|
||||
|
||||
union {
|
||||
struct device_v4l2_s *v4l2;
|
||||
struct device_dummy_s *dummy;
|
||||
};
|
||||
|
||||
device_t *output_device;
|
||||
|
30
device/dummy/buffer.c
Normal file
30
device/dummy/buffer.c
Normal file
@ -0,0 +1,30 @@
|
||||
#include "dummy.h"
|
||||
#include "device/buffer.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
int dummy_buffer_open(buffer_t *buf)
|
||||
{
|
||||
buf->dummy = calloc(1, sizeof(buffer_dummy_t));
|
||||
return 0;
|
||||
}
|
||||
|
||||
void dummy_buffer_close(buffer_t *buf)
|
||||
{
|
||||
free(buf->dummy);
|
||||
}
|
||||
|
||||
int dummy_buffer_enqueue(buffer_t *buf, const char *who)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
int dummy_buffer_list_dequeue(buffer_list_t *buf_list, buffer_t **bufp)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
int dummy_buffer_list_pollfd(buffer_list_t *buf_list, struct pollfd *pollfd, bool can_dequeue)
|
||||
{
|
||||
return -1;
|
||||
}
|
25
device/dummy/buffer_list.c
Normal file
25
device/dummy/buffer_list.c
Normal file
@ -0,0 +1,25 @@
|
||||
#include "dummy.h"
|
||||
#include "device/buffer_list.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
int dummy_buffer_list_open(buffer_list_t *buf_list, unsigned width, unsigned height, unsigned format, unsigned bytesperline)
|
||||
{
|
||||
buf_list->dummy = calloc(1, sizeof(buffer_list_dummy_t));
|
||||
return 0;
|
||||
}
|
||||
|
||||
void dummy_buffer_list_close(buffer_list_t *buf_list)
|
||||
{
|
||||
free(buf_list->dummy);
|
||||
}
|
||||
|
||||
int dummy_buffer_list_set_buffers(buffer_list_t *buf_list, int nbufs)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
int dummy_buffer_list_set_stream(buffer_list_t *buf_list, bool do_on)
|
||||
{
|
||||
return -1;
|
||||
}
|
35
device/dummy/device.c
Normal file
35
device/dummy/device.c
Normal file
@ -0,0 +1,35 @@
|
||||
#include "dummy.h"
|
||||
#include "device/device.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
int dummy_device_open(device_t *dev)
|
||||
{
|
||||
dev->dummy = calloc(1, sizeof(device_dummy_t));
|
||||
return 0;
|
||||
}
|
||||
|
||||
void dummy_device_close(device_t *dev)
|
||||
{
|
||||
free(dev->dummy);
|
||||
}
|
||||
|
||||
int dummy_device_set_decoder_start(device_t *dev, bool do_on)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
int dummy_device_video_force_key(device_t *dev)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
int dummy_device_set_fps(device_t *dev, int desired_fps)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
int dummy_device_set_option(device_t *dev, const char *key, const char *value)
|
||||
{
|
||||
return -1;
|
||||
}
|
28
device/dummy/dummy.c
Normal file
28
device/dummy/dummy.c
Normal file
@ -0,0 +1,28 @@
|
||||
#include "dummy.h"
|
||||
|
||||
#include "device/device.h"
|
||||
|
||||
device_hw_t dummy_device_hw = {
|
||||
.device_open = dummy_device_open,
|
||||
.device_close = dummy_device_close,
|
||||
.device_set_decoder_start = dummy_device_set_decoder_start,
|
||||
.device_video_force_key = dummy_device_video_force_key,
|
||||
.device_set_fps = dummy_device_set_fps,
|
||||
.device_set_option = dummy_device_set_option,
|
||||
|
||||
.buffer_open = dummy_buffer_open,
|
||||
.buffer_close = dummy_buffer_close,
|
||||
.buffer_enqueue = dummy_buffer_enqueue,
|
||||
|
||||
.buffer_list_dequeue = dummy_buffer_list_dequeue,
|
||||
.buffer_list_pollfd = dummy_buffer_list_pollfd,
|
||||
.buffer_list_open = dummy_buffer_list_open,
|
||||
.buffer_list_close = dummy_buffer_list_close,
|
||||
.buffer_list_set_buffers = dummy_buffer_list_set_buffers,
|
||||
.buffer_list_set_stream = dummy_buffer_list_set_stream
|
||||
};
|
||||
|
||||
device_t *device_dummy_open(const char *name, const char *path)
|
||||
{
|
||||
return device_open(name, path, &dummy_device_hw);
|
||||
}
|
36
device/dummy/dummy.h
Normal file
36
device/dummy/dummy.h
Normal file
@ -0,0 +1,36 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
typedef struct buffer_s buffer_t;
|
||||
typedef struct buffer_list_s buffer_list_t;
|
||||
typedef struct device_s device_t;
|
||||
struct pollfd;
|
||||
|
||||
typedef struct device_dummy_s {
|
||||
} device_dummy_t;
|
||||
|
||||
typedef struct buffer_list_dummy_s {
|
||||
} buffer_list_dummy_t;
|
||||
|
||||
typedef struct buffer_dummy_s {
|
||||
} buffer_dummy_t;
|
||||
|
||||
int dummy_device_open(device_t *dev);
|
||||
void dummy_device_close(device_t *dev);
|
||||
int dummy_device_set_decoder_start(device_t *dev, bool do_on);
|
||||
int dummy_device_video_force_key(device_t *dev);
|
||||
int dummy_device_set_fps(device_t *dev, int desired_fps);
|
||||
int dummy_device_set_option(device_t *dev, const char *key, const char *value);
|
||||
|
||||
int dummy_buffer_open(buffer_t *buf);
|
||||
void dummy_buffer_close(buffer_t *buf);
|
||||
int dummy_buffer_enqueue(buffer_t *buf, const char *who);
|
||||
int dummy_buffer_list_dequeue(buffer_list_t *buf_list, buffer_t **bufp);
|
||||
int dummy_buffer_list_pollfd(buffer_list_t *buf_list, struct pollfd *pollfd, bool can_dequeue);
|
||||
|
||||
int dummy_buffer_list_open(buffer_list_t *buf_list, unsigned width, unsigned height, unsigned format, unsigned bytesperline);
|
||||
void dummy_buffer_list_close(buffer_list_t *buf_list);
|
||||
int dummy_buffer_list_set_buffers(buffer_list_t *buf_list, int nbufs);
|
||||
int dummy_buffer_list_set_stream(buffer_list_t *buf_list, bool do_on);
|
Loading…
x
Reference in New Issue
Block a user