mdk-sdk icon indicating copy to clipboard operation
mdk-sdk copied to clipboard

Loop

Open doubleaa93 opened this issue 3 years ago • 8 comments

Is there a way to do a seamless loop ( for looping videos). There is setRange and setLoop but they do not provide seamless loop the video stutters a little when going back(It pauses for 1 sec and then resume again at the beginning) to the beginning and it also be ideal to be able to setLoop to do infinity loops.

doubleaa93 avatar Jul 12 '22 18:07 doubleaa93

can't reproduce. can you share your video clip?

setLoop(-1) is infinite loop

wang-bin avatar Jul 13 '22 07:07 wang-bin

Here are 2 videos that can help you see it. I'm testing on Macos

https://drive.google.com/file/d/1-Fdup4Il6QTaiG-ioUxI32xCWgj3rv9i/view?usp=sharing https://drive.google.com/file/d/1UZeTfJA06DqnPiSN3mcJa9V_Vmvd6veU/view?usp=sharing

If you play this file on a chrome browser and set it to loop you can see a very seamless loop while with mdk it seems to pause for a little bit and then restart so its very noticeable

doubleaa93 avatar Jul 13 '22 14:07 doubleaa93

both loops perfectly on my mac, tested with glfwplay example in the latest sdk. can you show me your log using glfwplay -loop -1 -logfile loop.log loop2.mov?

wang-bin avatar Jul 13 '22 15:07 wang-bin

I run your example command and the loop stops for like a half a second at the end and then it starts playing. I'm looking to be seamless so it looks like an infinite video. Here is the log

I 2022-07-13 12:28:31.210@0x114d23e00: MDK 0.15.0 (git 4bce132) - Multimedia Development Kit. Copyright (c) 2016-2022 WangBin(QtAV author) Build for: macOS1090 x86_64; AppleClang13.1.6 (clang-1316.0.21.2.3)GCC4.2.1; libc++13000; 12:23:26 Jul 10 2022

