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@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2024-03-23 13:10:40 +01:00
parent ebe8326409
commit e95dd6f53e
1 changed files with 15 additions and 21 deletions

View File

@ -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,