summaryrefslogtreecommitdiff
path: root/libavdevice/avdevice.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavdevice/avdevice.c')
-rw-r--r--libavdevice/avdevice.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/libavdevice/avdevice.c b/libavdevice/avdevice.c
index 58996404b3..b47f89c4bf 100644
--- a/libavdevice/avdevice.c
+++ b/libavdevice/avdevice.c
@@ -19,6 +19,7 @@
#include "libavutil/avassert.h"
#include "avdevice.h"
#include "internal.h"
+#include "libavformat/mux.h"
#if FF_API_DEVICE_CAPABILITIES
const AVOption av_device_capabilities[] = {
@@ -29,9 +30,9 @@ const AVOption av_device_capabilities[] = {
int avdevice_app_to_dev_control_message(struct AVFormatContext *s, enum AVAppToDevMessageType type,
void *data, size_t data_size)
{
- if (!s->oformat || !s->oformat->control_message)
+ if (!s->oformat || !ffofmt(s->oformat)->control_message)
return AVERROR(ENOSYS);
- return s->oformat->control_message(s, type, data, data_size);
+ return ffofmt(s->oformat)->control_message(s, type, data, data_size);
}
int avdevice_dev_to_app_control_message(struct AVFormatContext *s, enum AVDevToAppMessageType type,
@@ -61,7 +62,7 @@ int avdevice_list_devices(AVFormatContext *s, AVDeviceInfoList **device_list)
av_assert0(s);
av_assert0(device_list);
av_assert0(s->oformat || s->iformat);
- if ((s->oformat && !s->oformat->get_device_list) ||
+ if ((s->oformat && !ffofmt(s->oformat)->get_device_list) ||
(s->iformat && !s->iformat->get_device_list)) {
*device_list = NULL;
return AVERROR(ENOSYS);
@@ -72,7 +73,7 @@ int avdevice_list_devices(AVFormatContext *s, AVDeviceInfoList **device_list)
/* no default device by default */
(*device_list)->default_device = -1;
if (s->oformat)
- ret = s->oformat->get_device_list(s, *device_list);
+ ret = ffofmt(s->oformat)->get_device_list(s, *device_list);
else
ret = s->iformat->get_device_list(s, *device_list);
if (ret < 0) {