Closed artoonie closed 7 months ago
Are you able to provide more of the log for that device? The plugin startup section would be useful. If the codec is unable to capture at the resolution requested it should be scaled down to the highest resolution the codec can support. Of course it is entirely possible the codec is not being fully truthful in which case there is not much to be done.
Improving error reporting is on the todo list however we do log all errors we receive from the MediaCodec API so if you're not seeing any errors being logged by us (I see none in the log you provided), then the API is not passing on any information either.
Ah, I think you're right. It reports that it does support up to 1920x1920, but it does not. Perhaps another instance of this device lying. Nothing we can do about that, then! Glad to hear that if the device does not lie, the library does respect its limitations. Alas. We can close this.
03-07 11:05:56.599 20084 20109 I AVProMovieCapture: 📜 (UnityPlugin.cpp:50) UnityPluginLoad - AVPro Movie Capture version 5.2.2-trial build 2403061150
03-07 11:05:56.599 20084 20109 I AVProMovieCapture: 💬️ (VideoCapture.cpp:45) Creating OpenGLES video capture factory instance
03-07 11:05:56.599 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:130) VideoCaptureFactoryOpenGLES::setup - eglVersion: 1.4 Android META-EGL
03-07 11:05:56.599 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:133) VideoCaptureFactoryOpenGLES::setup - eglVendor: Android
03-07 11:05:56.599 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:135) VideoCaptureFactoryOpenGLES::setup - eglExtensions:
03-07 11:05:56.599 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_get_all_proc_addresses
03-07 11:05:56.599 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_ANDROID_presentation_time
03-07 11:05:56.599 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_swap_buffers_with_damage
03-07 11:05:56.599 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_ANDROID_get_native_client_buffer
03-07 11:05:56.599 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_ANDROID_front_buffer_auto_refresh
03-07 11:05:56.599 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_ANDROID_get_frame_timestamps
03-07 11:05:56.599 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_EXT_surface_SMPTE2086_metadata
03-07 11:05:56.599 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_EXT_surface_CTA861_3_metadata
03-07 11:05:56.599 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_image
03-07 11:05:56.599 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_image_base
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_EXT_image_gl_colorspace
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_lock_surface
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_gl_colorspace
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_gl_texture_2D_image
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_gl_texture_3D_image
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_gl_texture_cubemap_image
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_gl_renderbuffer_image
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_reusable_sync
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_fence_sync
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_create_context
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_surfaceless_context
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_EXT_create_context_robustness
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_ANDROID_image_native_buffer
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_wait_sync
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_ANDROID_recordable
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_partial_update
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_EXT_pixel_format_float
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_create_context_no_error
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_mutable_render_buffer
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_EXT_yuv_surface
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_IMG_context_priority
03-07 11:05:56.600 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:143) VideoCaptureFactoryOpenGLES::setup - EGL_KHR_no_config_context
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:259) VideoCaptureFactoryOpenGLES::setup - glVersion: OpenGL ES 3.0 V@331.0 (GIT@e6de3b7, I22091d40c2) (Date:08/07/19)
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:261) VideoCaptureFactoryOpenGLES::setup - glVendor: Qualcomm
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:263) VideoCaptureFactoryOpenGLES::setup - glRenderer: Adreno (TM) 308
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:265) VideoCaptureFactoryOpenGLES::setup - glShadingLanguageVersion: OpenGL ES GLSL ES 3.10
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 📜 (VideoCaptureFactoryOpenGLES.cpp:270) VideoCaptureFactoryOpenGLES::setup - Adreno 308 with Android 9 detected, forcing GLSL ES version to 3.00
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:308) VideoCaptureFactoryOpenGLES::setup - glExtensions:
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_EGL_image
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_EGL_image_external
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_EGL_sync
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_vertex_half_float
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_framebuffer_object
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_rgb8_rgba8
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_compressed_ETC1_RGB8_texture
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_AMD_compressed_ATC_texture
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_texture_npot
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_EXT_texture_filter_anisotropic
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_EXT_texture_format_BGRA8888
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_texture_3D
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_EXT_color_buffer_float
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_EXT_color_buffer_half_float
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_QCOM_alpha_test
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_depth24
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_packed_depth_stencil
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_depth_texture
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_depth_texture_cube_map
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_EXT_sRGB
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_texture_half_float
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_texture_half_float_linear
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_EXT_texture_type_2_10_10_10_REV
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_EXT_texture_sRGB_decode
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_element_index_uint
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_QCOM_user_clip_planes
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_EXT_EGL_image_external_wrap_modes
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_EXT_multisampled_render_to_texture
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_EXT_robustness
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_get_program_binary
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_EXT_debug_label
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_QCOM_tiled_rendering
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_standard_derivatives
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_vertex_array_object
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_EXT_YUV_target
03-07 11:05:56.611 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_EXT_sRGB_write_control
03-07 11:05:56.612 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_EXT_discard_framebuffer
03-07 11:05:56.612 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_surfaceless_context
03-07 11:05:56.612 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_KHR_no_error
03-07 11:05:56.612 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_EXT_debug_marker
03-07 11:05:56.612 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_OES_EGL_image_external_essl3
03-07 11:05:56.612 20084 20109 I AVProMovieCapture: 💬️ (VideoCaptureFactoryOpenGLES.cpp:314) VideoCaptureFactoryOpenGLES::setup - GL_EXT_EGL_image_storage
03-07 11:05:57.898 20084 20109 I AVProMovieCapture: 💬️ (PluginState.cpp:177) PluginState::TryAddVideoCodec(VideoCodec::H264)
03-07 11:05:58.030 20084 20109 I AVProMovieCapture: 💬️ Manager.GetVideoCodecCapabilities - supported bitrates: 1-20,000,000
03-07 11:05:58.031 20084 20109 I AVProMovieCapture: 💬️ Manager.GetVideoCodecCapabilities - supported widths: 96-1,920
03-07 11:05:58.031 20084 20109 I AVProMovieCapture: 💬️ Manager.GetVideoCodecCapabilities - supported heights: 96-1,920
03-07 11:05:58.032 20084 20109 I AVProMovieCapture: 💬️ Manager.GetVideoCodecCapabilities - supported framerates: 0-960
03-07 11:05:58.032 20084 20109 I AVProMovieCapture: 💬️ Manager.GetVideoCodecCapabilities - width alignment: 2
03-07 11:05:58.033 20084 20109 I AVProMovieCapture: 💬️ Manager.GetVideoCodecCapabilities - height alignment: 2
03-07 11:05:58.033 20084 20109 I AVProMovieCapture: 💬️ Manager.GetVideoCodecCapabilities - complexity range: 0-0
03-07 11:05:58.034 20084 20109 I AVProMovieCapture: 💬️ Manager.GetVideoCodecCapabilities - quality range: 0-0
03-07 11:05:58.034 20084 20109 I AVProMovieCapture: 💬️ Manager.GetVideoCodecCapabilities - supported profiles: 589,835
03-07 11:05:58.035 20084 20109 I AVProMovieCapture: 💬️ Manager.GetVideoCodecCapabilities - supported levels: 2,048
03-07 11:05:58.035 20084 20109 I AVProMovieCapture: 💬️ (PluginState.cpp:177) PluginState::TryAddVideoCodec(VideoCodec::HEVC)
03-07 11:05:58.036 20084 20109 I AVProMovieCapture: 💬️ (PluginState.cpp:187) PluginState::TryAddVideoCodec - HEVC codec is unavailable
03-07 11:05:58.036 20084 20109 I AVProMovieCapture: 💬️ (PluginState.cpp:254) PluginState::TryAddAudioCodec(AudioCodec::AAC)
03-07 11:05:58.044 20084 20109 I Unity : [AVProMovieCapture] Init version: 5.2.2 (plugin v5.2.2-trial) with GPU Adreno (TM) 308 OpenGL ES 3.0 V@331.0 (GIT@e6de3b7, I22091d40c2) (Date:08/07/19) OS: Android OS 9 / API-28 (PPR1.180610.011/J415GUBS6BVK1)
Which platform is your feature request for?
Android
Description
I'm testing
CaptureFromCamera
on a weak smartphone built around the time fire was discovered, and it is unable to render 1080x1440 footage. Dropping down to 480p works fine.There are a few things in the log that indicate this (
failed to configure codec bacause of codec capacity
in particular). It would be nice to get this information from the API somehow, so I can pass on the failure reason to the end user.This is a low-priority request, as I suspect devices this underpowered are fairly rare, but perhaps it applies to more modern devices trying to render 4k or 8k videos too.
Possible solutions include returning an enum from StartCapture or having a
GetLastError
function.I am using a Samsung J4+,
CaptureFromCamera
, more settings available in the log below.Logs: