From b7bc3f0d4488b6822506b9f93121249d078c38e3 Mon Sep 17 00:00:00 2001 From: dyknon Date: Sun, 11 Jan 2026 23:04:54 +0900 Subject: Rewritten: stop using ffmpeg. better flexibility about image size. --- ytdlsb-tasks.h | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 ytdlsb-tasks.h (limited to 'ytdlsb-tasks.h') diff --git a/ytdlsb-tasks.h b/ytdlsb-tasks.h new file mode 100644 index 0000000..86d3070 --- /dev/null +++ b/ytdlsb-tasks.h @@ -0,0 +1,39 @@ +#include +#include +#include +#include "ytdlsb-utils.h" + +typedef int ytdlsb_sock; +#define YTDLSB_POLLIN POLLIN +#define YTDLSB_POLLPRI POLLPRI +#define YTDLSB_POLLOUT POLLOUT + +struct ytdlsb_pollfd{ + ytdlsb_sock fd; + short events; + short revents; +}; +struct ytdlsb_task{ + int (*process)(struct ytdlsb_task *); + struct ytdlsb_pollfd *pollfd; + size_t pollfd_num; + struct timespec timeout; + void *data; +}; +struct ytdlsb_tasks{ + struct ytdlsb_task *tasks; + size_t task_num; +}; + +int ytdlsb_tasks_step(struct ytdlsb_tasks *tasks); +int ytdlsb_task_timeout_ms(struct ytdlsb_task *task, int ms); +int ytdlsb_task_timeout_ms_min(struct ytdlsb_task *task, int ms); +int ytdlsb_task_timeout_unset(struct ytdlsb_task *task); + +int ytdlsb_task_event_init(struct ytdlsb_task *task, + int (*cb)(void *), void *data); +void ytdlsb_task_event_destroy(struct ytdlsb_task *task); +int ytdlsb_task_event_wake(struct ytdlsb_task *task); + +int ytdlsb_task_fdto_from_curl( + struct ytdlsb_task *task, size_t off, int overwrite_timeout, CURLM* cm); -- cgit v1.2.3