[FFmpeg-devel] [PATCH 1/2] examples/avio_dir_cmd: drop support for move/delete operations
James Almer
jamrial at gmail.com
Fri Jan 10 20:30:04 EET 2020
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 at ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>> To unsubscribe, visit link above, or email
>> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list