[FFmpeg-devel] [PATCH] fftools/opt_common: show if muxer is device

Stefano Sabatini stefasab at gmail.com
Tue Jan 16 01:58:02 EET 2024


---
 fftools/opt_common.c | 28 +++++++++++++++++++++-------
 1 file changed, 21 insertions(+), 7 deletions(-)

diff --git a/fftools/opt_common.c b/fftools/opt_common.c
index f5b73c9f2f..e263a5297e 100644
--- a/fftools/opt_common.c
+++ b/fftools/opt_common.c
@@ -853,14 +853,23 @@ static int show_formats_devices(void *optctx, const char *opt, const char *arg,
     const char *last_name;
     int is_dev;
 
-    printf("%s\n"
-           " D. = Demuxing supported\n"
-           " .E = Muxing supported\n"
-           " --\n", device_only ? "Devices:" : "File formats:");
+    if (device_only) {
+        printf("Devices:\n"
+               " D. = Demuxing supported\n"
+               " .E = Muxing supported\n"
+               " --\n");
+    } else {
+        printf("Formats:\n"
+               " D.. = Demuxing supported\n"
+               " .E. = Muxing supported\n"
+               " ..d = Is a device\n"
+               " ---\n");
+    }
     last_name = "000";
     for (;;) {
         int decode = 0;
         int encode = 0;
+        int device = 0;
         const char *name      = NULL;
         const char *long_name = NULL;
 
@@ -875,6 +884,7 @@ static int show_formats_devices(void *optctx, const char *opt, const char *arg,
                     name      = ofmt->name;
                     long_name = ofmt->long_name;
                     encode    = 1;
+                    device    = is_dev;
                 }
             }
         }
@@ -889,20 +899,24 @@ static int show_formats_devices(void *optctx, const char *opt, const char *arg,
                     name      = ifmt->name;
                     long_name = ifmt->long_name;
                     encode    = 0;
+                    device    = is_dev;
                 }
-                if (name && strcmp(ifmt->name, name) == 0)
+                if (name && strcmp(ifmt->name, name) == 0) {
                     decode = 1;
+                    device = is_dev;
+                }
             }
         }
         if (!name)
             break;
         last_name = name;
 
-        printf(" %c%c %-15s %s\n",
+        printf(" %c%c%s %-15s %s\n",
                decode ? 'D' : ' ',
                encode ? 'E' : ' ',
+               device_only ? "" : (device ? "d" : " "),
                name,
-            long_name ? long_name:" ");
+            long_name ? long_name : " ");
     }
     return 0;
 }
-- 
2.34.1



More information about the ffmpeg-devel mailing list