4#include <QtMultimedia/private/qplatformmediaplugin_p.h>
18#include <VideoToolbox/VideoToolbox.h>
27#elif defined(Q_OS_WINDOWS)
28#include "qwindowscamera_p.h"
37# include "qandroidcamera_p.h"
38# include "qandroidimagecapture_p.h"
40# include <libavutil/log.h>
41# include <libavcodec/jni.h>
45#if QT_CONFIG(linux_v4l)
49#if QT_CONFIG(cpp_winrt)
83 if (level < 0 || level > av_log_get_level())
90 if (
level == AV_LOG_DEBUG ||
level == AV_LOG_TRACE)
92 else if (
level == AV_LOG_VERBOSE ||
level == AV_LOG_INFO)
94 else if (
level == AV_LOG_WARNING)
96 else if (
level == AV_LOG_ERROR ||
level == AV_LOG_FATAL ||
level == AV_LOG_PANIC)
104#if defined(Q_OS_ANDROID)
106#elif QT_CONFIG(linux_v4l)
108#elif defined Q_OS_DARWIN
110#elif defined(Q_OS_WINDOWS)
117#elif defined Q_OS_DARWIN
119#elif defined(Q_OS_WINDOWS)
124 av_log_set_level(AV_LOG_DEBUG);
129 qDebug() <<
"Available HW decoding frameworks:";
130 AVHWDeviceType
type = AV_HWDEVICE_TYPE_NONE;
131 while ((
type = av_hwdevice_iterate_types(
type)) != AV_HWDEVICE_TYPE_NONE)
132 qDebug() <<
" " << av_hwdevice_get_type_name(
type);
165#elif defined(Q_OS_ANDROID)
167#elif QT_CONFIG(linux_v4l)
169#elif defined(Q_OS_WINDOWS)
184#if defined(Q_OS_WINDOWS)
186#elif defined(Q_OS_MACOS)
200#if defined(Q_OS_WINDOWS)
201# if QT_CONFIG(cpp_winrt)
207#elif defined(Q_OS_MACOS)
221#if defined(Q_OS_ANDROID)
242 static bool initialized =
false;
244 return JNI_VERSION_1_6;
249 if (vm->GetEnv(&environment, JNI_VERSION_1_6))
253 if (av_jni_set_java_vm(vm,
nullptr))
259 return JNI_VERSION_1_6;
265#include "qffmpegmediaintegration.moc"
static bool registerNativeMethods()
The QAudioDecoder class implements decoding audio.
The QCamera class provides interface for system camera devices.
\macro QT_RESTRICTED_CAST_FROM_ASCII
QString arg(qlonglong a, int fieldwidth=0, int base=10, QChar fillChar=u' ') const
static QString vasprintf(const char *format, va_list ap) Q_ATTRIBUTE_FORMAT_PRINTF(1
The QVideoSink class represents a generic sink for video data.
static bool isSupported()
Combined button and popup list for selecting options.
QT_END_NAMESPACE JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved)
static ControlElement< T > * ptr(QWidget *widget)
GLenum GLuint GLint level
GLuint GLsizei const GLchar * message
GLsizei GLenum GLboolean sink
GLenum GLenum GLenum input
QLatin1StringView QLatin1String
Q_CORE_EXPORT bool qEnvironmentVariableIsSet(const char *varName) noexcept
QVideoFrameFormat::PixelFormat fmt