summaryrefslogtreecommitdiff
path: root/libavdevice/decklink_enc.cpp
diff options
context:
space:
mode:
authorDevin Heitmueller <dheitmueller@ltnglobal.com>2017-10-06 08:55:43 -0400
committerMarton Balint <cus@passwd.hu>2017-10-10 20:07:25 +0200
commit278588cd0bf788df0194f74e62745f68559616f9 (patch)
tree6b45e4f085055a103d796dbf7dccf938de348579 /libavdevice/decklink_enc.cpp
parentff6de6b180fd7c931410f81fb404ab3dbf30d40b (diff)
downloadffmpeg-278588cd0bf788df0194f74e62745f68559616f9.tar.gz
libavdevice/decklink: add support for -sources and -sinks arguments
Add support for enumerating the sources/sinks via the ffmpeg command line options, as opposed to having to create a real pipeline and use the "-list_devices" option which does exit() after dumping out the options. Note that this patch preserves the existing "-list_devices" option, but now shares common code for the actual enumeration. Updated to reflect feedback from Marton Balint <cus@passwd.hu>. Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com> Signed-off-by: Marton Balint <cus@passwd.hu>
Diffstat (limited to 'libavdevice/decklink_enc.cpp')
-rw-r--r--libavdevice/decklink_enc.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/libavdevice/decklink_enc.cpp b/libavdevice/decklink_enc.cpp
index 25ce7d026c..0776741812 100644
--- a/libavdevice/decklink_enc.cpp
+++ b/libavdevice/decklink_enc.cpp
@@ -33,6 +33,7 @@ extern "C" {
extern "C" {
#include "libavformat/avformat.h"
#include "libavutil/imgutils.h"
+#include "avdevice.h"
}
#include "decklink_common.h"
@@ -335,9 +336,9 @@ av_cold int ff_decklink_write_header(AVFormatContext *avctx)
ctx->preroll = cctx->preroll;
cctx->ctx = ctx;
- /* List available devices. */
+ /* List available devices and exit. */
if (ctx->list_devices) {
- ff_decklink_list_devices(avctx);
+ ff_decklink_list_devices_legacy(avctx, 0, 1);
return AVERROR_EXIT;
}
@@ -400,4 +401,9 @@ int ff_decklink_write_packet(AVFormatContext *avctx, AVPacket *pkt)
return AVERROR(EIO);
}
+int ff_decklink_list_output_devices(AVFormatContext *avctx, struct AVDeviceInfoList *device_list)
+{
+ return ff_decklink_list_devices(avctx, device_list, 0, 1);
+}
+
} /* extern "C" */