From e95dd6f53e49325f95ac2243acf3667a6ddf40ac Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Sat, 23 Mar 2024 13:10:40 +0100 Subject: [PATCH] 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 Signed-off-by: Andreas Rheinhardt --- 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 #include "os_support.h" #include "url.h" -#if CONFIG_ANDROID_CONTENT_PROTOCOL -#include -#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 +#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,