History

avdevice/decklink: move queue_size to an argument for ff_decklink_packet_queue_init

The existing queue initialization function would always sets it's maximum queue size to ctx->queue_size. But because we are introducing more queues we may want the sizes to differ between them. Move the specification of the queue size into an argument, which can be passed from the caller. This patch makes no functional change to the behavior. It is being made to accommodate Marton Balin's request to split out the queue size for the new VANC queue being introduced in a later patch.

Devin Heitmueller committed 3 years ago

Commit e7d800f1 parent 5930d393 files · +4 −5Browse files

Unified · Split

3 files
  1. libavdevice/decklink_common.cpp +2 −3
  2. libavdevice/decklink_common.h +1 −1
  3. libavdevice/decklink_dec.cpp +1 −1
libavdevice/decklink_common.cpp+2−3
@@ -390,14 +390,13 @@ int ff_decklink_set_format(AVFormatContext *avctx, decklink_direction_t directio · 389 unmodified lines
390390 return ff_decklink_set_format(avctx, 0, 0, 0, 0, AV_FIELD_UNKNOWN, direction);
391391 }
392392
393−void ff_decklink_packet_queue_init(AVFormatContext *avctx, DecklinkPacketQueue *q)
393+void ff_decklink_packet_queue_init(AVFormatContext *avctx, DecklinkPacketQueue *q, int64_t queue_size)
394394 {
395− struct decklink_cctx *ctx = (struct decklink_cctx *)avctx->priv_data;
396395 memset(q, 0, sizeof(DecklinkPacketQueue));
397396 pthread_mutex_init(&q->mutex, NULL);
398397 pthread_cond_init(&q->cond, NULL);
399398 q->avctx = avctx;
400− q->max_q_size = ctx->queue_size;
399+ q->max_q_size = queue_size;
401400 }
402401
403402 void ff_decklink_packet_queue_flush(DecklinkPacketQueue *q)
libavdevice/decklink_common.h+1−1
@@ -235,7 +235,7 @@ int ff_decklink_list_formats(AVFormatContext *avctx, decklink_direction_t direct · 234 unmodified lines
235235 void ff_decklink_cleanup(AVFormatContext *avctx);
236236 int ff_decklink_init_device(AVFormatContext *avctx, const char* name);
237237
238−void ff_decklink_packet_queue_init(AVFormatContext *avctx, DecklinkPacketQueue *q);
238+void ff_decklink_packet_queue_init(AVFormatContext *avctx, DecklinkPacketQueue *q, int64_t queue_size);
239239 void ff_decklink_packet_queue_flush(DecklinkPacketQueue *q);
240240 void ff_decklink_packet_queue_end(DecklinkPacketQueue *q);
241241 unsigned long long ff_decklink_packet_queue_size(DecklinkPacketQueue *q);
libavdevice/decklink_dec.cpp+1−1
@@ -1297,7 +1297,7 @@ av_cold int ff_decklink_read_header(AVFormatContext *avctx) · 1296 unmodified lines
12971297 goto error;
12981298 }
12991299
1300− ff_decklink_packet_queue_init(avctx, &ctx->queue);
1300+ ff_decklink_packet_queue_init(avctx, &ctx->queue, cctx->queue_size);
13011301
13021302 if (ctx->dli->StartStreams() != S_OK) {
13031303 av_log(avctx, AV_LOG_ERROR, "Cannot start input stream\n");

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t