wang-bin / fvp

Flutter video player plugin for all desktop+mobile platforms. download prebuilt examples from github actions. https://pub.dev/packages/fvp
BSD 3-Clause "New" or "Revised" License
126 stars 20 forks source link

orientation issue in some videos on ios #64

Closed ujwalbasnet1 closed 5 months ago

ujwalbasnet1 commented 5 months ago

when used fvp the video aspectRatio is inversed using video_player without fvp its fine

Expected behavior A clear and concise description of what you expected to happen.

Code:

 Scaffold(
            body: Column(
              children: [
                Expanded(
                  child: Container(
                    color: Colors.green,
                    child: Stack(
                      alignment: Alignment.bottomCenter,
                      children: <Widget>[
                        Center(
                          child: Container(
                            color: Colors.red,
                            child: AspectRatio(
                              aspectRatio: _controller.aspectRatio,
                              child: VideoPlayer(_controller),
                            ),
                          ),
                        ),
                      ],
                    ),
                  ),
                ),
            ),
          ),

Screenshots: fvp: IMG_6419

without fvp: IMG_6416

logs:

flutter: [coreToIsolateStream] [D] 1705560977: [Zynk:PING] Pong received from peer None/12D3KooWRE9MY1ASH2Z8t3WidrecD5GKQykm7xkYawq7djWijs3s with rtt 256ms
flutter: fvp: 709957508 player4410514208 create(file:///private/var/mobile/Containers/Data/Application/2183DB10-D104-4E6B-860A-E1D7F4909F7A/tmp/image_picker_B3304F95-8DBB-4391-9EF1-383770634D94-5196-000002F8E613820BIMG_6381.mov)
flutter: mdk: default0x106e0a310 new FrameReader...
flutter: mdk: Registered audio backends: AudioQueue OpenAL null
flutter: mdk: default0x106e150d0 new FrameReader...
flutter: mdk: Registered audio backends: AudioQueue OpenAL null
flutter: mdk: 0x106e10f90mdk::Player::Player()
flutter: mdk: player property: avio.protocol_whitelist = file,rtmp,http,https,tls,rtp,tcp,udp,crypto,httpproxy,data,concatf,concat,subfile
flutter: mdk: player property: avformat.rtsp_transport = tcp
flutter: mdk: video decoders: "VT", "FFmpeg"
flutter: mdk: video decoders: "VT", "FFmpeg"
flutter: mdk: default FrameReader0x106e0a310 state: 0=>0=>0, 0
flutter: mdk: default0x106e0a310 virtual void mdk::FrameReader::stop(), current state: 0
flutter: mdk: default FrameReader0x106e0a310 state: 0=>0=>0, 0
flutter: mdk: default0x106e0a310 virtual void mdk::FrameReader::stop(), current state: 0
flutter: mdk: AudioQueueStart ERROR: 0
flutter: mdk: 0x10818f000 MediaControl.prepare(0, ...) file:///private/var/mobile/Containers/Data/Application/2183DB10-D104-4E6B-860A-E1D7F4909F7A/tmp/image_picker_B3304F95-8DBB-4391-9EF1-383770634D94-5196-000002F8E613820BIMG_6381.mov
flutter: mdk: default 0x106e0a310 FrameReader.start(0, ...)
flutter: mdk: default 0x106e0a310 FrameReader::update MediaStatus 0=>0X2
flutter: fvp: 311513479 player4410514208 onMediaStatus: MediaStatus(noMedia) => MediaStatus(+loading)
flutter: mdk: default FrameReader0x106e0a310 state: 0=>0=>1, 0
flutter: mdk: default FrameReader0x106e0a310 state: 0=>1=>1, 0
flutter: mdk: start frame reader thread: 0x17080f000
flutter: mdk: Trying MediaIO FFmpeg for protocol "file"
flutter: mdk: 0x281d37ae0 open url: file:///private/var/mobile/Containers/Data/Application/2183DB10-D104-4E6B-860A-E1D7F4909F7A/tmp/image_picker_B3304F95-8DBB-4391-9EF1-383770634D94-5196-000002F8E613820BIMG_6381.mov
flutter: mdk: 0x281d37ae0 url opened
flutter: mdk: default 0x106e0a310 FrameReader::update MediaStatus 0X2=>0X2
flutter: mdk: before avformat_open_input. io: 0x281d37ae0(FFmpeg/pb: 0x106e17030, url: file:///private/var/mobile/Containers/Data/Application/2183DB10-D104-4E6B-860A-E1D7F4909F7A/tmp/image_picker_B3304F95-8DBB-4391-9EF1-383770634D94-5196-000002F8E613820BIMG_6381.mov
flutter: mdk: after avformat_open_input. pb: 0x106e17030, iformat: 0x10578e6d8 context flags: 2097280, input format flags: 67141640
flutter: mdk: unsupported avformat options:  rtsp_transport=tcp
flutter: mdk: Unsupported stream type: data, codec: unknown
flutter: mdk: Unsupported stream type: data, codec: unknown
flutter: mdk: Unsupported stream type: data, codec: unknown
flutter: mdk: Format: mov,mp4,m4a,3gp,3g2,mj2, range: 0 +3198ms, bitrate: 24925986, size: 0
Metadata:
  com.apple.photos.originating.signature: AcNZ4NR7ubAV7OnICMwL+SBlh1fy
  com.apple.quicktime.creationdate: 2024-01-14T19:32:29+0545
  com.apple.quicktime.software: 16.1
  com.apple.quicktime.model: iPhone 13 Pro Max
  com.apple.quicktime.make: Apple
  com.apple.quicktime.location.accuracy.horizontal: 40.000000
  creation_time: 2024-01-18T06:50:42.000000Z
  minor_version: 0
  compatible_brands: qt  
  com.apple.quicktime.location.ISO6709: +27.7170+085.3465+1312.457/
  major_brand: qt  
Streams: 5
 Video:
  stream#1, range: 0 +3198ms, frames: 96, rotation: 90
  codec: h264 tag: 'avc1' profile: 100 level: 51, yuv420p, bpc:8, bpp:12(8,8,8), channels:(1,1,1), map: 0 1 2 0, bitrate: 24668900, 3840x2160, fps: 30.0156, bframes: 0, primaries: BT709, trc: BT709, matrix: BT709, range: Limited
  extra data(35): 01 64 00 33 FF E1 00 10 27 64 00 33 AC 56 80 3C 00 43 E9 A8 08 08 08 10 01 00 04 28 EE 3C B0 FD F8 F8 00 
  Metadata:
   encoder: H.264
   handler_name: Core Media Video
   vendor_id: [0][0][0][0]
   language: und
   creation_time: 2024-01-18T06:50:43.000000Z
 Audio:
  stream#0, range: 0 +3198ms, frames: 140
  codec: aac tag: 'mp4a' profile: 1 level: -99, sample size: 0/16, block align: 0, frame_size: 1024, f32p stereo(2) @44100Hz, bitrate: 203386
  extra data(2): 12 10 
  Metadata:
   handler_name: Core Media Audio
   vendor_id: [0][0][0][0]
   language: und
   creation_time: 2024-01-18T06:50:43.000000Z
flutter: mdk: default FrameReader0x106e0a310 request to pause 1, loaded: 0.
flutter: mdk: default FrameReader0x106e0a310 state: 0=>1=>2, 0
flutter: mdk: default FrameReader0x106e0a310 state requested: 2, current: 0
flutter: mdk: 142 AudioBackendAudioQueue ERROR>>> AudioQueuePause(queue_): -50
flutter: mdk:
flutter: mdk: 0x10818f000 prepared callback is invoked
flutter: mdk: default 0x106e0a310 FrameReader::update MediaStatus 0X2=>0X4
flutter: fvp: 311513479 player4410514208 onMediaStatus: MediaStatus(+loading) => MediaStatus(+loaded)
flutter: mdk: ***buffering progress 0%***
flutter: mdk: default 0x106e0a310 FrameReader::update MediaStatus 0X4=>0X14
flutter: mdk: 142 AudioBackendAudioQueue ERROR>>> AudioQueuePause(queue_): -50
flutter: mdk:
flutter: fvp: 311513479 player4410514208 onMediaStatus: MediaStatus(+loaded) => MediaStatus(+loaded+buffering)
flutter: mdk: ++++++++++++BUFFERING START++++++++++++
flutter: mdk:
flutter: fvp: 311513479 player4410514208 onEvent: reader.buffering 0
flutter: mdk: default FrameReader0x106e0a310 state: 0=>2=>1, 1
flutter: mdk: default FrameReader0x106e0a310 update state: 0=>1
flutter: fvp: 311513479 player4410514208 onPlaybackStateChanged: PlaybackState.stopped => PlaybackState.playing
flutter: mdk: default FrameReader0x106e0a310 state: 1=>1=>2, 1
flutter: mdk: default FrameReader0x106e0a310 update state: 1=>2
flutter: fvp: 311513479 player4410514208 onPlaybackStateChanged: PlaybackState.playing => PlaybackState.paused
flutter: mdk: starting decode loop thread mdk.adec0@0x172dc7000
flutter: fvp: 311513479 player4410514208 onEvent: thread.audio 1
flutter: mdk: audio stream#0 starting decoding loop from decoder index 0...
flutter: mdk: creating audio decoder: auto...
flutter: mdk: opening audio decoder: FFmpeg...
flutter: mdk: opening ffmpeg audio decoder: aac ...
flutter: mdk: starting decode loop thread mdk.vdec1@0x17652b000
flutter: fvp: 311513479 player4410514208 onEvent: thread.video 1
flutter: mdk: video stream#1 starting decoding loop from decoder index 0...
flutter: mdk: creating video decoder: VT...
flutter: mdk: Try to use IOSurface OpenGL(ES) interop: true
flutter: mdk: opening video decoder: VT...
flutter: mdk: codec 'avc1' for VT
flutter: mdk: VT hardware decode support: 1
flutter: mdk: AVCodec.Audio[aac.] decoder: 1 Single threads
flutter: mdk: aac f32p, stereo @44100Hz
flutter: fvp: 311513479 player4410514208 onEvent: decoder.audio 0
flutter: mdk: ***buffering progress 100%***
flutter: mdk: default 0x106e0a310 FrameReader::update MediaStatus 0X14=>0X124
flutter: mdk: 142 AudioBackendAudioQueue ERROR>>> AudioQueuePause(queue_): -50
flutter: mdk:
flutter: fvp: 311513479 player4410514208 onMediaStatus: MediaStatus(+loaded+buffering) => MediaStatus(+loaded+prepared+buffered)
flutter: mdk: <CMVideoFormatDescription 0x2836af0c0 [0x1e9aac580]> {
    mediaType:'vide' 
    mediaSubType:'avc1' 
    mediaSpecific: {
        codecType: 'avc1'       dimensions: 3840 x 2160 
    } 
    extensions: {{
    CVImageBufferColorPrimaries = "ITU_R_709_2";
    CVImageBufferTransferFunction = "ITU_R_709_2";
    Depth = 24;
    FormatName = avc1;
    FullRangeVideo = 0;
    SampleDescriptionExtensionAtoms =     {
        avcC = {length = 35, bytes = 0x01640033 ffe10010 27640033 ac56803c ... 28ee3cb0 fdf8f800 };
    };
}}
}
flutter: mdk: ++++++++++++BUFFERING END++++++++++++
flutter: mdk:
flutter: fvp: 311513479 player4410514208 onEvent: reader.buffering 100
flutter: mdk: audio stream#0 sending 1 invalid AOT frame @0.001451s. seeking: 0
flutter: mdk: 0x10818f000 1st audio frame @0.001451
flutter: mdk: 0x10818f000 seek end audio frame @0.001451 seek_pos_: -1, sync_ao_ 1
flutter: mdk: AudioRenderer format: f32, stereo @44100Hz, requested: f32p, stereo @44100Hz
flutter: mdk: AudioRenderer format changed and reinitialize
flutter: mdk: setLoop(0), now 0/0
flutter: mdk: 0x10818f000 virtual void mdk::MediaControlPush::setState(mdk::PlaybackState)@1013 requested state 2=>1, current state 2. status: 0X124
flutter: mdk: AudioQueueStart ERROR: 0
flutter: mdk: default FrameReader0x106e0a310 request to pause 0, loaded: 4.
flutter: mdk: default FrameReader0x106e0a310 state: 2=>2=>1, 0
flutter: mdk: default FrameReader0x106e0a310 state requested: 1, current: 2
flutter: mdk: default FrameReader0x106e0a310 state: 2=>1=>1, 1
flutter: mdk: default FrameReader0x106e0a310 update state: 2=>1
flutter: fvp: 311513479 player4410514208 onPlaybackStateChanged: PlaybackState.paused => PlaybackState.playing
flutter: mdk: 0x10818f000-MediaControl::seek(pos: 0, flag:0X402 +FromStart). now: 0
flutter: mdk: default 0x106e0a310-FrameReader::seek(0, 0X402)
flutter: mdk: default 0x106e0a310 FrameReader::update MediaStatus 0X124=>0X1A4
flutter: fvp: 311513479 player4410514208 onMediaStatus: MediaStatus(+loaded+prepared+buffered) => MediaStatus(+loaded+prepared+buffered)
flutter: mdk: 0x106e0a310 default FrameReaderImpl::seekTo(0, 0X402 #1)
flutter: mdk: seeking media's position is 0=====
flutter: mdk: virtual int64_t mdk::PacketIOWrapper::seek(int64_t, mdk::SeekFlag)@550 seek target(from 0): 0ms, flags: +FromStart. now: 0.400000
flutter: mdk: default 0x106e0a310 FrameReader::update MediaStatus 0X1A4=>0X1A4
flutter: mdk: Seek start. target time: 0 avseek flags: 1
flutter: mdk: Seek end
flutter: mdk: 1 packets is read after seek. read more to get target pts
flutter: mdk: 1 packets is read after seek. seek result pts: 0s, requested: 0
flutter: mdk: default 0x106e0a310 FrameReader::update MediaStatus 0X1A4=>0X124
flutter: fvp: 311513479 player4410514208 onMediaStatus: MediaStatus(+loaded+prepared+buffered) => MediaStatus(+loaded+prepared+buffered)
flutter: mdk: seek_drop_non_video_: -3 ms, seek_wait_frame_: 0...
flutter: mdk: default 0x106e0a310 FrameReader::update MediaStatus 0X124=>0X164
flutter: fvp: 311513479 player4410514208 onMediaStatus: MediaStatus(+loaded+prepared+buffered) => MediaStatus(+loaded+prepared+buffered+end)
flutter: mdk: read packet error. FrameReader@0x106e0a310 sending Packet::End to all packet queues. PacketIO@0x106e16400 ->url: file:///private/var/mobile/Containers/Data/Application/2183DB10-D104-4E6B-860A-E1D7F4909F7A/tmp/image_picker_B3304F95-8DBB-4391-9EF1-383770634D94-5196-000002F8E613820BIMG_6381.mov
flutter: mdk: #video stream#1 wait for decode loop started
flutter: fvp: 311513479 player4410514208 onEvent: decoder.video 0
flutter: mdk: decode stored recovery packets: 0
flutter: mdk: 0x106e0a310 #video stream#1 end semaphore acquire
flutter: mdk: video stream#1 is seeking #1... got flush pkt. flush decoder and  drop frames until seek target -0.0030s...
flutter: mdk: 0x10818f000 1st video frame to render @-1.000000s, sync time: 0.001451
flutter: mdk: invalid video frame @-1.000000
flutter: fvp: 311513479 player4410514208 onEvent: decoder.video 0
flutter: mdk: #1/1 video seek_done: 1, seek_wait_frame_: 0/0
flutter: mdk: video stream#1 sending 1 invalid AOT frame @0.000000s. seeking: 0
flutter: mdk: 0x10818f000 1st video frame to render @0.000000s, sync time: 0.001451
flutter: mdk: VideoRenderer clear buffered frames
flutter: mdk: 0-track seek end video frame @0.000000 seek_pos_: 0
flutter: mdk: 0x106e0a310 #video stream#1 end semaphore done acquire
flutter: mdk: 0x10818f000 1st video frame to render @0.000000s, sync time: 0.001451
flutter: fvp: 311513479 player4410514208 onEvent: video 0
flutter: mdk: 0x106e0a310 #audio stream#0 end semaphore acquire
flutter: mdk: 0x106e0a310 #audio stream#0 end semaphore done acquire
flutter: mdk: default FrameReader0x106e0a310 #1 seekComplete 0
flutter: mdk: default 0x106e0a310 FrameReader::update MediaStatus 0X164=>0X164
flutter: mdk: default FrameReader 0x106e0a310 callbacks 1, seeking: 0, seekComplete#1 @0
flutter: mdk: default FrameReader 0x106e0a310 callbacks 0, seeking 0 flag 0, seekComplete#1 @0
flutter: mdk: 0x106e0a310 #video stream#1 end semaphore acquire
flutter: mdk: VideoRenderer WxH=3840.000000x2160.000000 3840.000000x2160.000000, frame: 3840x2160
flutter: mdk: update transform 2d. scale: (0.316406, 1.000000), orientation: 0
flutter: mdk: m: mat<4, 4>(
flutter: mdk: 3.77311e-09  0.316406  0  0
flutter: mdk: -1  1.19249e-08  0  0
flutter: mdk: 0  0  1  0
flutter: mdk: 0  0  0  1
flutter: mdk: )
flutter: mdk: unknown, bpc:0, bpp:0(), channels:(), map: 0 0 0 0 => mapped nv12, bpc:8, bpp:12(8,16), channels:(1,2), map: 0 1 2 0
flutter: mdk: Metal pixel format 0: MTLPixelFormatR8Unorm
flutter: mdk: Metal pixel format 1: MTLPixelFormatRG8Unorm
flutter: mdk: frame color: BT709 BT709 BT709 Limited. gamma: 2.200000, signal peak: 1.000000
flutter: mdk:  -
flutter: mdk: output color: BT709 UNSPECIFIED RGB Full. gamma: 2.200000, signal peak: 1.000000
flutter: mdk: rgb primaries matrix: mat<3, 3>(
flutter: mdk: 1  0  0
flutter: mdk: 0  1  0
flutter: mdk: 0  0  1
flutter: mdk: )
flutter: mdk: color transform: mat<4, 4>(
flutter: mdk: 1.16438  0  1.79274  -0.972945
flutter: mdk: 1.16438  -0.213249  -0.532909  0.301483
flutter: mdk: 1.16438  2.1124  0  -1.1334
flutter: mdk: 0  0  0  1
flutter: mdk: )
flutter: mdk: EQ: mat<4, 4>(
flutter: mdk: 1  0  0  0
flutter: mdk: 0  1  0  0
flutter: mdk: 0  0  1  0
flutter: mdk: 0  0  0  1
flutter: mdk: )
flutter: fvp: 311513479 player4410514208 onEvent: render.video 0
flutter: mdk: video stream#1 AOT frame is sent
flutter: mdk: Using audio backend: AudioQueue
flutter: mdk: 0x10818f000 ao opened: 1, reopen: 1, bad ao: 0
flutter: mdk: 0x28083d4e8 filter graph:
flutter: mdk: +-----------+
|    src    |default--[44100Hz fltp:stereo]--swr:default
| (abuffer) |
+-----------+

                                          +---------------+
swr:default--[44100Hz flt:stereo]--default|      dst      |
                                          | (abuffersink) |
                                          +---------------+

                                           +-------------+
src:default--[44100Hz fltp:stereo]--default|     swr     |default--[44100Hz flt:stereo]--dst:default
                                           | (aresample) |
                                           +-------------+
flutter: mdk: >>>>>>>>1st audio frame (after seek) rendered: 1, ao: 16, a: 1, delta: 15 +0.021769
flutter: mdk: audio stream#0 AOT frame is sent
flutter: mdk: audio stream#0 is seeking #1... got flush pkt. flush decoder and  drop frames until seek target -0.0030s...
flutter: mdk: invalid audio frame @-1.000000
flutter: mdk: #1/1 audio seek_done: 1, seek_wait_frame_: -1/1
flutter: mdk: audio stream#0 sending 1 invalid AOT frame @0.001451s. seeking: 0
flutter: mdk: 0x10818f000 seek end audio frame @0.001451 seek_pos_: -1, sync_ao_ 1
flutter: mdk: 0x106e0a310 #video stream#1 end semaphore done acquire
flutter: mdk: 0x106e0a310 #audio stream#0 end semaphore acquire
flutter: mdk: 0x106e0a310 #audio stream#0 end semaphore done acquire
flutter: mdk: default FrameReader0x106e0a310 #1 seekComplete 1
flutter: mdk: default 0x106e0a310 FrameReader::update MediaStatus 0X164=>0X164
flutter: mdk: default FrameReader 0x106e0a310 callbacks 0, seeking: 0, seekComplete#1 @1
flutter: mdk: 0x106e0a310 #video stream#1 end semaphore acquire
flutter: mdk: >>>>>>>>1st audio frame (after seek) rendered: 1, ao: 16, a: 1, delta: 15 +0.021769
flutter: mdk: audio stream#0 AOT frame is sent
flutter: [coreToIsolateStream] [D] 1705560981: [Zynk:PING] Pong received from peer Some(PeerId("12D3KooWGStjF6aR1wdViiFNfYGTT6ZxXTT3T6D5fuGEeRYaYMmh"))/12D3KooWHsofCWhimqCmkHdTXvCpTPrj7ikGgvDSKw8MAaJ4TCZ6 with rtt 15ms
flutter: [coreToIsolateStream] [D] 1705560982: [Zynk:PING] Pong received from peer Some(PeerId("12D3KooWKs2XUzric2Xj8TgjBBYa6nPnAac3R178eqaTNvbYFubx"))/12D3KooWSNJrAXNkLydrwz1BUXtF6vvAaaws3Y7zhjWMgeCqUMqU with rtt 10ms
flutter: mdk: video stream#1 EOF/EOS decoded. end: 1
flutter: mdk: video stream#1 check loop range for EOS. dec_state.seeking: 0. end: 1, nb_decoded:96
flutter: mdk: 0x10818f800 track#1: no more range loop. loop 0/0.
flutter: mdk: default FrameReader0x106e0a310 video stream#1 range loop end
flutter: mdk: EOS video frame of track 0
flutter: mdk: 0x106e0a310 #video stream#1 end semaphore done acquire
flutter: mdk: 0x106e0a310 #audio stream#0 end semaphore acquire
flutter: mdk: 0x106e0a310 #audio stream#0 end semaphore done acquire
flutter: mdk: VideoFrame19269@179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 to be destroyed is not rendered by  0x2839d5200
flutter: mdk: EOS video frame of track 0
flutter: mdk: 0x106e0a310 #video stream#1 end semaphore acquire
flutter: mdk: video stream#1 decoding loop is finished
flutter: fvp: 311513479 player4410514208 onEvent: thread.video 0
flutter: mdk: 0x106e0a310 #video stream#1 end semaphore done acquire
flutter: mdk: 0x106e0a310 #audio stream#0 end semaphore acquire
flutter: mdk: audio stream#0 EOF/EOS decoded. end: 1
flutter: mdk: audio stream#0 check loop range for EOS. dec_state.seeking: 0. end: 1, nb_decoded:139
flutter: mdk: 0x10818f800 track#0: no more range loop. loop 0/0.
flutter: mdk: default FrameReader0x106e0a310 audio stream#0 range loop end
flutter: mdk: EOS audio frame of track 0
flutter: mdk: EOS audio frame of track 0
flutter: mdk: audio stream#0 decoding loop is finished
flutter: fvp: 311513479 player4410514208 onEvent: thread.audio 0
flutter: mdk: 0x106e0a310 #audio stream#0 end semaphore done acquire
flutter: mdk: 0x106e0a310 #video stream#1 end semaphore acquire
flutter: mdk: 0x106e0a310 #video stream#1 end semaphore done acquire
flutter: mdk: 0x106e0a310 #audio stream#0 end semaphore acquire
flutter: mdk: 0x106e0a310 #audio stream#0 end semaphore done acquire
flutter: mdk: before changed() 164
flutter: mdk: default FrameReader0x106e0a310 state: 1=>1=>0, 0
flutter: mdk: 0x106e0a310 virtual bool mdk::FrameReaderImpl::unload(), current status 0x164, invalid: 0, loading: 0, loaded: 4, buffering: 0, seeking: 0, prepared: 256, EOF: 64
flutter: mdk: 0x280e19380 request avformat input interrupt
flutter: mdk: 0x281d37b00 request to interrupt io operation
flutter: mdk: free custome avio: 0x106e17030
flutter: mdk:
flutter: mdk: 0x281d37ae0 close url: file:///private/var/mobile/Containers/Data/Application/2183DB10-D104-4E6B-860A-E1D7F4909F7A/tmp/image_picker_B3304F95-8DBB-4391-9EF1-383770634D94-5196-000002F8E613820BIMG_6381.mov
flutter: mdk: 0x17080f000default 0x106e0a310 bool mdk::FrameReader::update(mdk::MediaStatus) @1119: reset status_mask. status: 161
flutter: mdk: default 0x106e0a310 FrameReader::update MediaStatus 0X164=>0X41
flutter: fvp: 311513479 player4410514208 onMediaStatus: MediaStatus(+loaded+prepared+buffered+end) => MediaStatus(+unloaded+end)
flutter: mdk: default FrameReader0x106e0a310 state: 1=>0=>0, 1
flutter: mdk: default FrameReader0x106e0a310 update state: 1=>0
flutter: fvp: 311513479 player4410514208 onPlaybackStateChanged: PlaybackState.playing => PlaybackState.stopped
flutter: mdk: 0x10818f000 virtual void mdk::MediaControlPush::setState(mdk::PlaybackState)@1013 requested state 1=>2, current state 0. status: 0X41
flutter: mdk: default FrameReader0x106e0a310 request to pause 1, loaded: 0.
flutter: mdk: default FrameReader0x106e0a310 state: 0=>0=>2, 0
flutter: mdk: default FrameReader0x106e0a310 state requested: 2, current: 0
flutter: mdk: 0x10818f000-MediaControl::seek(pos: 3198, flag:0X402 +FromStart). now: 3166
flutter: mdk: default 0x106e0a310-FrameReader::seek(3198, 0X402)
flutter: mdk: default 0x106e0a310-FrameReader: media not loaded or stop requested. skip seek

noticed video with this issue has rotation 90: line 49 stream#1, range: 0 +3198ms, frames: 96, rotation: 90

but rotationCorrection value is 0

wang-bin commented 5 months ago

try git master branch code. if it works, i will make a new release in pub.dev

ujwalbasnet1 commented 5 months ago

works, thanks! @wang-bin

wang-bin commented 5 months ago

new version is available on pub.dev

ujwalbasnet1 commented 5 months ago
Launching lib/main.dart on sdk gphone64 arm64 in debug mode...
Running Gradle task 'assembleDebug'...

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':fvp:configureCMakeDebug[arm64-v8a]'.
> [CXX1405] error when building with cmake using /Users/username/.pub-cache/hosted/pub.dev/fvp-0.13.0/android/CMakeLists.txt: Build command failed.
  Error while executing process /Users/username/Library/Android/sdk/cmake/3.18.1/bin/cmake with arguments {-H/Users/username/.pub-cache/hosted/pub.dev/fvp-0.13.0/android -DCMAKE_SYSTEM_NAME=Android -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_SYSTEM_VERSION=16 -DANDROID_PLATFORM=android-16 -DANDROID_ABI=arm64-v8a -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a -DANDROID_NDK=/Users/username/Library/Android/sdk/ndk/21.4.7075529 -DCMAKE_ANDROID_NDK=/Users/username/Library/Android/sdk/ndk/21.4.7075529 -DCMAKE_TOOLCHAIN_FILE=/Users/username/Library/Android/sdk/ndk/21.4.7075529/build/cmake/android.toolchain.cmake -DCMAKE_MAKE_PROGRAM=/Users/username/Library/Android/sdk/cmake/3.18.1/bin/ninja -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/username/Work/upwork/ui/build/fvp/intermediates/cxx/Debug/375qv724/obj/arm64-v8a -DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/Users/username/Work/upwork/ui/build/fvp/intermediates/cxx/Debug/375qv724/obj/arm64-v8a -DCMAKE_BUILD_TYPE=Debug -B/Users/username/.pub-cache/hosted/pub.dev/fvp-0.13.0/android/.cxx/Debug/375qv724/arm64-v8a -GNinja -DANDROID_STL=c++_shared}
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /Users/username/Library/Android/sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Configuring incomplete, errors occurred!
  See also "/Users/username/.pub-cache/hosted/pub.dev/fvp-0.13.0/android/.cxx/Debug/375qv724/arm64-v8a/CMakeFiles/CMakeOutput.log".

  CMake Error: Problem with archive_read_next_header(): 
  CMake Error: Problem extracting tar: /Users/username/.pub-cache/hosted/pub.dev/fvp-0.13.0/android/mdk-sdk-android.7z
  CMake Error at CMakeLists.txt:65 (message):
    Failed to extract mdk-sdk.  You can download manually from
    https://sourceforge.net/projects/mdk-sdk/files/nightly/mdk-sdk-android.7z
    and extract to
    /Users/username/.pub-cache/hosted/pub.dev/fvp-0.13.0/android

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 43s
Exception: Gradle task assembleDebug failed with exit code 1

android run failed with fvp: ^0.13.0 works with fvp: ^0.12.0

@wang-bin

wang-bin commented 5 months ago

It's download error, sometimes occurs. You can download manually from https://sourceforge.net/projects/mdk-sdk/files/nightly/mdk-sdk-android.7z and extract to /Users/username/.pub-cache/hosted/pub.dev/fvp-0.13.0/android