These functions rely on deprecated libavformat APIs and apparently have
zero users outside of cmdutils. Since the functionality they provide is
apparently not useful to anyone, deprecate them without replacement.
---
doc/APIchanges | 4 ++++
fftools/cmdutils.c | 2 +-
fftools/cmdutils.h | 4 ++--
libavdevice/avdevice.c | 4 ++++
libavdevice/avdevice.h | 6 ++++++
5 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/doc/APIchanges b/doc/APIchanges
index fb5534b5f5..f5b2a7b964 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,10 @@ libavutil: 2017-10-21
API changes, most recent first:
+2020-xx-xx - avdevice.h
+ Deprecate av_input_video_device_next, av_output_video_device_next,
+ av_input_audio_device_next, av_output_audio_device_next
+
2020-xx-xx - xxxxxxxxxx - lavc 58.88.100 - avcodec.h codec.h
Move AVCodec-related public API to new header codec.h.
diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c
index dec18850d8..a948d478d5 100644
--- a/fftools/cmdutils.c
+++ b/fftools/cmdutils.c
@@ -2216,7 +2216,7 @@ double get_rotation(AVStream *st)
return theta;
}
-#if CONFIG_AVDEVICE
+#if CONFIG_AVDEVICE && FF_API_NEXT
static int print_device_sources(AVInputFormat *fmt, AVDictionary *opts)
{
int ret, i;
diff --git a/fftools/cmdutils.h b/fftools/cmdutils.h
index 1917510589..ae5208f1aa 100644
--- a/fftools/cmdutils.h
+++ b/fftools/cmdutils.h
@@ -201,7 +201,7 @@ typedef struct OptionDef {
void show_help_options(const OptionDef *options, const char *msg, int
req_flags,
int rej_flags, int alt_flags);
-#if CONFIG_AVDEVICE
+#if CONFIG_AVDEVICE && FF_API_NEXT
#define CMDUTILS_COMMON_OPTIONS_AVDEVICE
\
{ "sources" , OPT_EXIT | HAS_ARG, { .func_arg = show_sources },
\
"list sources of the input device", "device" },
\
@@ -498,7 +498,7 @@ int show_demuxers(void *optctx, const char *opt, const char
*arg);
*/
int show_devices(void *optctx, const char *opt, const char *arg);
-#if CONFIG_AVDEVICE
+#if CONFIG_AVDEVICE && FF_API_NEXT
/**
* Print a listing containing autodetected sinks of the output device.
* Device name with options may be passed as an argument to limit results.
diff --git a/libavdevice/avdevice.c b/libavdevice/avdevice.c
index 3d03d89f04..e45cc06153 100644
--- a/libavdevice/avdevice.c
+++ b/libavdevice/avdevice.c
@@ -78,6 +78,8 @@ const char * avdevice_license(void)
return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1];
}
+#if FF_API_NEXT
+FF_DISABLE_DEPRECATION_WARNINGS
static void *device_next(void *prev, int output,
AVClassCategory c1, AVClassCategory c2)
{
@@ -99,6 +101,7 @@ static void *device_next(void *prev, int output,
} while (category != c1 && category != c2);
return prev;
}
+FF_ENABLE_DEPRECATION_WARNINGS
AVInputFormat *av_input_audio_device_next(AVInputFormat *d)
{
@@ -123,6 +126,7 @@ AVOutputFormat *av_output_video_device_next(AVOutputFormat
*d)
return device_next(d, 1, AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT,
AV_CLASS_CATEGORY_DEVICE_OUTPUT);
}
+#endif
int avdevice_app_to_dev_control_message(struct AVFormatContext *s, enum
AVAppToDevMessageType type,
void *data, size_t data_size)
diff --git a/libavdevice/avdevice.h b/libavdevice/avdevice.h
index ee9462480e..c63f661fc7 100644
--- a/libavdevice/avdevice.h
+++ b/libavdevice/avdevice.h
@@ -70,6 +70,7 @@ const char *avdevice_license(void);
*/
void avdevice_register_all(void);
+#if FF_API_NEXT
/**
* Audio input devices iterator.
*
@@ -77,6 +78,7 @@ void avdevice_register_all(void);
* if d is non-NULL, returns the next registered input audio/video device
after d
* or NULL if d is the last one.
*/
+attribute_deprecated
AVInputFormat *av_input_audio_device_next(AVInputFormat *d);
/**
@@ -86,6 +88,7 @@ AVInputFormat *av_input_audio_device_next(AVInputFormat *d);
* if d is non-NULL, returns the next registered input audio/video device
after d
* or NULL if d is the last one.
*/
+attribute_deprecated
AVInputFormat *av_input_video_device_next(AVInputFormat *d);
/**
@@ -95,6 +98,7 @@ AVInputFormat *av_input_video_device_next(AVInputFormat *d);
* if d is non-NULL, returns the next registered output audio/video device
after d
* or NULL if d is the last one.
*/
+attribute_deprecated
AVOutputFormat *av_output_audio_device_next(AVOutputFormat *d);
/**
@@ -104,7 +108,9 @@ AVOutputFormat *av_output_audio_device_next(AVOutputFormat
*d);
* if d is non-NULL, returns the next registered output audio/video device
after d
* or NULL if d is the last one.
*/
+attribute_deprecated
AVOutputFormat *av_output_video_device_next(AVOutputFormat *d);
+#endif
typedef struct AVDeviceRect {
int x; /**< x coordinate of top left corner */
--
2.26.2
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".