[FFmpeg-devel] [PATCH 1/2] examples/avio_dir_cmd: drop support for move/delete operations

Anton Khirnov anton at khirnov.net
Fri Jan 10 13:21:07 EET 2020


They use non-public functions, which is unacceptable for a public API
example. Rename the example back to avio_list_dir.

This effectively reverts c84d208c275d6a43b3c3421d38772179abf8acee and
767d780ec001167b2fd8f6cfe4ef78a3a8b1e34c.
---
 configure                                     |  4 +-
 doc/examples/.gitignore                       |  2 +-
 doc/examples/Makefile                         |  2 +-
 doc/examples/Makefile.example                 |  2 +-
 .../{avio_dir_cmd.c => avio_list_dir.c}       | 56 ++-----------------
 5 files changed, 9 insertions(+), 57 deletions(-)
 rename doc/examples/{avio_dir_cmd.c => avio_list_dir.c} (69%)

diff --git a/configure b/configure
index 46f2038627..65a5a30f36 100755
--- a/configure
+++ b/configure
@@ -1664,7 +1664,7 @@ COMPONENT_LIST="
 "
 
 EXAMPLE_LIST="
-    avio_dir_cmd_example
+    avio_list_dir_example
     avio_reading_example
     decode_audio_example
     decode_video_example
@@ -3599,7 +3599,7 @@ yadif_cuda_filter_deps="ffnvcodec"
 yadif_cuda_filter_deps_any="cuda_nvcc cuda_llvm"
 
 # examples
-avio_dir_cmd_deps="avformat avutil"
+avio_list_dir_deps="avformat avutil"
 avio_reading_deps="avformat avcodec avutil"
 decode_audio_example_deps="avcodec avutil"
 decode_video_example_deps="avcodec avutil"
diff --git a/doc/examples/.gitignore b/doc/examples/.gitignore
index 75152cb50b..44960e1de7 100644
--- a/doc/examples/.gitignore
+++ b/doc/examples/.gitignore
@@ -1,4 +1,4 @@
-/avio_dir_cmd
+/avio_list_dir
 /avio_reading
 /decode_audio
 /decode_video
diff --git a/doc/examples/Makefile b/doc/examples/Makefile
index 2935424e54..81bfd34d5d 100644
--- a/doc/examples/Makefile
+++ b/doc/examples/Makefile
@@ -1,4 +1,4 @@
-EXAMPLES-$(CONFIG_AVIO_DIR_CMD_EXAMPLE)      += avio_dir_cmd
+EXAMPLES-$(CONFIG_AVIO_LIST_DIR_EXAMPLE)     += avio_list_dir
 EXAMPLES-$(CONFIG_AVIO_READING_EXAMPLE)      += avio_reading
 EXAMPLES-$(CONFIG_DECODE_AUDIO_EXAMPLE)      += decode_audio
 EXAMPLES-$(CONFIG_DECODE_VIDEO_EXAMPLE)      += decode_video
diff --git a/doc/examples/Makefile.example b/doc/examples/Makefile.example
index 6428154c51..a232d97f98 100644
--- a/doc/examples/Makefile.example
+++ b/doc/examples/Makefile.example
@@ -11,7 +11,7 @@ CFLAGS += -Wall -g
 CFLAGS := $(shell pkg-config --cflags $(FFMPEG_LIBS)) $(CFLAGS)
 LDLIBS := $(shell pkg-config --libs $(FFMPEG_LIBS)) $(LDLIBS)
 
-EXAMPLES=       avio_dir_cmd                       \
+EXAMPLES=       avio_list_dir                      \
                 avio_reading                       \
                 decode_audio                       \
                 decode_video                       \
diff --git a/doc/examples/avio_dir_cmd.c b/doc/examples/avio_list_dir.c
similarity index 69%
rename from doc/examples/avio_dir_cmd.c
rename to doc/examples/avio_list_dir.c
index 0722bd9ab1..3073baaefa 100644
--- a/doc/examples/avio_dir_cmd.c
+++ b/doc/examples/avio_list_dir.c
@@ -102,38 +102,15 @@ static int list_op(const char *input_dir)
     return ret;
 }
 
-static int del_op(const char *url)
-{
-    int ret = avpriv_io_delete(url);
-    if (ret < 0)
-        av_log(NULL, AV_LOG_ERROR, "Cannot delete '%s': %s.\n", url, av_err2str(ret));
-    return ret;
-}
-
-static int move_op(const char *src, const char *dst)
-{
-    int ret = avpriv_io_move(src, dst);
-    if (ret < 0)
-        av_log(NULL, AV_LOG_ERROR, "Cannot move '%s' into '%s': %s.\n", src, dst, av_err2str(ret));
-    return ret;
-}
-
-
 static void usage(const char *program_name)
 {
-    fprintf(stderr, "usage: %s OPERATION entry1 [entry2]\n"
-            "API example program to show how to manipulate resources "
-            "accessed through AVIOContext.\n"
-            "OPERATIONS:\n"
-            "list      list content of the directory\n"
-            "move      rename content in directory\n"
-            "del       delete content in directory\n",
-            program_name);
+    fprintf(stderr, "usage: %s input_dir\n"
+            "API example program to show how to list files in directory "
+            "accessed through AVIOContext.\n", program_name);
 }
 
 int main(int argc, char *argv[])
 {
-    const char *op = NULL;
     int ret;
 
     av_log_set_level(AV_LOG_DEBUG);
@@ -145,32 +122,7 @@ int main(int argc, char *argv[])
 
     avformat_network_init();
 
-    op = argv[1];
-    if (strcmp(op, "list") == 0) {
-        if (argc < 3) {
-            av_log(NULL, AV_LOG_INFO, "Missing argument for list operation.\n");
-            ret = AVERROR(EINVAL);
-        } else {
-            ret = list_op(argv[2]);
-        }
-    } else if (strcmp(op, "del") == 0) {
-        if (argc < 3) {
-            av_log(NULL, AV_LOG_INFO, "Missing argument for del operation.\n");
-            ret = AVERROR(EINVAL);
-        } else {
-            ret = del_op(argv[2]);
-        }
-    } else if (strcmp(op, "move") == 0) {
-        if (argc < 4) {
-            av_log(NULL, AV_LOG_INFO, "Missing argument for move operation.\n");
-            ret = AVERROR(EINVAL);
-        } else {
-            ret = move_op(argv[2], argv[3]);
-        }
-    } else {
-        av_log(NULL, AV_LOG_INFO, "Invalid operation %s\n", op);
-        ret = AVERROR(EINVAL);
-    }
+    ret = list_op(argv[1]);
 
     avformat_network_deinit();
 
-- 
2.24.1



More information about the ffmpeg-devel mailing list