Re: [FFmpeg-devel] [PATCH 1/2] examples/avio_dir_cmd: drop support for move/delete operations
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",
Re: [FFmpeg-devel] [PATCH 1/2] examples/avio_dir_cmd: drop support for move/delete operations
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 =
Re: [FFmpeg-devel] [PATCH 1/2] examples/avio_dir_cmd: drop support for move/delete operations
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) { > -