diff mbox series

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

Message ID 20200110112108.22983-1-anton@khirnov.net
State Accepted
Headers show
Series [FFmpeg-devel,1/2] examples/avio_dir_cmd: drop support for move/delete operations | expand

Checks

Context Check Description
andriy/ffmpeg-patchwork success Make fate finished

Commit Message

Anton Khirnov Jan. 10, 2020, 11:21 a.m. UTC
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%)

Comments

James Almer Jan. 10, 2020, 1:34 p.m. UTC | #1
On 1/10/2020 8:21 AM, Anton Khirnov wrote:
> 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.

LGTM, these should have never been used here to being with.

> ---
>  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();
>  
>
Marton Balint Jan. 10, 2020, 5:57 p.m. UTC | #2
On Fri, 10 Jan 2020, James Almer wrote:

> On 1/10/2020 8:21 AM, Anton Khirnov wrote:
>> 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.
>
> LGTM, these should have never been used here to being with.

The idea was to make the API public, but there was no consensus about it, 
so the avpriv stuff became a compromise.

Regards,
Marton

>
>> ---
>>  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();
>> 
>> 
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
James Almer Jan. 10, 2020, 6:30 p.m. UTC | #3
On 1/10/2020 2:57 PM, Marton Balint wrote:
> 
> 
> On Fri, 10 Jan 2020, James Almer wrote:
> 
>> On 1/10/2020 8:21 AM, Anton Khirnov wrote:
>>> 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.
>>
>> LGTM, these should have never been used here to being with.
> 
> The idea was to make the API public, but there was no consensus about
> it, so the avpriv stuff became a compromise.

The functions should have been moved to avio_internal.h until there was
consensus, then. Being private they obviously can't be used here.

> 
> Regards,
> Marton
> 
>>
>>> ---
>>>  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();
>>>
>>>
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel@ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>> To unsubscribe, visit link above, or email
>> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
diff mbox series

Patch

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();