D 2022-07-13 12:28:31.211@0x114d23e00: 3mdk verify key signature ok D 2022-07-13 12:28:31.211@0x114d23e00: 3mdk license key restrictions: Test, D 2022-07-13 12:28:31.211@0x114d23e00: 3mdk license key for app: glfwplay D 2022-07-13 12:28:31.211@0x114d23e00: Registered audio backends: AudioQueue OpenAL PulseAudio D 2022-07-13 12:28:31.211@0x114d23e00: Registered audio backends: AudioQueue OpenAL PulseAudio D 2022-07-13 12:28:31.211@0x114d23e00: 0x7ffee4858770mdk::Player::Player() I 2022-07-13 12:28:31.419@0x114d23e00: setLoop(-1), now 0/0 I 2022-07-13 12:28:31.419@0x114d23e00: 0x7ff9b6015800 MediaControl.prepare(0, ...) loop2.mov D 2022-07-13 12:28:31.419@0x114d23e00: 0x7ff9b6015e00 FrameReaderImpl.start(0, ...) D 2022-07-13 12:28:31.419@0x114d23e00: 0x7ff9b6015800 virtual void mdk::MediaControlPush::setState(mdk::PlaybackState)@629 requested state 2=>1, current state 0 D 2022-07-13 12:28:31.419@0x114d23e00: 0x7ff9b6015e00 request to pause frame reader 0 state: 0, state_requested_: 1, loaded: 0 D 2022-07-13 12:28:31.419@0x114d23e00: AudioQueueStart ERROR: 0 D 2022-07-13 12:28:31.419@0x7000007c3000: start frame reader thread: 0x7000007c3000 D 2022-07-13 12:28:31.419@0x7000007c3000: Selected avformat runtime version: 59.25.100 (build: 59.25.100), license: LGPL version 2.1 or later D 2022-07-13 12:28:31.419@0x7000007c3000: Selected avformat runtime configuration: --extra-version=avbuild --disable-doc --disable-debug --enable-shared --enable-runtime-cpudetect --enable-libxml2 --disable-libxcb --disable-xlib --disable-postproc --enable-cross-compile --arch=x86_64 --target-os=darwin --install_name_dir='@rpath' --cc=clang --sysroot=/Applications/Xcode_13.2.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk --enable-pic --extra-cflags='-iwithsysroot /usr/include/libxml2 -arch x86_64 -mmacosx-version-m D 2022-07-13 12:28:31.419@0x7000007c3000: in=10.7' --extra-ldflags='-arch x86_64 -mmacosx-version-min=10.7 -Wl,-dead_strip -Wl,-rpath,@loader_path -Wl,-rpath,@executable_path/../Frameworks -Wl,-rpath,@loader_path/Libraries -Wl,-rpath,@loader_path/../lib' --h264-max-bit-depth=10 --enable-small --disable-outdevs --disable-filters --enable-filter='null,afade,fifo,format,resample,aeval,allrgb,allyuv,atempo,pan,bars,color,key,crop,draw,eq,framerate,_qsv,_vaapi,v4l2,hw,scale,volume,test*' --disable-muxers --disable-encoders --disable-decode D 2022-07-13 12:28:31.419@0x7000007c3000: rs --enable-decoder='sub,movtext,web,aac*,ac3,alac*,ape,ass,av1*,cc_dec,cook,dca,dnxhd,eac3*,exr,truehd,ff*,yuv,flv,flac,gif,h26[3-4],hevc,hap,mp[1-3],prores,peg,mlp,mpl2,nellymoser,opus,pcm,png,tiff,rawvideo,rv*,sami,srt,ssa,v210*,vc1*,vorbis,vp[6-9],wm,wrapped_avframe' --disable-demuxers --enable-demuxer='sub,ac3,ac,peg,web,ape,ass,avi,concat,dnxhd,dts,dash,flv,gif,hls,h264,hevc,kux,xv,matroska,mlv,mov,mp3,mxf,nsv,nut,ogg,pcm,rawvideo,rtp,spdif,srt,vc1,v210*,wav,pipe,image D 2022-07-13 12:28:31.419@0x7000007c3000: 2' --disable-parsers --enable-parser='sub,aac,ac3,cook,dnxhd,flac,h26[3-4],hevc,m*,opus,rv*,vc1,vorbis,vp[8-9]' --enable-encoder='aac,dnxhd,exr,ff*,yuv,gif,h26[3-4],hevc,mjpeg,png,opus,pcm,prores*,rawvideo,spdif,speedhq,jpeg,png,vp[7-9],wrapped_avframe,nvenc,vorbis' --enable-muxer='jpeg,dnxhd,fifo,flv,gif,hls,h264,hevc,image2,mov,mp4,mpegts,matroska,null,og,pcm,rawvideo,spdif,pipe,webm,wav,dash,nu' D 2022-07-13 12:28:31.420@0x7000007c3000: avformat_version0x10bbe45eb D 2022-07-13 12:28:31.420@0x7000007c3000: Trying MediaIO FFmpeg for protocol "" D 2022-07-13 12:28:31.420@0x7000007c3000: 0x7ff9b3d68490 open url: loop2.mov I 2022-07-13 12:28:31.420@0x7000007c3000: 0x7ff9b3d68490 url opened D 2022-07-13 12:28:31.420@0x7000007c3000: Selected avcodec runtime version: 59.35.100 (build: 59.35.100), license: LGPL version 2.1 or later D 2022-07-13 12:28:31.420@0x7000007c3000: av_packet_alloc0x10bab2c13 D 2022-07-13 12:28:31.420@0x7000007c3000: Selected avutil runtime version: 57.27.100 (build: 57.27.100), license: LGPL version 2.1 or later D 2022-07-13 12:28:31.420@0x7000007c3000: av_dict_copy0x10bcb8d2a D 2022-07-13 12:28:31.420@0x7000007c3000: before avformat_open_input. io: 0x7ff9b3d68490(FFmpeg/pb: 0x7ff9b480f5c0, url: loop2.mov D 2022-07-13 12:28:31.420@0x7000007c3000: FFmpeg/Libav runtime git-2022-07-02-55c605f-avbuild D 2022-07-13 12:28:31.421@0x7000007c3000: after avformat_open_input. pb: 0x7ff9b480f5c0, iformat: 0x10bff64a8 context flags: 2097280, input format flags: 67141640 D 2022-07-13 12:28:31.456@0x7000007c3000: D 2022-07-13 12:28:31.456@0x7000007c3000: unsupported ffmpeg sw pixel formats: uyyvyy411 bayer_bggr8 bayer_rggb8 bayer_gbrg8 bayer_grbg8 bayer_bggr16le bayer_bggr16be bayer_rggb16le bayer_rggb16be bayer_gbrg16le bayer_gbrg16be bayer_grbg16le bayer_grbg16be x2rgb10le x2rgb10be x2bgr10le x2bgr10be D 2022-07-13 12:28:31.456@0x7000007c3000: supported ffmpeg sw pixel formats count: 175 I 2022-07-13 12:28:31.456@0x7000007c3000: Format: mov,mp4,m4a,3gp,3g2,mj2, range: 0 +10000ms, bitrate: 90306320, size: 0 Metadata: creation_time: 2009-04-19T19:34:11.000000Z minor_version: 537199360 compatible_brands: qt
major_brand: qt
Streams: 1 Video: stream#0, range: 0 +10000ms, frames: 300 codec: h264 tag: 'avc1' profile: 77 level: 50, sample size: 8/24, yuv420p, bpc:8, bpp:12(8,8,8), channels:(1,1,1), map: 0 1 2 0, bitrate: 90303971, 1920x1080, fps: 30, bframes: 0, primaries: bt709, trc: bt709, matrix: bt709, range: narrow

D 2022-07-13 12:28:31.456@0x7000007c3000: extra data(37): 01 4D 40 32 FF E1 00 16 27 4D 40 32 A9 18 0F 00 44 FC B8 03 50 10 10 1B 6C 2B 5E F7 C0 40 01 00 04 28 DE 09 C8 D 2022-07-13 12:28:31.456@0x7000007c3000: 0x7ff9b6015800 prepared callback is invoked D 2022-07-13 12:28:31.456@0x7000007c3000: >>>>>>>>>>>>>>>>>prepared @0 I 2022-07-13 12:28:31.456@0x7000007c3000: buffering progress 0% I 2022-07-13 12:28:31.456@0x7000007c3000: ++++++++++++BUFFERING START++++++++++++ D 2022-07-13 12:28:31.456@0x7000007c3000: D 2022-07-13 12:28:31.456@0x7000007c3000: 0x7ff9b6015e00 updateState: 1 D 2022-07-13 12:28:31.456@0x7000008c9000: starting decode loop thread mdk.video.dec#0@0x7000008c9000 D 2022-07-13 12:28:31.456@0x7000008c9000: video stream#0 starting decoding loop from decoder index 0... D 2022-07-13 12:28:31.456@0x7000008c9000: creating video decoder: auto... I 2022-07-13 12:28:31.456@0x7000008c9000: opening video decoder: AVCodec.FFmpeg... D 2022-07-13 12:28:31.456@0x7000008c9000: Decoder list: h264 'H264 Decoder' Selected: h264 opening ffmpeg video decoder: h264 ... D 2022-07-13 12:28:31.464@0x7000008c9000: AVCodec.Video[h264.] decoder: 13 Frame threads D 2022-07-13 12:28:31.464@0x7000008c9000: h264 yuv420p, bpc:8, bpp:12(8,8,8), channels:(1,1,1), map: 0 1 2 0 1920x1080 D 2022-07-13 12:28:31.464@0x7000008c9000: decode stored recovery packets: 0 I 2022-07-13 12:28:31.464@0x7000008c9000: buffering progress 100% I 2022-07-13 12:28:31.464@0x7000008c9000: ++++++++++++BUFFERING END++++++++++++ D 2022-07-13 12:28:31.464@0x7000008c9000: D 2022-07-13 12:28:31.465@0x7000008c9000: h264 codec pixel format list: D 2022-07-13 12:28:31.465@0x7000008c9000: videotoolbox_vld D 2022-07-13 12:28:31.465@0x7000008c9000: yuv420p (selected) D 2022-07-13 12:28:31.465@0x7000008c9000: using avcodec software decoder... D 2022-07-13 12:28:31.526@0x7000008c9000: video stream#0 sending 1 invalid AOT frame @0.000000s. seeking: 0 D 2022-07-13 12:28:31.526@0x7000008c9000: 0x7ff9b6015800 1st video frame to render @0 , sync time: 0.106 D 2022-07-13 12:28:31.526@0x7000008c9000: VideoRenderer clear buffered frames D 2022-07-13 12:28:31.526@0x7000008c9000: 0-track seek end video frame @0 seek_pos_: -1 D 2022-07-13 12:28:31.526@0x7000008c9000: video stream#0 AOT frame is sent D 2022-07-13 12:28:31.601@0x114d23e00: VideoRenderer WxH=640.000000x480.000000 640.000000x480.000000 D 2022-07-13 12:28:31.601@0x114d23e00: update transform 2d. scale: (1.000000, 0.750000), orientation: 0 D 2022-07-13 12:28:31.601@0x114d23e00: m: mat<4, 4>( D 2022-07-13 12:28:31.601@0x114d23e00: 1 0 0 0
D 2022-07-13 12:28:31.601@0x114d23e00: 0 0.75 0 0
D 2022-07-13 12:28:31.601@0x114d23e00: 0 0 1 0
D 2022-07-13 12:28:31.601@0x114d23e00: 0 0 0 1
D 2022-07-13 12:28:31.601@0x114d23e00: ) D 2022-07-13 12:28:31.601@0x114d23e00: dso.load: libEGL.dylibtest: true D 2022-07-13 12:28:31.601@0x114d23e00: libEGL.dylib test load result 0x0... D 2022-07-13 12:28:31.601@0x114d23e00: ThreadLocal<std::unordered_map<const void *, std::unique_ptrUGL::opengl::Context>>::Data::Data() thread: 0x114d23e00 D 2022-07-13 12:28:31.601@0x114d23e00: T *ThreadLocal<std::unordered_map<const void *, std::unique_ptrUGL::opengl::Context>>::get() const allocate and initialize ThreadLocal data D 2022-07-13 12:28:31.601@0x114d23e00: new Context object 0x7ff9b3c4a7f0(0) for native context handle 0x7ff9b6823600 D 2022-07-13 12:28:31.601@0x114d23e00: ctx->api_: 0x7ff9b3c4e8f0 D 2022-07-13 12:28:31.601@0x114d23e00: probing gl context... native: 0x0 D 2022-07-13 12:28:31.601@0x114d23e00: EGL runtime is not valid D 2022-07-13 12:28:31.601@0x114d23e00: ThreadLocal::Data::Data() thread: 0x114d23e00 D 2022-07-13 12:28:31.601@0x114d23e00: T *ThreadLocal::get() const allocate and initialize ThreadLocal data D 2022-07-13 12:28:31.601@0x114d23e00: ThreadLocalUGL::opengl::Context::Config::Data::Data() thread: 0x114d23e00 D 2022-07-13 12:28:31.601@0x114d23e00: T *ThreadLocalUGL::opengl::Context::Config::get() const allocate and initialize ThreadLocal data D 2022-07-13 12:28:31.601@0x114d23e00: resolving gl common functions... D 2022-07-13 12:28:31.601@0x114d23e00: select gl api resolver for OpenGL|OpenGLES D 2022-07-13 12:28:31.601@0x114d23e00: EGL runtime is not valid D 2022-07-13 12:28:31.601@0x114d23e00: D 2022-07-13 12:28:31.601@0x114d23e00: ThreadLocal<void ()()>::Data::Data() thread: 0x114d23e00 D 2022-07-13 12:28:31.601@0x114d23e00: T *ThreadLocal<void ()()>::get() const allocate and initialize ThreadLocal data D 2022-07-13 12:28:31.601@0x114d23e00: using opengl api resolver: Mac D 2022-07-13 12:28:31.602@0x114d23e00: probing gl client context... major_: 0 D 2022-07-13 12:28:31.602@0x114d23e00: GL_VENDOR: ATI Technologies Inc. D 2022-07-13 12:28:31.602@0x114d23e00: GL_RENDERER: AMD Radeon Pro 5300M OpenGL Engine D 2022-07-13 12:28:31.602@0x114d23e00: GL_VERSION: 2.1 ATI-4.6.20 D 2022-07-13 12:28:31.602@0x114d23e00: GL_SHADING_LANGUAGE_VERSION: 1.20 D 2022-07-13 12:28:31.602@0x114d23e00: GL_APPLE_aux_depth_stencil GL_APPLE_client_storage GL_APPLE_element_array GL_APPLE_fence GL_APPLE_float_pixels GL_APPLE_flush_buffer_range GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_packed_pixels GL_APPLE_pixel_buffer GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_specular_vector GL_APPLE_texture_range GL_APPLE_transform_hint GL_APPLE_vertex_array_object GL_APPLE_vertex_array_range GL_APPLE_vertex_point_size GL_APPLE_vertex_program_evaluators GL_APPLE_ycbcr_422 GL_ARB_color_buffer_float GL_ARB_d D 2022-07-13 12:28:31.602@0x114d23e00: epth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_instanced_arrays GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_provoking_vertex GL_ARB D 2022-07-13 12:28:31.602@0x114d23e00: _seamless_cube_map GL_ARB_shader_objects GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shadow GL_ARB_shadow_ambient GL_ARB_sync GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_transpose_matrix GL_AR D 2022-07-13 12:28:31.602@0x114d23e00: B_vertex_array_bgra GL_ARB_vertex_blend GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_ATI_blend_equation_separate GL_ATI_blend_weighted_minmax GL_ATI_separate_stencil GL_ATI_texture_compression_3dc GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_ATI_texture_mirror_once GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint G D 2022-07-13 12:28:31.602@0x114d23e00: L_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_bounds_test GL_EXT_draw_buffers2 GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stenci D 2022-07-13 12:28:31.602@0x114d23e00: l_two_side GL_EXT_stencil_wrap GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_texture_shared_exponent GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_IBM_rasterpos_clip GL_NV_blend_square GL_NV_conditional_render GL_NV_depth_clamp GL_NV_f D 2022-07-13 12:28:31.602@0x114d23e00: og_distance GL_NV_light_max_exponent GL_NV_texgen_reflection GL_NV_texture_barrier GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SGI_color_matrix D 2022-07-13 12:28:31.602@0x114d23e00: 16 bit texture channel depth: 16 D 2022-07-13 12:28:31.602@0x114d23e00: OpenGL Context thread: 0x114d23e00 D 2022-07-13 12:28:31.602@0x114d23e00: OpenGL2.1 No profile, EGL0, GLSL120 Features PBO: 1, RG texture: 1, 16bit texture: 1 D 2022-07-13 12:28:31.602@0x114d23e00: resolving gl extensions... D 2022-07-13 12:28:31.602@0x114d23e00: select gl api resolver for OpenGL|OpenGLES D 2022-07-13 12:28:31.602@0x114d23e00: EGL runtime is not valid D 2022-07-13 12:28:31.602@0x114d23e00: D 2022-07-13 12:28:31.602@0x114d23e00: using opengl api resolver: Mac D 2022-07-13 12:28:31.602@0x114d23e00: context version: 210 D 2022-07-13 12:28:31.602@0x114d23e00: gl api resolved. thread@ 0x114d23e00 D 2022-07-13 12:28:31.602@0x114d23e00: D 2022-07-13 12:28:31.602@0x114d23e00: new OpenGLVideo 0x7ff9b3c08340 in ctx 0x7ff9b3c4a7f0 D 2022-07-13 12:28:31.602@0x114d23e00: 0x7ff9b3c4a7f0/0x7ff9b6823600 Context::setLocalData local data 0x7ff9b3c51bf0 for key: 0x1. size: 1 D 2022-07-13 12:28:31.602@0x114d23e00: unknown, tile: 128x128, bpc:0, bpp:0(), channels:(), map: 0 0 0 0 => yuv420p, bpc:8, bpp:12(8,8,8), channels:(1,1,1), map: 0 1 2 0 D 2022-07-13 12:28:31.602@0x114d23e00: 0x7ff9b3c4a7f0/0x7ff9b6823600 Context::setLocalData local data 0x7ff9b3c51d60 for key: 0x0. size: 2 D 2022-07-13 12:28:31.602@0x114d23e00: texture created: 1 D 2022-07-13 12:28:31.602@0x114d23e00: plane linesize 0: padded = 1920, effective = 1920. theoretical plane size: 1920x1080. coordinate crop: 1.000000 D 2022-07-13 12:28:31.602@0x114d23e00: texture created: 2 D 2022-07-13 12:28:31.602@0x114d23e00: plane linesize 1: padded = 960, effective = 960. theoretical plane size: 960x540. coordinate crop: 1.000000 D 2022-07-13 12:28:31.602@0x114d23e00: texture created: 3 D 2022-07-13 12:28:31.602@0x114d23e00: plane linesize 2: padded = 960, effective = 960. theoretical plane size: 960x540. coordinate crop: 1.000000 D 2022-07-13 12:28:31.602@0x114d23e00: crop_w=1.000000=>1.000000 D 2022-07-13 12:28:31.602@0x114d23e00: bpp 2, bpc: 8. gl texture parameters: D 2022-07-13 12:28:31.602@0x114d23e00: R8 | RED | UNSIGNED_BYTE D 2022-07-13 12:28:31.602@0x114d23e00: R8 | RED | UNSIGNED_BYTE D 2022-07-13 12:28:31.602@0x114d23e00: R8 | RED | UNSIGNED_BYTE D 2022-07-13 12:28:31.602@0x114d23e00: frame color: bt709 bt709 bt709 narrow. gamma: 2.200000, signal peak: 1.000000 D 2022-07-13 12:28:31.602@0x114d23e00: - D 2022-07-13 12:28:31.602@0x114d23e00: output color: bt709 bt709 unknown full. gamma: 2.200000, signal peak: 1.000000 D 2022-07-13 12:28:31.602@0x114d23e00: rgb primaries matrix: mat<3, 3>( D 2022-07-13 12:28:31.602@0x114d23e00: 1 0 0
D 2022-07-13 12:28:31.602@0x114d23e00: 0 1 0
D 2022-07-13 12:28:31.602@0x114d23e00: 0 0 1
D 2022-07-13 12:28:31.602@0x114d23e00: ) D 2022-07-13 12:28:31.602@0x114d23e00: color transform: mat<4, 4>( D 2022-07-13 12:28:31.602@0x114d23e00: 1.16438 0 1.79274 -0.972945
D 2022-07-13 12:28:31.602@0x114d23e00: 1.16438 -0.213249 -0.532909 0.301483
D 2022-07-13 12:28:31.602@0x114d23e00: 1.16438 2.1124 0 -1.1334
D 2022-07-13 12:28:31.602@0x114d23e00: 0 0 0 1
D 2022-07-13 12:28:31.602@0x114d23e00: ) D 2022-07-13 12:28:31.602@0x114d23e00: EQ: mat<4, 4>( D 2022-07-13 12:28:31.602@0x114d23e00: 1 0 0 0
D 2022-07-13 12:28:31.602@0x114d23e00: 0 1 0 0
D 2022-07-13 12:28:31.602@0x114d23e00: 0 0 1 0
D 2022-07-13 12:28:31.602@0x114d23e00: 0 0 0 1
D 2022-07-13 12:28:31.602@0x114d23e00: ) D 2022-07-13 12:28:31.602@0x114d23e00: texture 0: 1920x1080 D 2022-07-13 12:28:31.602@0x114d23e00: texture 1: 960x540 D 2022-07-13 12:28:31.602@0x114d23e00: texture 2: 960x540 D 2022-07-13 12:28:31.604@0x114d23e00: material changed: 0x0=>0x905 D 2022-07-13 12:28:31.605@0x114d23e00: planar: 1, alpha: 0, texture 2d: 1, external: 0, rg semi-planar: 0, 16=>8: 0, xyz: 0, generic packed yuv: 0, cocgsy: 0, primaries diff: 0, trc: 1=>1, tone map: 0 D 2022-07-13 12:28:31.606@0x114d23e00: bind attribute: a_Position => 0 D 2022-07-13 12:28:31.606@0x114d23e00: bind attribute: a_TexCoords0 => 1 D 2022-07-13 12:28:31.606@0x114d23e00: uniform locations: D 2022-07-13 12:28:31.606@0x114d23e00: u_Texture0: 0 D 2022-07-13 12:28:31.606@0x114d23e00: u_Texture1: 2 D 2022-07-13 12:28:31.606@0x114d23e00: u_Texture2: 1 D 2022-07-13 12:28:31.606@0x114d23e00: u_Matrix: 3, u_TexMatrix: 11 D 2022-07-13 12:28:31.606@0x114d23e00: update built-in uniforms D 2022-07-13 12:28:31.606@0x114d23e00: EQ: mat<4, 4>( D 2022-07-13 12:28:31.606@0x114d23e00: 1 0 0 0
D 2022-07-13 12:28:31.606@0x114d23e00: 0 1 0 0
D 2022-07-13 12:28:31.606@0x114d23e00: 0 0 1 0
D 2022-07-13 12:28:31.606@0x114d23e00: 0 0 0 1
D 2022-07-13 12:28:31.606@0x114d23e00: ) D 2022-07-13 12:28:31.606@0x114d23e00: uniform cb.u_colorMatrix: 7 D 2022-07-13 12:28:31.606@0x114d23e00: updating geometry... D 2022-07-13 12:28:31.606@0x114d23e00: creating vbo... D 2022-07-13 12:28:31.606@0x114d23e00: creating vao... D 2022-07-13 12:28:36.945@0x7000007c3000: read packet error. FrameReader@0x7ff9b6015e00 sending Packet::End to all packet queues. PacketIO@0x7ff9b3d62d20 ->url: loop2.mov D 2022-07-13 12:28:37.049@0x7000007c3000: 0x7ff9b6015e00 #video stream#0 end semaphore acquire D 2022-07-13 12:28:41.087@0x7000008c9000: video frame cached in decoder overlaps @9.866 D 2022-07-13 12:28:41.088@0x7000008c9000: video frame cached in decoder overlaps @9.9 D 2022-07-13 12:28:41.088@0x7000008c9000: video frame cached in decoder overlaps @9.933 D 2022-07-13 12:28:41.088@0x7000008c9000: video frame cached in decoder overlaps @9.966 I 2022-07-13 12:28:41.088@0x7000008c9000: video stream#0 EOF/EOS decoded. end: 1 D 2022-07-13 12:28:41.478@0x7000008c9000: video stream#0 check loop range for EOS D 2022-07-13 12:28:41.478@0x7000008c9000: 0x7ff9b6016400 track#0: @9223372036854775806. loop bits 1/1. D 2022-07-13 12:28:41.478@0x7000008c9000: 0x7ff9b6016400 track#0: all tracks are out of loop range. seek to loop A from 9223372036854775806 D 2022-07-13 12:28:41.478@0x7000007c3000: 0x7ff9b6015e00 #video stream#0 end semaphore done acquire I 2022-07-13 12:28:41.478@0x7000007c3000: virtual int64_t mdk::PacketIOWrapper::seek(int

