[FFmpeg-cvslog] avformat/file: Combine all CONFIG_ANDROID_CONTENT_PROTOCOL blocks

Andreas Rheinhardt git at videolan.org
Tue Mar 26 07:44:08 EET 2024


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Sat Mar 23 13:10:40 2024 +0100| [e95dd6f53e49325f95ac2243acf3667a6ddf40ac] | committer: Andreas Rheinhardt

avformat/file: Combine all CONFIG_ANDROID_CONTENT_PROTOCOL blocks

Besides improving readability this also ensures that
a developer who has the android content protocol enabled
and works on the other parts of the file will not
forget to add necessary inclusions just because of
(indirect) inclusions from the files included only
when said protocol is enabled.

Reviewed-by: Matthieu Bouron <matthieu.bouron at gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e95dd6f53e49325f95ac2243acf3667a6ddf40ac
---

 libavformat/file.c | 36 +++++++++++++++---------------------
 1 file changed, 15 insertions(+), 21 deletions(-)

diff --git a/libavformat/file.c b/libavformat/file.c
index 8f3b35c795..182995717a 100644
--- a/libavformat/file.c
+++ b/libavformat/file.c
@@ -40,12 +40,6 @@
 #include <stdlib.h>
 #include "os_support.h"
 #include "url.h"
-#if CONFIG_ANDROID_CONTENT_PROTOCOL
-#include <jni.h>
-#include "libavcodec/jni.h"
-#include "libavcodec/ffjni.c"
-#endif
-
 
 /* Some systems may not have S_ISFIFO */
 #ifndef S_ISFIFO
@@ -107,21 +101,6 @@ typedef struct FileContext {
     int64_t initial_pos;
 } FileContext;
 
-
-#if CONFIG_ANDROID_CONTENT_PROTOCOL
-static const AVOption android_content_options[] = {
-    { "blocksize", "set I/O operation maximum block size", offsetof(FileContext, blocksize), AV_OPT_TYPE_INT, { .i64 = INT_MAX }, 1, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM },
-    { NULL }
-};
-
-static const AVClass android_content_class = {
-    .class_name = "android_content",
-    .item_name  = av_default_item_name,
-    .option     = android_content_options,
-    .version    = LIBAVUTIL_VERSION_INT,
-};
-#endif
-
 static const AVOption file_options[] = {
     { "truncate", "truncate existing files on write", offsetof(FileContext, trunc), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, AV_OPT_FLAG_ENCODING_PARAM },
     { "blocksize", "set I/O operation maximum block size", offsetof(FileContext, blocksize), AV_OPT_TYPE_INT, { .i64 = INT_MAX }, 1, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM },
@@ -547,6 +526,9 @@ const URLProtocol ff_fd_protocol = {
 #endif /* CONFIG_FD_PROTOCOL */
 
 #if CONFIG_ANDROID_CONTENT_PROTOCOL
+#include <jni.h>
+#include "libavcodec/jni.h"
+#include "libavcodec/ffjni.c"
 
 typedef struct JFields {
     jclass uri_class;
@@ -670,6 +652,18 @@ done:
     return ret;
 }
 
+static const AVOption android_content_options[] = {
+    { "blocksize", "set I/O operation maximum block size", offsetof(FileContext, blocksize), AV_OPT_TYPE_INT, { .i64 = INT_MAX }, 1, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM },
+    { NULL }
+};
+
+static const AVClass android_content_class = {
+    .class_name = "android_content",
+    .item_name  = av_default_item_name,
+    .option     = android_content_options,
+    .version    = LIBAVUTIL_VERSION_INT,
+};
+
 const URLProtocol ff_android_content_protocol = {
     .name                = "content",
     .url_open            = android_content_open,



More information about the ffmpeg-cvslog mailing list