[FFmpeg-devel] [PATCH 77/87] avdevice/avdevice: Constify av_*_device_next API

James Almer jamrial at gmail.com
Mon Apr 19 17:10:14 EEST 2021


From: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
---
 doc/APIchanges           |  4 ++++
 fftools/cmdutils.c       |  4 ++--
 libavdevice/alldevices.c | 16 ++++++++--------
 libavdevice/avdevice.h   |  8 ++++----
 4 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index 443cb84b27..f405cd789c 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -17,6 +17,10 @@ API changes, most recent first:
 2021-04-17 - xxxxxxxxxx - lavu 56.73.100 - frame.h detection_bbox.h
   Add AV_FRAME_DATA_DETECTION_BBOXES
 
+2021-04-14 - xxxxxxxxxx - lavd yyyyyyyyy - avdevice.h
+  The av_*_device_next API functions now accept and return
+  pointers to const AVInputFormat resp. AVOutputFormat.
+
 2021-04-14 - xxxxxxxxxx - lavd yyyyyyyyy - avdevice.h
   avdevice_list_input_sources and avdevice_list_output_sinks now accept
   pointers to const AVInputFormat resp. const AVOutputFormat.
diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c
index 822fa8df45..4148285971 100644
--- a/fftools/cmdutils.c
+++ b/fftools/cmdutils.c
@@ -2289,7 +2289,7 @@ static int show_sinks_sources_parse_arg(const char *arg, char **dev, AVDictionar
 
 int show_sources(void *optctx, const char *opt, const char *arg)
 {
-    AVInputFormat *fmt = NULL;
+    const AVInputFormat *fmt = NULL;
     char *dev = NULL;
     AVDictionary *opts = NULL;
     int ret = 0;
@@ -2327,7 +2327,7 @@ int show_sources(void *optctx, const char *opt, const char *arg)
 
 int show_sinks(void *optctx, const char *opt, const char *arg)
 {
-    AVOutputFormat *fmt = NULL;
+    const AVOutputFormat *fmt = NULL;
     char *dev = NULL;
     AVDictionary *opts = NULL;
     int ret = 0;
diff --git a/libavdevice/alldevices.c b/libavdevice/alldevices.c
index 92b27a1d14..f65317018a 100644
--- a/libavdevice/alldevices.c
+++ b/libavdevice/alldevices.c
@@ -68,7 +68,7 @@ void avdevice_register_all(void)
     avpriv_register_devices(outdev_list, indev_list);
 }
 
-static void *next_input(const AVInputFormat *prev, AVClassCategory c2)
+static const void *next_input(const AVInputFormat *prev, AVClassCategory c2)
 {
     const AVClass *pc;
     const AVClassCategory c1 = AV_CLASS_CATEGORY_DEVICE_INPUT;
@@ -91,10 +91,10 @@ static void *next_input(const AVInputFormat *prev, AVClassCategory c2)
             continue;
         category = pc->category;
     } while (category != c1 && category != c2);
-    return (AVInputFormat *)fmt;
+    return fmt;
 }
 
-static void *next_output(const AVOutputFormat *prev, AVClassCategory c2)
+static const void *next_output(const AVOutputFormat *prev, AVClassCategory c2)
 {
     const AVClass *pc;
     const AVClassCategory c1 = AV_CLASS_CATEGORY_DEVICE_OUTPUT;
@@ -117,25 +117,25 @@ static void *next_output(const AVOutputFormat *prev, AVClassCategory c2)
             continue;
         category = pc->category;
     } while (category != c1 && category != c2);
-    return (AVOutputFormat *)fmt;
+    return fmt;
 }
 
-AVInputFormat *av_input_audio_device_next(AVInputFormat  *d)
+const AVInputFormat *av_input_audio_device_next(const AVInputFormat  *d)
 {
     return next_input(d, AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT);
 }
 
-AVInputFormat *av_input_video_device_next(AVInputFormat  *d)
+const AVInputFormat *av_input_video_device_next(const AVInputFormat  *d)
 {
     return next_input(d, AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT);
 }
 
-AVOutputFormat *av_output_audio_device_next(AVOutputFormat *d)
+const AVOutputFormat *av_output_audio_device_next(const AVOutputFormat *d)
 {
     return next_output(d, AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT);
 }
 
-AVOutputFormat *av_output_video_device_next(AVOutputFormat *d)
+const AVOutputFormat *av_output_video_device_next(const AVOutputFormat *d)
 {
     return next_output(d, AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT);
 }
diff --git a/libavdevice/avdevice.h b/libavdevice/avdevice.h
index d0b0f23f5d..8370bbc7f2 100644
--- a/libavdevice/avdevice.h
+++ b/libavdevice/avdevice.h
@@ -77,7 +77,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.
  */
-AVInputFormat *av_input_audio_device_next(AVInputFormat  *d);
+const AVInputFormat *av_input_audio_device_next(const AVInputFormat  *d);
 
 /**
  * Video input devices iterator.
@@ -86,7 +86,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.
  */
-AVInputFormat *av_input_video_device_next(AVInputFormat  *d);
+const AVInputFormat *av_input_video_device_next(const AVInputFormat  *d);
 
 /**
  * Audio output devices iterator.
@@ -95,7 +95,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.
  */
-AVOutputFormat *av_output_audio_device_next(AVOutputFormat *d);
+const AVOutputFormat *av_output_audio_device_next(const AVOutputFormat *d);
 
 /**
  * Video output devices iterator.
@@ -104,7 +104,7 @@ 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.
  */
-AVOutputFormat *av_output_video_device_next(AVOutputFormat *d);
+const AVOutputFormat *av_output_video_device_next(const AVOutputFormat *d);
 
 typedef struct AVDeviceRect {
     int x;      /**< x coordinate of top left corner */
-- 
2.31.1



More information about the ffmpeg-devel mailing list