Add -snapshot.height, -stream.height and -video.height

This commit is contained in:
Kamil Trzciński
2022-10-29 14:30:43 +02:00
committed by Kamil Trzcinski
parent c18561c9f8
commit ca08adb62f
29 changed files with 553 additions and 514 deletions

View File

@ -34,12 +34,14 @@ int _build_fds(link_t *all_links, struct pollfd *fds, link_t **links, buffer_lis
bool paused = true;
if (link->callbacks.check_streaming && link->callbacks.check_streaming()) {
paused = false;
}
for (int j = 0; j < link->n_callbacks; j++) {
if (link->callbacks[j].check_streaming && link->callbacks[j].check_streaming()) {
paused = false;
}
if (link->callbacks.buf_lock && buffer_lock_needs_buffer(link->callbacks.buf_lock)) {
paused = false;
if (link->callbacks[j].buf_lock && buffer_lock_needs_buffer(link->callbacks[j].buf_lock)) {
paused = false;
}
}
for (int j = 0; link->sinks[j]; j++) {
@ -127,9 +129,11 @@ int links_enqueue_from_source(buffer_list_t *buf_list, link_t *link)
LOG_ERROR(buf_list, "No buffer dequeued from source?");
}
if (link->callbacks.validate_buffer && !link->callbacks.validate_buffer(link, buf)) {
LOG_DEBUG(buf_list, "Buffer rejected by validation");
return 0;
for (int j = 0; j < link->n_callbacks; j++) {
if (link->callbacks[j].validate_buffer && !link->callbacks[j].validate_buffer(link, buf)) {
LOG_DEBUG(buf_list, "Buffer rejected by validation");
return 0;
}
}
for (int j = 0; link->sinks[j]; j++) {
@ -142,12 +146,14 @@ int links_enqueue_from_source(buffer_list_t *buf_list, link_t *link)
buffer_list_enqueue(link->sinks[j], buf);
}
if (link->callbacks.on_buffer) {
link->callbacks.on_buffer(buf);
}
for (int j = 0; j < link->n_callbacks; j++) {
if (link->callbacks[j].on_buffer) {
link->callbacks[j].on_buffer(buf);
}
if (link->callbacks.buf_lock) {
buffer_lock_capture(link->callbacks.buf_lock, buf);
if (link->callbacks[j].buf_lock) {
buffer_lock_capture(link->callbacks[j].buf_lock, buf);
}
}
return 0;
@ -346,10 +352,10 @@ void links_dump(link_t *all_links)
links_dump_buf_list(line, link->sinks[j]);
}
if (link->callbacks.name) {
if (link->sinks[0])
for (int j = 0; j < link->n_callbacks; j++) {
if (link->sinks[0] || j > 0)
strcat(line, ", ");
strcat(line, link->callbacks.name);
strcat(line, link->callbacks[j].name);
}
strcat(line, "]");