doubleaa93 avatar Jul 13 '22 17:07 doubleaa93

the log is not complete

wang-bin avatar Jul 14 '22 02:07 wang-bin

Not sure why I let it run for a couple of loops and there is more log.

I 2022-07-13 22:06:04.168@0x10c6c6e00: MDK 0.15.0 (git 4bce132) - Multimedia Development Kit. Copyright (c) 2016-2022 WangBin(QtAV author) <wbsecg1 at gmail.com>
Build for: macOS1090 x86_64; AppleClang13.1.6 (clang-1316.0.21.2.3)GCC4.2.1; libc++13000; 12:23:26 Jul 10 2022

D 2022-07-13 22:06:04.169@0x10c6c6e00: 3mdk verify key signature ok
D 2022-07-13 22:06:04.169@0x10c6c6e00: 3mdk license key restrictions: Test, 
D 2022-07-13 22:06:04.169@0x10c6c6e00: 3mdk license key for app: glfwplay
D 2022-07-13 22:06:04.169@0x10c6c6e00: Registered audio backends: AudioQueue OpenAL PulseAudio 
D 2022-07-13 22:06:04.169@0x10c6c6e00: Registered audio backends: AudioQueue OpenAL PulseAudio 
D 2022-07-13 22:06:04.169@0x10c6c6e00: 0x7ffeef911710mdk::Player::Player()
I 2022-07-13 22:06:04.419@0x10c6c6e00: setLoop(-1), now 0/0
I 2022-07-13 22:06:04.419@0x10c6c6e00: 0x7f849f812400 MediaControl.prepare(0, ...) loop2.mov
D 2022-07-13 22:06:04.419@0x10c6c6e00: 0x7f849f812a00 FrameReaderImpl.start(0, ...)
D 2022-07-13 22:06:04.420@0x10c6c6e00: 0x7f849f812400 virtual void mdk::MediaControlPush::setState(mdk::PlaybackState)@629 requested state 2=>1, current state 0
D 2022-07-13 22:06:04.420@0x10c6c6e00: 0x7f849f812a00 request to pause frame reader 0 state: 0, state_requested_: 1, loaded: 0
D 2022-07-13 22:06:04.420@0x10c6c6e00: AudioQueueStart ERROR: 0
D 2022-07-13 22:06:04.420@0x700007184000: start frame reader thread: 0x700007184000
D 2022-07-13 22:06:04.420@0x700007184000: Selected avformat runtime version: 59.25.100 (build: 59.25.100), license: LGPL version 2.1 or later
D 2022-07-13 22:06:04.420@0x700007184000: Selected avformat runtime configuration: --extra-version=avbuild --disable-doc --disable-debug --enable-shared --enable-runtime-cpudetect --enable-libxml2 --disable-libxcb --disable-xlib --disable-postproc --enable-cross-compile --arch=x86_64 --target-os=darwin --install_name_dir='@rpath' --cc=clang --sysroot=/Applications/Xcode_13.2.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk --enable-pic --extra-cflags='-iwithsysroot /usr/include/libxml2 -arch x86_64 -mmacosx-version-m
D 2022-07-13 22:06:04.420@0x700007184000: in=10.7' --extra-ldflags='-arch x86_64 -mmacosx-version-min=10.7 -Wl,-dead_strip -Wl,-rpath,@loader_path -Wl,-rpath,@executable_path/../Frameworks -Wl,-rpath,@loader_path/Libraries -Wl,-rpath,@loader_path/../lib' --h264-max-bit-depth=10 --enable-small --disable-outdevs --disable-filters --enable-filter='*null*,afade,*fifo,*format,*resample,aeval,allrgb,allyuv,atempo,pan,*bars,color,*key,crop,draw*,eq*,framerate,*_qsv,*_vaapi,*v4l2*,hw*,scale,volume,test*' --disable-muxers --disable-encoders --disable-decode
D 2022-07-13 22:06:04.420@0x700007184000: rs --enable-decoder='*sub*,movtext,*web*,aac*,*ac3*,alac*,ape,ass,av1*,cc_dec,cook,dca,dnxhd,eac3*,exr,truehd,ff*,*yuv*,flv,flac,gif,h26[3-4]*,hevc*,hap,mp[1-3]*,prores,*peg*,mlp,mpl2,nellymoser,opus,pcm*,*png*,tiff,rawvideo,rv*,sami,srt,ssa,v210*,vc1*,vorbis,vp[6-9]*,wm*,wrapped_avframe' --disable-demuxers --enable-demuxer='*sub*,*ac3,*ac,*peg*,*web*,ape,ass,avi,concat,dnxhd,dts*,*dash*,*flv,gif,hls,h264,hevc,kux,xv,matroska,mlv,mov,mp3,mxf,nsv,nut,ogg,pcm*,rawvideo,rt*p,spdif,srt,vc1,v210*,wav,*pipe,image
D 2022-07-13 22:06:04.420@0x700007184000: 2' --disable-parsers --enable-parser='*sub*,aac*,ac3,cook,dnxhd,flac,h26[3-4],hevc,m*,opus,rv*,vc1,vorbis,vp[8-9]' --enable-encoder='aac,dnxhd,exr,ff*,*yuv*,gif,h26[3-4]*,hevc*,mjpeg,*png,opus,pcm*,prores*,rawvideo,spdif,speedhq,*jpeg,*png,vp[7-9],wrapped_avframe,nvenc*,vorbis' --enable-muxer='*jpeg,dnxhd,fifo,flv,gif,hls,h264,hevc,image2,mov,mp4,mpegts,matroska,null,og*,pcm*,rawvideo,spdif,*pipe,webm,wav,dash,nu*'
D 2022-07-13 22:06:04.420@0x700007184000: avformat_version0x100b2d5eb
D 2022-07-13 22:06:04.420@0x700007184000: Trying MediaIO FFmpeg for protocol ""
D 2022-07-13 22:06:04.420@0x700007184000: 0x7f849ec4df70 open url: loop2.mov
I 2022-07-13 22:06:04.421@0x700007184000: 0x7f849ec4df70 url opened
D 2022-07-13 22:06:04.421@0x700007184000: Selected avcodec runtime version: 59.35.100 (build: 59.35.100), license: LGPL version 2.1 or later
D 2022-07-13 22:06:04.421@0x700007184000: av_packet_alloc0x1009fbc13
D 2022-07-13 22:06:04.421@0x700007184000: Selected avutil runtime version: 57.27.100 (build: 57.27.100), license: LGPL version 2.1 or later
D 2022-07-13 22:06:04.421@0x700007184000: av_dict_copy0x100c01d2a
D 2022-07-13 22:06:04.421@0x700007184000: before avformat_open_input. io: 0x7f849ec4df70(FFmpeg/pb: 0x7f849ed6ba40, url: loop2.mov
D 2022-07-13 22:06:04.421@0x700007184000: FFmpeg/Libav runtime git-2022-07-02-55c605f-avbuild
D 2022-07-13 22:06:04.422@0x700007184000: after avformat_open_input. pb: 0x7f849ed6ba40, iformat: 0x100f3f4a8 context flags: 2097280, input format flags: 67141640
D 2022-07-13 22:06:04.457@0x700007184000: 
D 2022-07-13 22:06:04.457@0x700007184000: unsupported ffmpeg sw pixel formats: uyyvyy411 bayer_bggr8 bayer_rggb8 bayer_gbrg8 bayer_grbg8 bayer_bggr16le bayer_bggr16be bayer_rggb16le bayer_rggb16be bayer_gbrg16le bayer_gbrg16be bayer_grbg16le bayer_grbg16be x2rgb10le x2rgb10be x2bgr10le x2bgr10be
D 2022-07-13 22:06:04.457@0x700007184000: supported ffmpeg sw pixel formats count: 175
I 2022-07-13 22:06:04.458@0x700007184000: Format: mov,mp4,m4a,3gp,3g2,mj2, range: 0 +10000ms, bitrate: 90306320, size: 0
Metadata:
  creation_time: 2009-04-19T19:34:11.000000Z
  minor_version: 537199360
  compatible_brands: qt  
  major_brand: qt  
Streams: 1
 Video:
  stream#0, range: 0 +10000ms, frames: 300
  codec: h264 tag: 'avc1' profile: 77 level: 50, sample size: 8/24, yuv420p, bpc:8, bpp:12(8,8,8), channels:(1,1,1), map: 0 1 2 0, bitrate: 90303971, 1920x1080, fps: 30, bframes: 0, primaries: bt709, trc: bt709, matrix: bt709, range: narrow
  
D 2022-07-13 22:06:04.458@0x700007184000: extra data(37): 01 4D 40 32 FF E1 00 16 27 4D 40 32 A9 18 0F 00 44 FC B8 03 50 10 10 1B 6C 2B 5E F7 C0 40 01 00 04 28 DE 09 C8 
D 2022-07-13 22:06:04.458@0x700007184000: 0x7f849f812400 prepared callback is invoked
D 2022-07-13 22:06:04.458@0x700007184000: >>>>>>>>>>>>>>>>>prepared @0
I 2022-07-13 22:06:04.458@0x700007184000: ***buffering progress 0%***
I 2022-07-13 22:06:04.458@0x700007184000: ++++++++++++BUFFERING START++++++++++++
D 2022-07-13 22:06:04.458@0x700007184000: D 2022-07-13 22:06:04.458@0x700007184000: 0x7f849f812a00 updateState: 1
D 2022-07-13 22:06:04.458@0x700007207000: starting decode loop thread mdk.video.dec#0@0x700007207000
D 2022-07-13 22:06:04.458@0x700007207000: video stream#0 starting decoding loop from decoder index 0...
D 2022-07-13 22:06:04.458@0x700007207000: creating video decoder: auto...
I 2022-07-13 22:06:04.458@0x700007207000: opening video decoder: AVCodec.FFmpeg...
D 2022-07-13 22:06:04.458@0x700007207000: Decoder list:
h264 'H264 Decoder'
Selected: h264
opening ffmpeg video decoder: h264 ...
D 2022-07-13 22:06:04.466@0x700007207000: AVCodec.Video[h264.] decoder: 13 Frame threads
D 2022-07-13 22:06:04.466@0x700007207000: h264 yuv420p, bpc:8, bpp:12(8,8,8), channels:(1,1,1), map: 0 1 2 0 1920x1080
D 2022-07-13 22:06:04.466@0x700007207000: decode stored recovery packets: 0
I 2022-07-13 22:06:04.466@0x700007207000: ***buffering progress 100%***
I 2022-07-13 22:06:04.466@0x700007207000: ++++++++++++BUFFERING END++++++++++++
D 2022-07-13 22:06:04.466@0x700007207000: D 2022-07-13 22:06:04.467@0x700007207000: h264 codec pixel format list: 
D 2022-07-13 22:06:04.467@0x700007207000: videotoolbox_vld
D 2022-07-13 22:06:04.467@0x700007207000: yuv420p (selected)
D 2022-07-13 22:06:04.467@0x700007207000: using avcodec software decoder...
D 2022-07-13 22:06:04.526@0x700007207000: video stream#0 sending 1 invalid AOT frame @0.000000s. seeking: 0
D 2022-07-13 22:06:04.526@0x700007207000: 0x7f849f812400 1st video frame to render @0 , sync time: 0.105
D 2022-07-13 22:06:04.526@0x700007207000: VideoRenderer clear buffered frames
D 2022-07-13 22:06:04.526@0x700007207000: 0-track seek end video frame @0 seek_pos_: -1
D 2022-07-13 22:06:04.526@0x700007207000: video stream#0 AOT frame is sent
D 2022-07-13 22:06:04.595@0x10c6c6e00: VideoRenderer WxH=640.000000x480.000000 640.000000x480.000000
D 2022-07-13 22:06:04.595@0x10c6c6e00: update transform 2d. scale: (1.000000, 0.750000), orientation: 0
D 2022-07-13 22:06:04.595@0x10c6c6e00: m: mat<4, 4>(
D 2022-07-13 22:06:04.595@0x10c6c6e00: 1  0  0  0  
D 2022-07-13 22:06:04.595@0x10c6c6e00: 0  0.75  0  0  
D 2022-07-13 22:06:04.595@0x10c6c6e00: 0  0  1  0  
D 2022-07-13 22:06:04.595@0x10c6c6e00: 0  0  0  1  
D 2022-07-13 22:06:04.595@0x10c6c6e00: )
D 2022-07-13 22:06:04.595@0x10c6c6e00: dso.load: libEGL.dylibtest: true
D 2022-07-13 22:06:04.595@0x10c6c6e00: libEGL.dylib test load result 0x0...
D 2022-07-13 22:06:04.595@0x10c6c6e00: ThreadLocal<std::unordered_map<const void *, std::unique_ptr<UGL::opengl::Context>>>::Data::Data() thread: 0x10c6c6e00
D 2022-07-13 22:06:04.595@0x10c6c6e00: T *ThreadLocal<std::unordered_map<const void *, std::unique_ptr<UGL::opengl::Context>>>::get() const allocate and initialize ThreadLocal data
D 2022-07-13 22:06:04.595@0x10c6c6e00: new Context object 0x7f84a0b55450(0) for native context handle 0x7f849f885a00
D 2022-07-13 22:06:04.595@0x10c6c6e00: ctx->api_: 0x7f84a0b30bc0
D 2022-07-13 22:06:04.595@0x10c6c6e00: probing gl context... native: 0x0
D 2022-07-13 22:06:04.595@0x10c6c6e00: EGL runtime is not valid
D 2022-07-13 22:06:04.595@0x10c6c6e00: ThreadLocal<bool>::Data::Data() thread: 0x10c6c6e00
D 2022-07-13 22:06:04.595@0x10c6c6e00: T *ThreadLocal<bool>::get() const allocate and initialize ThreadLocal data
D 2022-07-13 22:06:04.595@0x10c6c6e00: ThreadLocal<UGL::opengl::Context::Config>::Data::Data() thread: 0x10c6c6e00
D 2022-07-13 22:06:04.595@0x10c6c6e00: T *ThreadLocal<UGL::opengl::Context::Config>::get() const allocate and initialize ThreadLocal data
D 2022-07-13 22:06:04.595@0x10c6c6e00: resolving gl common functions...
D 2022-07-13 22:06:04.595@0x10c6c6e00: select gl api resolver for OpenGL|OpenGLES
D 2022-07-13 22:06:04.595@0x10c6c6e00: EGL runtime is not valid
D 2022-07-13 22:06:04.595@0x10c6c6e00: 
D 2022-07-13 22:06:04.595@0x10c6c6e00: ThreadLocal<void *(*)()>::Data::Data() thread: 0x10c6c6e00
D 2022-07-13 22:06:04.595@0x10c6c6e00: T *ThreadLocal<void *(*)()>::get() const allocate and initialize ThreadLocal data
D 2022-07-13 22:06:04.595@0x10c6c6e00: using opengl api resolver: Mac
D 2022-07-13 22:06:04.595@0x10c6c6e00: probing gl client context... major_: 0
D 2022-07-13 22:06:04.595@0x10c6c6e00: GL_VENDOR: ATI Technologies Inc.
D 2022-07-13 22:06:04.595@0x10c6c6e00: GL_RENDERER: AMD Radeon Pro 5300M OpenGL Engine
D 2022-07-13 22:06:04.595@0x10c6c6e00: GL_VERSION: 2.1 ATI-4.6.20
D 2022-07-13 22:06:04.595@0x10c6c6e00: GL_SHADING_LANGUAGE_VERSION: 1.20
D 2022-07-13 22:06:04.596@0x10c6c6e00: GL_APPLE_aux_depth_stencil GL_APPLE_client_storage GL_APPLE_element_array GL_APPLE_fence GL_APPLE_float_pixels GL_APPLE_flush_buffer_range GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_packed_pixels GL_APPLE_pixel_buffer GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_specular_vector GL_APPLE_texture_range GL_APPLE_transform_hint GL_APPLE_vertex_array_object GL_APPLE_vertex_array_range GL_APPLE_vertex_point_size GL_APPLE_vertex_program_evaluators GL_APPLE_ycbcr_422 GL_ARB_color_buffer_float GL_ARB_d
D 2022-07-13 22:06:04.596@0x10c6c6e00: epth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_instanced_arrays GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_provoking_vertex GL_ARB
D 2022-07-13 22:06:04.596@0x10c6c6e00: _seamless_cube_map GL_ARB_shader_objects GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shadow GL_ARB_shadow_ambient GL_ARB_sync GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_transpose_matrix GL_AR
D 2022-07-13 22:06:04.596@0x10c6c6e00: B_vertex_array_bgra GL_ARB_vertex_blend GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_ATI_blend_equation_separate GL_ATI_blend_weighted_minmax GL_ATI_separate_stencil GL_ATI_texture_compression_3dc GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_ATI_texture_mirror_once GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint G
D 2022-07-13 22:06:04.596@0x10c6c6e00: L_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_bounds_test GL_EXT_draw_buffers2 GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stenci
D 2022-07-13 22:06:04.596@0x10c6c6e00: l_two_side GL_EXT_stencil_wrap GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_texture_shared_exponent GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_IBM_rasterpos_clip GL_NV_blend_square GL_NV_conditional_render GL_NV_depth_clamp GL_NV_f
D 2022-07-13 22:06:04.596@0x10c6c6e00: og_distance GL_NV_light_max_exponent GL_NV_texgen_reflection GL_NV_texture_barrier GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SGI_color_matrix 
D 2022-07-13 22:06:04.596@0x10c6c6e00: 16 bit texture channel depth: 16
D 2022-07-13 22:06:04.596@0x10c6c6e00: OpenGL Context thread: 0x10c6c6e00
D 2022-07-13 22:06:04.596@0x10c6c6e00: OpenGL2.1 No profile, EGL0, GLSL120
Features PBO: 1, RG texture: 1, 16bit texture: 1
D 2022-07-13 22:06:04.596@0x10c6c6e00: resolving gl extensions...
D 2022-07-13 22:06:04.596@0x10c6c6e00: select gl api resolver for OpenGL|OpenGLES
D 2022-07-13 22:06:04.596@0x10c6c6e00: EGL runtime is not valid
D 2022-07-13 22:06:04.596@0x10c6c6e00: 
D 2022-07-13 22:06:04.596@0x10c6c6e00: using opengl api resolver: Mac
D 2022-07-13 22:06:04.596@0x10c6c6e00: context version: 210
D 2022-07-13 22:06:04.596@0x10c6c6e00: gl api resolved. thread@ 0x10c6c6e00
D 2022-07-13 22:06:04.596@0x10c6c6e00: D 2022-07-13 22:06:04.596@0x10c6c6e00: new OpenGLVideo 0x7f84a0b207f0 in ctx 0x7f84a0b55450
D 2022-07-13 22:06:04.596@0x10c6c6e00: 0x7f84a0b55450/0x7f849f885a00 Context::setLocalData local data 0x7f84a0b31df0 for key: 0x1. size: 1
D 2022-07-13 22:06:04.596@0x10c6c6e00: unknown, tile: 128x128, bpc:0, bpp:0(), channels:(), map: 0 0 0 0 => yuv420p, bpc:8, bpp:12(8,8,8), channels:(1,1,1), map: 0 1 2 0
D 2022-07-13 22:06:04.596@0x10c6c6e00: 0x7f84a0b55450/0x7f849f885a00 Context::setLocalData local data 0x7f84a0b31ea0 for key: 0x0. size: 2
D 2022-07-13 22:06:04.596@0x10c6c6e00: texture created: 1
D 2022-07-13 22:06:04.596@0x10c6c6e00: plane linesize 0: padded = 1920, effective = 1920. theoretical plane size: 1920x1080. coordinate crop: 1.000000
D 2022-07-13 22:06:04.596@0x10c6c6e00: texture created: 2
D 2022-07-13 22:06:04.596@0x10c6c6e00: plane linesize 1: padded = 960, effective = 960. theoretical plane size: 960x540. coordinate crop: 1.000000
D 2022-07-13 22:06:04.596@0x10c6c6e00: texture created: 3
D 2022-07-13 22:06:04.596@0x10c6c6e00: plane linesize 2: padded = 960, effective = 960. theoretical plane size: 960x540. coordinate crop: 1.000000
D 2022-07-13 22:06:04.596@0x10c6c6e00: crop_w=1.000000=>1.000000
D 2022-07-13 22:06:04.596@0x10c6c6e00: bpp 2, bpc: 8. gl texture parameters:
D 2022-07-13 22:06:04.596@0x10c6c6e00:     R8 |   RED | UNSIGNED_BYTE
D 2022-07-13 22:06:04.596@0x10c6c6e00:     R8 |   RED | UNSIGNED_BYTE
D 2022-07-13 22:06:04.596@0x10c6c6e00:     R8 |   RED | UNSIGNED_BYTE
D 2022-07-13 22:06:04.596@0x10c6c6e00: frame color: bt709 bt709 bt709 narrow. gamma: 2.200000, signal peak: 1.000000
D 2022-07-13 22:06:04.596@0x10c6c6e00:  - 
D 2022-07-13 22:06:04.596@0x10c6c6e00: output color: bt709 bt709 unknown full. gamma: 2.200000, signal peak: 1.000000
D 2022-07-13 22:06:04.596@0x10c6c6e00: rgb primaries matrix: mat<3, 3>(
D 2022-07-13 22:06:04.596@0x10c6c6e00: 1  0  0  
D 2022-07-13 22:06:04.596@0x10c6c6e00: 0  1  0  
D 2022-07-13 22:06:04.596@0x10c6c6e00: 0  0  1  
D 2022-07-13 22:06:04.596@0x10c6c6e00: )
D 2022-07-13 22:06:04.596@0x10c6c6e00: color transform: mat<4, 4>(
D 2022-07-13 22:06:04.596@0x10c6c6e00: 1.16438  0  1.79274  -0.972945  
D 2022-07-13 22:06:04.596@0x10c6c6e00: 1.16438  -0.213249  -0.532909  0.301483  
D 2022-07-13 22:06:04.596@0x10c6c6e00: 1.16438  2.1124  0  -1.1334  
D 2022-07-13 22:06:04.596@0x10c6c6e00: 0  0  0  1  
D 2022-07-13 22:06:04.596@0x10c6c6e00: )
D 2022-07-13 22:06:04.596@0x10c6c6e00: EQ: mat<4, 4>(
D 2022-07-13 22:06:04.596@0x10c6c6e00: 1  0  0  0  
D 2022-07-13 22:06:04.596@0x10c6c6e00: 0  1  0  0  
D 2022-07-13 22:06:04.596@0x10c6c6e00: 0  0  1  0  
D 2022-07-13 22:06:04.596@0x10c6c6e00: 0  0  0  1  
D 2022-07-13 22:06:04.596@0x10c6c6e00: )
D 2022-07-13 22:06:04.596@0x10c6c6e00: texture 0: 1920x1080
D 2022-07-13 22:06:04.596@0x10c6c6e00: texture 1: 960x540
D 2022-07-13 22:06:04.596@0x10c6c6e00: texture 2: 960x540
D 2022-07-13 22:06:04.598@0x10c6c6e00: material changed: 0x0=>0x905
D 2022-07-13 22:06:04.599@0x10c6c6e00: planar: 1, alpha: 0, texture 2d: 1, external: 0, rg semi-planar: 0, 16=>8: 0, xyz: 0, generic packed yuv: 0, cocgsy: 0, primaries diff: 0, trc: 1=>1, tone map: 0
D 2022-07-13 22:06:04.599@0x10c6c6e00: bind attribute: a_Position => 0
D 2022-07-13 22:06:04.599@0x10c6c6e00: bind attribute: a_TexCoords0 => 1
D 2022-07-13 22:06:04.600@0x10c6c6e00: uniform locations:
D 2022-07-13 22:06:04.600@0x10c6c6e00: u_Texture0: 0
D 2022-07-13 22:06:04.600@0x10c6c6e00: u_Texture1: 2
D 2022-07-13 22:06:04.600@0x10c6c6e00: u_Texture2: 1
D 2022-07-13 22:06:04.600@0x10c6c6e00: u_Matrix: 3, u_TexMatrix: 11
D 2022-07-13 22:06:04.600@0x10c6c6e00: update built-in uniforms
D 2022-07-13 22:06:04.600@0x10c6c6e00: EQ: mat<4, 4>(
D 2022-07-13 22:06:04.600@0x10c6c6e00: 1  0  0  0  
D 2022-07-13 22:06:04.600@0x10c6c6e00: 0  1  0  0  
D 2022-07-13 22:06:04.600@0x10c6c6e00: 0  0  1  0  
D 2022-07-13 22:06:04.600@0x10c6c6e00: 0  0  0  1  
D 2022-07-13 22:06:04.600@0x10c6c6e00: )
D 2022-07-13 22:06:04.600@0x10c6c6e00: uniform cb.u_colorMatrix: 7
D 2022-07-13 22:06:04.600@0x10c6c6e00: updating geometry...
D 2022-07-13 22:06:04.600@0x10c6c6e00: creating vbo...
D 2022-07-13 22:06:04.600@0x10c6c6e00: creating vao...
D 2022-07-13 22:06:09.986@0x700007184000: read packet error. FrameReader@0x7f849f812a00 sending Packet::End to all packet queues. PacketIO@0x7f849ec4d9a0 ->url: loop2.mov
D 2022-07-13 22:06:09.986@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore acquire
D 2022-07-13 22:06:14.078@0x700007207000: video frame cached in decoder overlaps @9.866
D 2022-07-13 22:06:14.079@0x700007207000: video frame cached in decoder overlaps @9.9
D 2022-07-13 22:06:14.079@0x700007207000: video frame cached in decoder overlaps @9.933
D 2022-07-13 22:06:14.079@0x700007207000: video frame cached in decoder overlaps @9.966
I 2022-07-13 22:06:14.079@0x700007207000: video stream#0 EOF/EOS decoded. end: 1
D 2022-07-13 22:06:14.483@0x700007207000: video stream#0 check loop range for EOS
D 2022-07-13 22:06:14.483@0x700007207000: 0x7f849f813000 track#0: @9223372036854775806. loop bits 1/1.
D 2022-07-13 22:06:14.483@0x700007207000: 0x7f849f813000 track#0: all tracks are out of loop range. seek to loop A from 9223372036854775806
D 2022-07-13 22:06:14.484@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore done acquire
I 2022-07-13 22:06:14.484@0x700007184000: virtual int64_t mdk::PacketIOWrapper::seek(int64_t, mdk::SeekFlag)@516 seek target(from 0): 0ms, flags: +FromStart
D 2022-07-13 22:06:14.484@0x700007184000: Seek start. target time: 0 avseek flags: 1
D 2022-07-13 22:06:14.484@0x700007184000: Seek end
D 2022-07-13 22:06:14.484@0x700007184000: 1 packets is read after seek. read more to get target pts
D 2022-07-13 22:06:14.485@0x700007184000: 1 packets is read after seek. seek result pts: 0s, requested: 0
D 2022-07-13 22:06:14.485@0x700007184000: seek_drop_non_video_: -3 ms, seek_wait_video_frame_: 1...
D 2022-07-13 22:06:14.485@0x700007207000: video stream#0 is seeking... got flush pkt. flush decoder and  drop frames until seek target -0.0030s...
D 2022-07-13 22:06:14.492@0x700007207000: h264 codec pixel format list: 
D 2022-07-13 22:06:14.492@0x700007207000: videotoolbox_vld
D 2022-07-13 22:06:14.492@0x700007207000: yuv420p (selected)
D 2022-07-13 22:06:14.492@0x700007207000: using avcodec software decoder...
D 2022-07-13 22:06:14.527@0x700007207000: video stream#0 sending 1 invalid AOT frame @0.000000s. seeking: 0
D 2022-07-13 22:06:14.527@0x700007207000: VideoRenderer clear buffered frames
D 2022-07-13 22:06:14.527@0x700007207000: 0-track seek end video frame @0 seek_pos_: -1
D 2022-07-13 22:06:14.527@0x700007207000: video stream#0 AOT frame is sent
D 2022-07-13 22:06:20.016@0x700007184000: read packet error. FrameReader@0x7f849f812a00 sending Packet::End to all packet queues. PacketIO@0x7f849ec4d9a0 ->url: loop2.mov
D 2022-07-13 22:06:20.016@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore acquire
D 2022-07-13 22:06:24.090@0x700007207000: video frame cached in decoder overlaps @9.866
D 2022-07-13 22:06:24.091@0x700007207000: video frame cached in decoder overlaps @9.9
D 2022-07-13 22:06:24.091@0x700007207000: video frame cached in decoder overlaps @9.933
D 2022-07-13 22:06:24.091@0x700007207000: video frame cached in decoder overlaps @9.966
I 2022-07-13 22:06:24.091@0x700007207000: video stream#0 EOF/EOS decoded. end: 1
D 2022-07-13 22:06:24.480@0x700007207000: video stream#0 check loop range for EOS
D 2022-07-13 22:06:24.480@0x700007207000: 0x7f849f813000 track#0: @9223372036854775806. loop bits 1/1.
D 2022-07-13 22:06:24.480@0x700007207000: 0x7f849f813000 track#0: all tracks are out of loop range. seek to loop A from 9223372036854775806
D 2022-07-13 22:06:24.480@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore done acquire
I 2022-07-13 22:06:24.480@0x700007184000: virtual int64_t mdk::PacketIOWrapper::seek(int64_t, mdk::SeekFlag)@516 seek target(from 0): 0ms, flags: +FromStart
D 2022-07-13 22:06:24.480@0x700007184000: Seek start. target time: 0 avseek flags: 1
D 2022-07-13 22:06:24.480@0x700007184000: Seek end
D 2022-07-13 22:06:24.480@0x700007184000: 1 packets is read after seek. read more to get target pts
D 2022-07-13 22:06:24.482@0x700007184000: 1 packets is read after seek. seek result pts: 0s, requested: 0
D 2022-07-13 22:06:24.482@0x700007184000: seek_drop_non_video_: -3 ms, seek_wait_video_frame_: 1...
D 2022-07-13 22:06:24.482@0x700007207000: video stream#0 is seeking... got flush pkt. flush decoder and  drop frames until seek target -0.0030s...
D 2022-07-13 22:06:24.489@0x700007207000: h264 codec pixel format list: 
D 2022-07-13 22:06:24.489@0x700007207000: videotoolbox_vld
D 2022-07-13 22:06:24.489@0x700007207000: yuv420p (selected)
D 2022-07-13 22:06:24.489@0x700007207000: using avcodec software decoder...
D 2022-07-13 22:06:24.526@0x700007207000: video stream#0 sending 1 invalid AOT frame @0.000000s. seeking: 0
D 2022-07-13 22:06:24.526@0x700007207000: VideoRenderer clear buffered frames
D 2022-07-13 22:06:24.526@0x700007207000: 0-track seek end video frame @0 seek_pos_: -1
D 2022-07-13 22:06:24.526@0x700007207000: video stream#0 AOT frame is sent
D 2022-07-13 22:06:30.018@0x700007184000: read packet error. FrameReader@0x7f849f812a00 sending Packet::End to all packet queues. PacketIO@0x7f849ec4d9a0 ->url: loop2.mov
D 2022-07-13 22:06:30.018@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore acquire
D 2022-07-13 22:06:34.089@0x700007207000: video frame cached in decoder overlaps @9.866
D 2022-07-13 22:06:34.089@0x700007207000: video frame cached in decoder overlaps @9.9
D 2022-07-13 22:06:34.089@0x700007207000: video frame cached in decoder overlaps @9.933
D 2022-07-13 22:06:34.089@0x700007207000: video frame cached in decoder overlaps @9.966
I 2022-07-13 22:06:34.089@0x700007207000: video stream#0 EOF/EOS decoded. end: 1
D 2022-07-13 22:06:34.482@0x700007207000: video stream#0 check loop range for EOS
D 2022-07-13 22:06:34.482@0x700007207000: 0x7f849f813000 track#0: @9223372036854775806. loop bits 1/1.
D 2022-07-13 22:06:34.482@0x700007207000: 0x7f849f813000 track#0: all tracks are out of loop range. seek to loop A from 9223372036854775806
D 2022-07-13 22:06:34.482@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore done acquire
I 2022-07-13 22:06:34.482@0x700007184000: virtual int64_t mdk::PacketIOWrapper::seek(int64_t, mdk::SeekFlag)@516 seek target(from 0): 0ms, flags: +FromStart
D 2022-07-13 22:06:34.482@0x700007184000: Seek start. target time: 0 avseek flags: 1
D 2022-07-13 22:06:34.482@0x700007184000: Seek end
D 2022-07-13 22:06:34.482@0x700007184000: 1 packets is read after seek. read more to get target pts
D 2022-07-13 22:06:34.484@0x700007184000: 1 packets is read after seek. seek result pts: 0s, requested: 0
D 2022-07-13 22:06:34.484@0x700007184000: seek_drop_non_video_: -3 ms, seek_wait_video_frame_: 1...
D 2022-07-13 22:06:34.484@0x700007207000: video stream#0 is seeking... got flush pkt. flush decoder and  drop frames until seek target -0.0030s...
D 2022-07-13 22:06:34.491@0x700007207000: h264 codec pixel format list: 
D 2022-07-13 22:06:34.491@0x700007207000: videotoolbox_vld
D 2022-07-13 22:06:34.491@0x700007207000: yuv420p (selected)
D 2022-07-13 22:06:34.491@0x700007207000: using avcodec software decoder...
D 2022-07-13 22:06:34.527@0x700007207000: video stream#0 sending 1 invalid AOT frame @0.000000s. seeking: 0
D 2022-07-13 22:06:34.527@0x700007207000: VideoRenderer clear buffered frames
D 2022-07-13 22:06:34.527@0x700007207000: 0-track seek end video frame @0 seek_pos_: -1
D 2022-07-13 22:06:34.527@0x700007207000: video stream#0 AOT frame is sent
D 2022-07-13 22:06:40.017@0x700007184000: read packet error. FrameReader@0x7f849f812a00 sending Packet::End to all packet queues. PacketIO@0x7f849ec4d9a0 ->url: loop2.mov
D 2022-07-13 22:06:40.017@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore acquire
D 2022-07-13 22:06:44.079@0x700007207000: video frame cached in decoder overlaps @9.866
D 2022-07-13 22:06:44.079@0x700007207000: video frame cached in decoder overlaps @9.9
D 2022-07-13 22:06:44.079@0x700007207000: video frame cached in decoder overlaps @9.933
D 2022-07-13 22:06:44.079@0x700007207000: video frame cached in decoder overlaps @9.966
I 2022-07-13 22:06:44.079@0x700007207000: video stream#0 EOF/EOS decoded. end: 1
D 2022-07-13 22:06:44.475@0x700007207000: video stream#0 check loop range for EOS
D 2022-07-13 22:06:44.475@0x700007207000: 0x7f849f813000 track#0: @9223372036854775806. loop bits 1/1.
D 2022-07-13 22:06:44.475@0x700007207000: 0x7f849f813000 track#0: all tracks are out of loop range. seek to loop A from 9223372036854775806
D 2022-07-13 22:06:44.475@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore done acquire
I 2022-07-13 22:06:44.475@0x700007184000: virtual int64_t mdk::PacketIOWrapper::seek(int64_t, mdk::SeekFlag)@516 seek target(from 0): 0ms, flags: +FromStart
D 2022-07-13 22:06:44.475@0x700007184000: Seek start. target time: 0 avseek flags: 1
D 2022-07-13 22:06:44.475@0x700007184000: Seek end
D 2022-07-13 22:06:44.475@0x700007184000: 1 packets is read after seek. read more to get target pts
D 2022-07-13 22:06:44.476@0x700007184000: 1 packets is read after seek. seek result pts: 0s, requested: 0
D 2022-07-13 22:06:44.476@0x700007184000: seek_drop_non_video_: -3 ms, seek_wait_video_frame_: 1...
D 2022-07-13 22:06:44.476@0x700007207000: video stream#0 is seeking... got flush pkt. flush decoder and  drop frames until seek target -0.0030s...
D 2022-07-13 22:06:44.484@0x700007207000: h264 codec pixel format list: 
D 2022-07-13 22:06:44.484@0x700007207000: videotoolbox_vld
D 2022-07-13 22:06:44.484@0x700007207000: yuv420p (selected)
D 2022-07-13 22:06:44.484@0x700007207000: using avcodec software decoder...
D 2022-07-13 22:06:44.523@0x700007207000: video stream#0 sending 1 invalid AOT frame @0.000000s. seeking: 0
D 2022-07-13 22:06:44.523@0x700007207000: VideoRenderer clear buffered frames
D 2022-07-13 22:06:44.523@0x700007207000: 0-track seek end video frame @0 seek_pos_: -1
D 2022-07-13 22:06:44.523@0x700007207000: video stream#0 AOT frame is sent
D 2022-07-13 22:06:50.007@0x700007184000: read packet error. FrameReader@0x7f849f812a00 sending Packet::End to all packet queues. PacketIO@0x7f849ec4d9a0 ->url: loop2.mov
D 2022-07-13 22:06:50.007@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore acquire
D 2022-07-13 22:06:54.071@0x700007207000: video frame cached in decoder overlaps @9.866
D 2022-07-13 22:06:54.071@0x700007207000: video frame cached in decoder overlaps @9.9
D 2022-07-13 22:06:54.071@0x700007207000: video frame cached in decoder overlaps @9.933
D 2022-07-13 22:06:54.071@0x700007207000: video frame cached in decoder overlaps @9.966
I 2022-07-13 22:06:54.071@0x700007207000: video stream#0 EOF/EOS decoded. end: 1
D 2022-07-13 22:06:54.472@0x700007207000: video stream#0 check loop range for EOS
D 2022-07-13 22:06:54.472@0x700007207000: 0x7f849f813000 track#0: @9223372036854775806. loop bits 1/1.
D 2022-07-13 22:06:54.472@0x700007207000: 0x7f849f813000 track#0: all tracks are out of loop range. seek to loop A from 9223372036854775806
D 2022-07-13 22:06:54.472@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore done acquire
I 2022-07-13 22:06:54.472@0x700007184000: virtual int64_t mdk::PacketIOWrapper::seek(int64_t, mdk::SeekFlag)@516 seek target(from 0): 0ms, flags: +FromStart
D 2022-07-13 22:06:54.472@0x700007184000: Seek start. target time: 0 avseek flags: 1
D 2022-07-13 22:06:54.472@0x700007184000: Seek end
D 2022-07-13 22:06:54.472@0x700007184000: 1 packets is read after seek. read more to get target pts
D 2022-07-13 22:06:54.474@0x700007184000: 1 packets is read after seek. seek result pts: 0s, requested: 0
D 2022-07-13 22:06:54.474@0x700007184000: seek_drop_non_video_: -3 ms, seek_wait_video_frame_: 1...
D 2022-07-13 22:06:54.474@0x700007207000: video stream#0 is seeking... got flush pkt. flush decoder and  drop frames until seek target -0.0030s...
D 2022-07-13 22:06:54.482@0x700007207000: h264 codec pixel format list: 
D 2022-07-13 22:06:54.482@0x700007207000: videotoolbox_vld
D 2022-07-13 22:06:54.482@0x700007207000: yuv420p (selected)
D 2022-07-13 22:06:54.482@0x700007207000: using avcodec software decoder...
D 2022-07-13 22:06:54.517@0x700007207000: video stream#0 sending 1 invalid AOT frame @0.000000s. seeking: 0
D 2022-07-13 22:06:54.517@0x700007207000: VideoRenderer clear buffered frames
D 2022-07-13 22:06:54.517@0x700007207000: 0-track seek end video frame @0 seek_pos_: -1
D 2022-07-13 22:06:54.517@0x700007207000: video stream#0 AOT frame is sent
D 2022-07-13 22:07:00.009@0x700007184000: read packet error. FrameReader@0x7f849f812a00 sending Packet::End to all packet queues. PacketIO@0x7f849ec4d9a0 ->url: loop2.mov
D 2022-07-13 22:07:00.009@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore acquire
D 2022-07-13 22:07:04.067@0x700007207000: video frame cached in decoder overlaps @9.866
D 2022-07-13 22:07:04.067@0x700007207000: video frame cached in decoder overlaps @9.9
D 2022-07-13 22:07:04.067@0x700007207000: video frame cached in decoder overlaps @9.933
D 2022-07-13 22:07:04.067@0x700007207000: video frame cached in decoder overlaps @9.966
I 2022-07-13 22:07:04.067@0x700007207000: video stream#0 EOF/EOS decoded. end: 1
D 2022-07-13 22:07:04.473@0x700007207000: video stream#0 check loop range for EOS
D 2022-07-13 22:07:04.474@0x700007207000: 0x7f849f813000 track#0: @9223372036854775806. loop bits 1/1.
D 2022-07-13 22:07:04.474@0x700007207000: 0x7f849f813000 track#0: all tracks are out of loop range. seek to loop A from 9223372036854775806
D 2022-07-13 22:07:04.474@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore done acquire
I 2022-07-13 22:07:04.474@0x700007184000: virtual int64_t mdk::PacketIOWrapper::seek(int64_t, mdk::SeekFlag)@516 seek target(from 0): 0ms, flags: +FromStart
D 2022-07-13 22:07:04.474@0x700007184000: Seek start. target time: 0 avseek flags: 1
D 2022-07-13 22:07:04.474@0x700007184000: Seek end
D 2022-07-13 22:07:04.474@0x700007184000: 1 packets is read after seek. read more to get target pts
D 2022-07-13 22:07:04.475@0x700007184000: 1 packets is read after seek. seek result pts: 0s, requested: 0
D 2022-07-13 22:07:04.475@0x700007184000: seek_drop_non_video_: -3 ms, seek_wait_video_frame_: 1...
D 2022-07-13 22:07:04.475@0x700007207000: video stream#0 is seeking... got flush pkt. flush decoder and  drop frames until seek target -0.0030s...
D 2022-07-13 22:07:04.482@0x700007207000: h264 codec pixel format list: 
D 2022-07-13 22:07:04.482@0x700007207000: videotoolbox_vld
D 2022-07-13 22:07:04.482@0x700007207000: yuv420p (selected)
D 2022-07-13 22:07:04.482@0x700007207000: using avcodec software decoder...
D 2022-07-13 22:07:04.520@0x700007207000: video stream#0 sending 1 invalid AOT frame @0.000000s. seeking: 0
D 2022-07-13 22:07:04.520@0x700007207000: VideoRenderer clear buffered frames
D 2022-07-13 22:07:04.520@0x700007207000: 0-track seek end video frame @0 seek_pos_: -1
D 2022-07-13 22:07:04.520@0x700007207000: video stream#0 AOT frame is sent
D 2022-07-13 22:07:10.004@0x700007184000: read packet error. FrameReader@0x7f849f812a00 sending Packet::End to all packet queues. PacketIO@0x7f849ec4d9a0 ->url: loop2.mov
D 2022-07-13 22:07:10.004@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore acquire
D 2022-07-13 22:07:14.080@0x700007207000: video frame cached in decoder overlaps @9.866
D 2022-07-13 22:07:14.080@0x700007207000: video frame cached in decoder overlaps @9.9
D 2022-07-13 22:07:14.080@0x700007207000: video frame cached in decoder overlaps @9.933
D 2022-07-13 22:07:14.080@0x700007207000: video frame cached in decoder overlaps @9.966
I 2022-07-13 22:07:14.080@0x700007207000: video stream#0 EOF/EOS decoded. end: 1
D 2022-07-13 22:07:14.472@0x700007207000: video stream#0 check loop range for EOS
D 2022-07-13 22:07:14.472@0x700007207000: 0x7f849f813000 track#0: @9223372036854775806. loop bits 1/1.
D 2022-07-13 22:07:14.472@0x700007207000: 0x7f849f813000 track#0: all tracks are out of loop range. seek to loop A from 9223372036854775806
D 2022-07-13 22:07:14.473@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore done acquire
I 2022-07-13 22:07:14.473@0x700007184000: virtual int64_t mdk::PacketIOWrapper::seek(int64_t, mdk::SeekFlag)@516 seek target(from 0): 0ms, flags: +FromStart
D 2022-07-13 22:07:14.473@0x700007184000: Seek start. target time: 0 avseek flags: 1
D 2022-07-13 22:07:14.473@0x700007184000: Seek end
D 2022-07-13 22:07:14.473@0x700007184000: 1 packets is read after seek. read more to get target pts
D 2022-07-13 22:07:14.474@0x700007184000: 1 packets is read after seek. seek result pts: 0s, requested: 0
D 2022-07-13 22:07:14.474@0x700007184000: seek_drop_non_video_: -3 ms, seek_wait_video_frame_: 1...
D 2022-07-13 22:07:14.474@0x700007207000: video stream#0 is seeking... got flush pkt. flush decoder and  drop frames until seek target -0.0030s...
D 2022-07-13 22:07:14.481@0x700007207000: h264 codec pixel format list: 
D 2022-07-13 22:07:14.481@0x700007207000: videotoolbox_vld
D 2022-07-13 22:07:14.481@0x700007207000: yuv420p (selected)
D 2022-07-13 22:07:14.481@0x700007207000: using avcodec software decoder...
D 2022-07-13 22:07:14.516@0x700007207000: video stream#0 sending 1 invalid AOT frame @0.000000s. seeking: 0
D 2022-07-13 22:07:14.516@0x700007207000: VideoRenderer clear buffered frames
D 2022-07-13 22:07:14.516@0x700007207000: 0-track seek end video frame @0 seek_pos_: -1
D 2022-07-13 22:07:14.516@0x700007207000: video stream#0 AOT frame is sent
D 2022-07-13 22:07:20.001@0x700007184000: read packet error. FrameReader@0x7f849f812a00 sending Packet::End to all packet queues. PacketIO@0x7f849ec4d9a0 ->url: loop2.mov
D 2022-07-13 22:07:20.001@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore acquire
D 2022-07-13 22:07:24.076@0x700007207000: video frame cached in decoder overlaps @9.866
D 2022-07-13 22:07:24.076@0x700007207000: video frame cached in decoder overlaps @9.9
D 2022-07-13 22:07:24.076@0x700007207000: video frame cached in decoder overlaps @9.933
D 2022-07-13 22:07:24.076@0x700007207000: video frame cached in decoder overlaps @9.966
I 2022-07-13 22:07:24.076@0x700007207000: video stream#0 EOF/EOS decoded. end: 1
D 2022-07-13 22:07:24.473@0x700007207000: video stream#0 check loop range for EOS
D 2022-07-13 22:07:24.473@0x700007207000: 0x7f849f813000 track#0: @9223372036854775806. loop bits 1/1.
D 2022-07-13 22:07:24.473@0x700007207000: 0x7f849f813000 track#0: all tracks are out of loop range. seek to loop A from 9223372036854775806
D 2022-07-13 22:07:24.473@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore done acquire
I 2022-07-13 22:07:24.473@0x700007184000: virtual int64_t mdk::PacketIOWrapper::seek(int64_t, mdk::SeekFlag)@516 seek target(from 0): 0ms, flags: +FromStart
D 2022-07-13 22:07:24.473@0x700007184000: Seek start. target time: 0 avseek flags: 1
D 2022-07-13 22:07:24.473@0x700007184000: Seek end
D 2022-07-13 22:07:24.473@0x700007184000: 1 packets is read after seek. read more to get target pts
D 2022-07-13 22:07:24.474@0x700007184000: 1 packets is read after seek. seek result pts: 0s, requested: 0
D 2022-07-13 22:07:24.474@0x700007184000: seek_drop_non_video_: -3 ms, seek_wait_video_frame_: 1...
D 2022-07-13 22:07:24.474@0x700007207000: video stream#0 is seeking... got flush pkt. flush decoder and  drop frames until seek target -0.0030s...
D 2022-07-13 22:07:24.481@0x700007207000: h264 codec pixel format list: 
D 2022-07-13 22:07:24.481@0x700007207000: videotoolbox_vld
D 2022-07-13 22:07:24.481@0x700007207000: yuv420p (selected)
D 2022-07-13 22:07:24.481@0x700007207000: using avcodec software decoder...
D 2022-07-13 22:07:24.519@0x700007207000: video stream#0 sending 1 invalid AOT frame @0.000000s. seeking: 0
D 2022-07-13 22:07:24.519@0x700007207000: VideoRenderer clear buffered frames
D 2022-07-13 22:07:24.519@0x700007207000: 0-track seek end video frame @0 seek_pos_: -1
D 2022-07-13 22:07:24.519@0x700007207000: video stream#0 AOT frame is sent
D 2022-07-13 22:07:30.014@0x700007184000: read packet error. FrameReader@0x7f849f812a00 sending Packet::End to all packet queues. PacketIO@0x7f849ec4d9a0 ->url: loop2.mov
D 2022-07-13 22:07:30.014@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore acquire
D 2022-07-13 22:07:34.072@0x700007207000: video frame cached in decoder overlaps @9.866
D 2022-07-13 22:07:34.072@0x700007207000: video frame cached in decoder overlaps @9.9
D 2022-07-13 22:07:34.072@0x700007207000: video frame cached in decoder overlaps @9.933
D 2022-07-13 22:07:34.072@0x700007207000: video frame cached in decoder overlaps @9.966
I 2022-07-13 22:07:34.072@0x700007207000: video stream#0 EOF/EOS decoded. end: 1
D 2022-07-13 22:07:34.469@0x700007207000: video stream#0 check loop range for EOS
D 2022-07-13 22:07:34.469@0x700007207000: 0x7f849f813000 track#0: @9223372036854775806. loop bits 1/1.
D 2022-07-13 22:07:34.469@0x700007207000: 0x7f849f813000 track#0: all tracks are out of loop range. seek to loop A from 9223372036854775806
D 2022-07-13 22:07:34.469@0x700007184000: 0x7f849f812a00 #video stream#0 end semaphore done acquire
I 2022-07-13 22:07:34.469@0x700007184000: virtual int64_t mdk::PacketIOWrapper::seek(int64_t, mdk::SeekFlag)@516 seek target(from 0): 0ms, flags: +FromStart
D 2022-07-13 22:07:34.469@0x700007184000: Seek start. target time: 0 avseek flags: 1
D 2022-07-13 22:07:34.469@0x700007184000: Seek end
D 2022-07-13 22:07:34.469@0x700007184000: 1 packets is read after seek. read more to get target pts
D 2022-07-13 22:07:34.471@0x700007184000: 1 packets is read after seek. seek result pts: 0s, requested: 0
D 2022-07-13 22:07:34.471@0x700007184000: seek_drop_non_video_: -3 ms, seek_wait_video_frame_: 1...
D 2022-07-13 22:07:34.472@0x700007207000: video stream#0 is seeking... got flush 

doubleaa93 avatar Jul 14 '22 03:07 doubleaa93

no problem in the log. when the first is to be rendered in a new loop, video stream#0 AOT frame is sent will be printed in the log, the interval is 10s in the log. when a loop finished, video stream#0 check loop range for EOS will be printed. these 2 message, also 10s

wang-bin avatar Jul 14 '22 08:07 wang-bin

I've tested on 2 macbooks and 1 windows, still can't reproduce it. nothing wrong in your log too.

wang-bin avatar Jul 16 '22 14:07 wang-bin