Search Unity

[Released] AVPro Video - complete video playback solution

Discussion in 'Assets and Asset Store' started by AndrewRH, Feb 12, 2016.

  1. JoRangers

    JoRangers

    Joined:
    Nov 7, 2017
    Posts:
    26
    Hi AndrewRH,

    I have another issue with avpro plugin.

    On oculus go, my videos have stuttering with a weird effect of "pixels artifacts" when I move the head and this issue is very unconfortable in VR.

    I use unity 2017.4.14f1 and AVPro video 1.9.4 (also tested with 1.9.6)
    My video encode in H.264
    The resolution is 3840x3840 at 30fps
    The duration of the video is 10 seconds
    I display the video inside a sphere (equi 360) in mono.
    I tested with media player and exo player



    For my last issue
    "I check the option "Persistent" and manage the media player with my own scripts because I have several scenes with their own video."

    So now, I open & play my video at runtime. Perhaps is it the cause of the issue (the video will not have enough time to be loaded) ?
    I tested in a empty scene with the media player and auto-open / auto-play checked and the problem wasn't there.



    Here are my big changes in my project after my last issue.
    - the duration of my video (from 1 second to 10 seconds)
    - the video "display" (from stereo to mono)


    Have you any idea for this problem ? Unfortunately, I need to resolve it quickly.

    Thank you for the help !
     
    Last edited: Nov 27, 2018
  2. MarkMahlon

    MarkMahlon

    Joined:
    Apr 6, 2018
    Posts:
    2
    We are currently using AVPro in our application but we want to expand to the magic leap. Since Lumin is based on android we went through and added a || PLATFORM_LUMIN anywhere there was a UNITY_ANDROID define and that got us to a point where the nullMediaPlayer was no longer being used and we were getting an error "MissingMethodException: UnityEngine.AndroidJNI::INTERNAL_CALL_ExceptionOccurred(System.IntPtr&)" which in the stack trace comes back to "at RenderHeads.Media.AVProVideo.AndroidMediaPlayer.InitialisePlatform ()" This comes from the fact that Lumin only compiles with IL2CPP and thus does not support reflection. I hope this information helps you support magic leap in the future
     
  3. JoRangers

    JoRangers

    Joined:
    Nov 7, 2017
    Posts:
    26
    I solved my issue by changing the resolution of my video to 3480x1920 (instead of 3840x3840).
    Is it normal that a video with square resolution has an issue ?
     
  4. remy_rm

    remy_rm

    Joined:
    Jan 16, 2017
    Posts:
    17
    Hi Andrew,

    There are some issues while using MediaFoundation to playback videos using HLS in the editor

    - When attempting to play a HLS stream using mediafoundation in the Unity Editor the stream will *always* start at the lowest quality option. Ignoring the #EXT-X-STREAM that is highest in the hierachy of the main .m3u8 file, despite having the bandwidth and speed to download it (tested by removing all other quality options but 4k). As per Apple's HLS specification it should load the first segment from the topmost stream.

    There is no option through AVPro that has effect on this behaviour right? Something like a toggle between "Always load lowest first" or "load first EXT stream"? If there is no such option can we expect it in the future? (Ofcourse this would require MF player to have such a setting, and that it isn't done by design in the MF player).

    - Video's don't loop well on MediaFoundation, there is always about a second delay between the last and first frame.

    - On the first playback of a video the quality won't go above 1080p, only after it has done a complete playthrough will it even attempt to load 1440p or 4k variants, and will never attempt to load a higher quality of the first segment than the lowest supported quality (in my case the first segment will *always* play in 360p).

    I have tried to use DirectShow for displaying my videos in the editor, but this doesn't support HLS streams natively.

    None of the above issues occur on Androids ExoPlayer, So i think the issues are with MediaFoundation (or by design) rather than with the plugin, but wanted to confirm this with you.

    AVPro version 1.9.6
    Unity 2017.2.4f1
     
    Last edited: Nov 28, 2018
  5. mroulleau

    mroulleau

    Joined:
    Sep 12, 2018
    Posts:
    2
    Hello,

    I have an issue with AVPro video that sound trivial but I wasn't able to find any working solution.

    When the app is playing a video and the user set the ringer switch to on, the sound stop.

    I tried to play around with Audio listeners, modified XCode project to set AVAudioSession to with the category:
    AVAudioSessionCategoryPlayback and add Audio to UIBackground in the plist file, but nothing seems to work.

    Is there an easy way to achieve this ?

    Thanks in advance.
     
  6. jkoolish

    jkoolish

    Joined:
    Nov 6, 2018
    Posts:
    1
    Hello, we are having some issues with using your plugin with Oculus Rift for 360 4k videos.

    The first problem is that the audio from the video does not always get redirected to the Oculus Rift headphones automatically. For instance, if the system audio is set to the system headphone jack, it does not get redirected to the Rift headphones, and only plays through the system headphone jack. All other audio in our project is correctly redirecting to the Rift as it should. We have tried all the suggestions from the documentation. Currently we are using Media Foundation with the following settings:

    hardware decoding on, use low latency on
    Audio mode: facebook audio 360
    Channel mode: TBE 8 channel
    Audio Device name: Rift audio

    We have also tried using Audio mode: Unity, along with the Audio Output module, and still the audio does not go to the Rift. We have also tried using Direct Show, but in that case the videos do not load or play at all.

    In addition, if we have noticed that if we try to change the system audio output from the external headphone jack to the Rift while one of the AV Pro videos is playing, we get the following error:

    [AVProVideo] Error: Loading failed. File not found, codec not supported, video resolution too high or insufficient system resources.

    Otherwise, if we set the system audio output to the Rift BEFORE starting the app, all the audio and videos work fine without any errors.

    The video files we are working with are about 2 to 3gb in size each.
    Video encoding is H264 MPEG 4 AVC
    resolution: 4096x2050
    framerate: 29.97
    audio encoding: Opus
    sample rate: 48000Hz
    bits per sample: 32

    We are using the AV Pro plugin version 1.9.6 and Unity version 2018.2.13f1

    Any ideas for how we might resolve this issue?
    Thank you for your assistance.
     
    Last edited: Nov 28, 2018
  7. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Thanks for the suggestion :) We have this on our list already...hopefully we'll get time to work on it at some stage. Thanks,
     
    LostPanda likes this.
  8. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Hi,

    For the "pixel artifacts" issue - I'm not sure what this could be. It sounds like the VR headset is struggling to decode the video fast enough. You might want to try lowering the bit-rate that you encode it with, or lowering the resolution to something like 4096x2048. Changing the codec to H.265 might also be useful to try as some headsets are optimised for this codec. The Oculus headsets also let you adjust the CPU and GPU levels to give it more power - it might be worth trying this too. Also using the OES rendering option in AVPro Video will help with performance. Also removing the audio track can help with video playback performance. Otherwise, perhaps you could capture a screenshot/video of the artifacts?

    I'm not sure what your other issue is...the explaination isn't clear :) Certainly it is better to create your video players once, as re-use them when possible, rather than destroying and recreating them all of the time. Feel free to email us (www.renderheads.com/contact) at our dedicated Unity support email and send us your video, code, example etc so that we can replicate the problem and suggest a fix for you.

    Thanks,
     
  9. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Yes, I don't think the ML device can just be used like a normal Android device...We had a look to see whether we could easily get our plugin to work on ML but it looked like it wasn't possible.
     
  10. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    It depends on the device hardware. I think I did read a tweet from Oculus that the Go prefers wider videos, rather than tall. So it prefers 5760x2880 for example.
     
  11. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Hi,

    Yes, we're using the operating system to decode and play these video streams, and it seems that on Windows it doesn't honour the ordering of the streams in the manifest and play the first one in the list. We're working on a fix for this, but it requires a lot of new code, so the fix will probably only appear in AVPro Video 2.0 which will be a whole new plugin. In the new plugin we will be able to expose better control over streams, including which stream to start with, and forcing and specific bit-rate requirements and much more. Currently the only way you can control it would be to use HLSStream component and play the specific bitrate stream that you want, but then it will not be able to adapatively switch streams.

    The quality of the loop with looping videos depends on how the video is encoded. Videos with complex encoding and not many keyframes will take a few moments to restart the video. If you look at our included BigBuck720p video you will see it loops pretty fast, because it uses simple encoding and has a key-frame internal of 2 frames.

    That's strange that it doesn't select the 1440p or 4K streams during the first play though - is the video very short? I've certainly had it playing higher bitrate streams, but it can take a while for it to work out the bandwidth available and switch. In the new version of the plugin we'll be improving this a lot as we are adding extra effort to improve adaptive video streaming.

    DirectShow is a legacy video API, so it doesn't support HLS natively. You wouild need to install 3rd party codecs for this, such as LAV Filters.

    Yes I don't think most of these issues happen on Android, iOS, macOS or tvOS - just really Windows. I hope I've answered all of your questions and we're working to improve these issues.

    Thanks,
     
  12. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    I'll check with our iOS developer and get back to you.

    Which version of AVPro Video are you using?
     
  13. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Thanks for the detailed report.

    Changing the audio mode to Facebook audio 360, or to Unity should certainly work. The Unity option though may struggle with your video having 8 audio channels though, so that might be why it's not working. Is your video using spatial audio encoded with Facebook Audio 360? Is your output device for the Rift named on your system as "Rift Audio"? Perhaps you could send us (www.renderheads.com/contact) over a copy of your video/project, or a cut-down version of both so that we can replicate the issue here and propose a solution?

    By the way, 4096x2050 is a strange resolution and not a multiple of 4 in height. If you change it to 4096x2048 you might get a small improvement in performance. Also having a the frame-rate at 30fps will give you smoother playback than 29.97 which is more for broadcast TV.

    Thanks,
     
  14. LostPanda

    LostPanda

    Joined:
    Apr 5, 2013
    Posts:
    173
    thanks very much,watting for this.
     
  15. remy_rm

    remy_rm

    Joined:
    Jan 16, 2017
    Posts:
    17
    Thanks for the thorough reply.

    Amazing to hear you're working so hard on this.

    This may be much to ask, but is there a timeline for version 2.0? And maybe an overview of new features we can expect?
     
  16. LostPanda

    LostPanda

    Joined:
    Apr 5, 2013
    Posts:
    173
    @AndrewRH This great!!!Can you tell me about the release time? if you dnot mind.:)
     
  17. shoo

    shoo

    Joined:
    Nov 19, 2012
    Posts:
    67
    When I use ExoPlayer API for Android, it is always black frame on start when I play my video(4096x2048). ApplyToMesh texture is set, and I even tried
    Code (CSharp):
    1.         if (et == MediaPlayerEvent.EventType.FirstFrameReady)
    2.         {
    3.             _mplayer.Control.Play();
    4.         }
    But it is still black frame plays first. On Windows it is OK, on Android I ve tested on v6 and v8 and both has same issue. Can I fix it somehow?
     
  18. DrMaxP

    DrMaxP

    Joined:
    Sep 18, 2018
    Posts:
    29
    Is there any way of making a request to play until the nearest following keyframe before pausing?
     
  19. mroulleau

    mroulleau

    Joined:
    Sep 12, 2018
    Posts:
    2

    Hello !

    Thank you for your response. We are using version 1.8.6.
     
  20. lostinsidevr

    lostinsidevr

    Joined:
    Dec 2, 2018
    Posts:
    2
    Hi,

    We are trying to use AVPro with VRTK to run videos in virtual reality using the "VCR" and "video controls" script but I can't get UI interaction. I research this thread and found another person had the same problem. We're you able to find the solution? Thanks.
     
  21. hemmi

    hemmi

    Joined:
    Sep 25, 2017
    Posts:
    3
    Problem description:

    Our Unity Project is in liner color space and we use the Extract frame method from AVPro to extract a frame and display it while we substitute out the playing video for a different one.

    But the extracted frame is too bright due to it being in gamma color space and not linear which causes an undesireable blink to happen when the frame is displayed.

    Device (which devices are you having the issue with - model, OS version number):

    Windows 10 Desktop Computer

    Media (tell us about your videos - number of videos, resolution, codec, frame-rate, example URLs):

    This seems to happen to all videos, but here is one example: https://videos.pexels.com/videos/footage-of-waterfalls-855604

    System Information:

    AVPro Video: plugin v1.7.5 scripts v1.7.5
    Target Platform: Standalone
    Unity: v2018.2.2f1 WindowsEditor
    OS: Desktop - 30B4S15800 (LENOVO) - Windows 10 (10.0.0) 64bit - English
    CPU: Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz - 12 threads - 32661KB
    GPU: NVIDIA GeForce GTX 1070 Ti - NVIDIA - Direct3D 11.0 [level 11.1] - 8088KB - 16384
     
  22. JackMini36

    JackMini36

    Joined:
    Feb 13, 2014
    Posts:
    21
    Hello,

    We are using AVPro video for Android, and it seems there is a memory leak.

    We are playing 360 videos,so our player will usually play multiple videos one after the other. Sometimes the same video will be restarted multiple times.

    Some of our clients have reported that after playing 5-6 videos (could be the same video), they get an error that the video is not supported (this is an error that appears when MediaPlayerEvent.EventType.Error is triggered.) The exact AVPro error log is:

    [AVProVideo] Error: Loading failed.  File not found, codec not supported, video resolution too high or insufficient system resources.


    (this happens for videos that previously played fine)

    Others state that after 5-6 videos, they just get a black screen when they try to play a video, and the app crashes.
    This happens on the Oculus Go, when our app is played from the Oculus store. The weird thing is that this does not happen so fast if we manually sideload the app to the Go (it takes 10-15 playbacks).

    What I have noticed after some testing, is that after a lot of playbacks, the videos start to stutter a bit and eventually the app crashes if I continue playing more videos anyway.

    After every video, I use
    Stop
    and
    ClearVideo
    . Shouldn't
    ClearVideo 
    clear memory? Another thing I noticed is that the texture ID keeps incrementing, even when the same video is played again. Sometimes, two or three texture IDs will be assigned at once when a video starts playing.

    I tried switching to MediaPlayer from ExoPlayer, and it seems to help a bit on the Go (Only one texture ID is assigned per playback, but still keep inrementing, is this intended?).

    We only have the issue on the Oculus Go, as it seems to be working fine on Gear VR (Mostly tested with Samsung S6).

    Unity 2018.2.9
    AVPro Video 1.9.5

    Any ideas how to resolve the issue?
    Thanks
     
    JoRangers likes this.
  23. pao_olea

    pao_olea

    Joined:
    Dec 31, 2015
    Posts:
    16
    Hello

    I've been problems with AVPro for Android, for a moment I thought it was my project but I created an empty project, I import AVPro, I installed an app in a cell phone (Samsung J6) and I used the example 04_Demo_uGui, and the video still has a problem, the video freezes.

    Unity 2018.2.7f1
    AVPro updated 1.9.6
     
    JoRangers likes this.
  24. Mandelboxed

    Mandelboxed

    Joined:
    Apr 17, 2015
    Posts:
    50
    I have also been trying to use AVPro on Oculus Go and have found that with single pass enabled, OES textures do not display at all, and without OES textures the application freezes/crashes after playing a few videos. Is there any fix?

    Is single pass just not supported?

    Unity 2018.2.16f1
    AVPro 1.9.6
     
    JoRangers likes this.
  25. cuongthanh1118

    cuongthanh1118

    Joined:
    Sep 18, 2018
    Posts:
    1
    I downloaded AVpro version 1.9.5t trial version to test.
    I couldn't play rtsp link from CCTV local camera with android ( Platform Specific > Android > Preferred Video API > Media Player).
    But I can play rtsp link with window platform after install LAV Filters (DirectShow).
     
  26. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Yes, single-pass isn't supported when using OES mode. We've tried to fix this, but as far as I can see Unity aren't exposing the shader variables in GLSL. We'll continue trying to add support for this.

    I'm not sure why it would crash without OES - could you send the crash log? Could you explain how often it crashes, and if you can reproduce it with any of the demo scenes?
     
    JoRangers likes this.
  27. Mandelboxed

    Mandelboxed

    Joined:
    Apr 17, 2015
    Posts:
    50
    Single pass in GLSL should be possible. This user appears to have successfully implemented a single pass GLSL shader for unity that reads from an OES texture for exactly the same purpose. It looks like he figured it out by viewing the compiled shader code. I've asked him if he'd be willing to provide more complete shader code.

    https://forum.unity.com/threads/uni...sl-single-pass-implementation-details.592990/

    There seem to be two distinct causes of crashes. One looks like it's out-of-memory, the other occurs during UpdateTexImage. It looks like JackMini36 above might be experiencing something similar. I don't have my Go with me right now, will try to get logs for you asap.

    This occurs in what is essentially a version of your demo scene modified to load multiple (high resolution, 3840x3840, which plays well enough but OES would hopefully improve performance) videos.
     
    AndrewRH likes this.
  28. Mandelboxed

    Mandelboxed

    Joined:
    Apr 17, 2015
    Posts:
    50
    The aforementioned user has not yet provided his own code but looking at the compiled shader for a simple unlit shader in single pass I was able to create something that works. This is a very basic shader working with an OES texture in single pass. Hopefully this can help you make whatever modifications are necessary to your own shaders. I would love to have something that works with your stereo rendering code.

    Code (CSharp):
    1. Shader "Unlit/UnlitTexNoFog" {
    2.     Properties{
    3.      _MainTex("Texture", 2D) = "white" { }
    4.     }
    5.         SubShader{
    6.         LOD 100
    7.         Lighting Off
    8.         Cull Off
    9.  
    10.         Tags { "RenderType" = "Opaque" }
    11.         Pass {
    12.         GLSLPROGRAM
    13.                 #ifdef VERTEX
    14.                 #version 300 es
    15.                 #extension GL_OVR_multiview2 : require
    16.                 #extension GL_OES_EGL_image_external : require
    17.                 #extension GL_OES_EGL_image_external_essl3 : enable
    18.  
    19.                 uniform     vec4 hlslcc_mtx4x4unity_ObjectToWorld[4];
    20.                 uniform     vec4 _MainTex_ST;
    21.                 layout(std140) uniform UnityStereoGlobals {
    22.                     vec4 hlslcc_mtx4x4unity_StereoMatrixP[8];
    23.                     vec4 hlslcc_mtx4x4unity_StereoMatrixV[8];
    24.                     vec4 hlslcc_mtx4x4unity_StereoMatrixInvV[8];
    25.                     vec4 hlslcc_mtx4x4unity_StereoMatrixVP[8];
    26.                     vec4 hlslcc_mtx4x4unity_StereoCameraProjection[8];
    27.                     vec4 hlslcc_mtx4x4unity_StereoCameraInvProjection[8];
    28.                     vec4 hlslcc_mtx4x4unity_StereoWorldToCamera[8];
    29.                     vec4 hlslcc_mtx4x4unity_StereoCameraToWorld[8];
    30.                     vec3 unity_StereoWorldSpaceCameraPos[2];
    31.                     vec4 unity_StereoScaleOffset[2];
    32.                 };
    33.                 layout(num_views = 2) in;
    34.                 in highp vec4 in_POSITION0;
    35.                 in highp vec2 in_TEXCOORD0;
    36.                 out highp vec2 vs_TEXCOORD0;
    37.                 vec4 u_xlat0;
    38.                 int u_xlati1;
    39.                 vec4 u_xlat2;
    40.                 void main()
    41.                 {
    42.                     vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
    43.                     u_xlat0 = in_POSITION0.yyyy * hlslcc_mtx4x4unity_ObjectToWorld[1];
    44.                     u_xlat0 = hlslcc_mtx4x4unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
    45.                     u_xlat0 = hlslcc_mtx4x4unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
    46.                     u_xlat0 = u_xlat0 + hlslcc_mtx4x4unity_ObjectToWorld[3];
    47.                     u_xlati1 = int(gl_ViewID_OVR) << 2;
    48.                     u_xlat2 = u_xlat0.yyyy * hlslcc_mtx4x4unity_StereoMatrixVP[(u_xlati1 + 1)];
    49.                     u_xlat2 = hlslcc_mtx4x4unity_StereoMatrixVP[u_xlati1] * u_xlat0.xxxx + u_xlat2;
    50.                     u_xlat2 = hlslcc_mtx4x4unity_StereoMatrixVP[(u_xlati1 + 2)] * u_xlat0.zzzz + u_xlat2;
    51.                     gl_Position = hlslcc_mtx4x4unity_StereoMatrixVP[(u_xlati1 + 3)] * u_xlat0.wwww + u_xlat2;
    52.                     return;
    53.                 }
    54.  
    55.                 #endif
    56.                 #ifdef FRAGMENT
    57.                 #version 300 es
    58.  
    59.                 precision highp int;
    60.                 uniform samplerExternalOES _MainTex;
    61.                 in highp vec2 vs_TEXCOORD0;
    62.                 layout(location = 0) out mediump vec4 SV_Target0;
    63.                 lowp vec4 u_xlat10_0;
    64.                 void main()
    65.                 {
    66.                     u_xlat10_0 = texture(_MainTex, vs_TEXCOORD0.xy);
    67.                     SV_Target0 = u_xlat10_0;
    68.                     return;
    69.                 }
    70.  
    71.                 #endif
    72.                 ENDGLSL
    73.         }
    74.     }
    75. }
     
  29. anyang_

    anyang_

    Joined:
    Jun 19, 2015
    Posts:
    9
    [AVProVideo] Error: Loading failed. File not found, codec not supported, video resolution too high or insufficient system resources.
    Code (JavaScript):
    1.  
    2. 12-11 11:23:58.707 I/Unity   (15321): RelativeToPeristentDataFolder播放视频:miaokids/resource/main/video/zhangcourse_num01/NO1-002.mp4
    3. 12-11 11:23:58.707 I/Unity   (15321):
    4. 12-11 11:23:58.707 I/Unity   (15321): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
    5. 12-11 11:23:58.707 I/Unity   (15321):
    6. 12-11 11:23:58.708 D/HISI_OMXVDEC( 1979): [OmxState] Executing --> Idle_Pending
    7. 12-11 11:23:58.709 D/HISI_OMXVDEC( 1979): flush_output_done_proxy:2612 [OmxState] Idle_Pending --> Idle
    8. 12-11 11:23:58.710 D/HISI_OMXVDEC( 1979): [OmxState] Idle --> Loaded_Pending
    9. 12-11 11:23:58.752 D/HISI_OMXVDEC( 1979): [OmxState] Loaded_Pending --> Loaded
    10. 12-11 11:23:58.754 E/HI_VO   ( 1807): [-1689587806 ERROR-HI_VO]:HI_MPI_WIN_GetEnable[674]:para hWindow is invalid.
    11. 12-11 11:23:58.760 I/Binder:1930_7( 1930): type=1400 audit(0.0:8319): avc: denied { write } for path=2F6465762F6173686D656D2F417564696F466C696E6765723A3A436C69656E74202864656C6574656429 dev="tmpfs" ino=233310 scontext=u:r:kernel:s0 tcontext=u:object_r:tmpfs:s0 tclass=file permissive=1
    12. 12-11 11:23:58.782 I/System.out(15321): AVProVideo video state: idle
    13. 12-11 11:23:58.783 I/Unity   (15321): [AVProVideo] Opening /storage/emulated/0/Android/data/com.miaokids.math/files/miaokids/resource/main/video/zhangcourse_num01/NO1-002.mp4 (offset 0)
    14. 12-11 11:23:58.783 I/Unity   (15321):
    15. 12-11 11:23:58.783 I/Unity   (15321): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
    16. 12-11 11:23:58.783 I/Unity   (15321):
    17. 12-11 11:23:58.784 I/System.out(15321): AVProVideo tracks changed
    18. 12-11 11:23:58.785 I/System.out(15321): AVProVideo video state: buffering
    19. 12-11 11:23:58.785 I/System.out(15321): AVProVideo buffer preparing
    20. 12-11 11:23:58.799 E/APM_AudioPolicyManager( 1930): getDeviceConnectionState()device=0x80
    21. 12-11 11:23:58.799 E/APM_AudioPolicyManager( 1930): getDeviceConnectionState()device=0x100
    22. 12-11 11:23:58.799 E/APM_AudioPolicyManager( 1930): getDeviceConnectionState()device=0x200
    23. 12-11 11:23:58.801 I/System.out(15321): AVProVideo tracks changed
    24. 12-11 11:23:58.802 E/HAL@DEV ( 1807): HS_HAL_I2C_Write:369,u32I2cNum:1,u8DevAddress:8,u32RegAddr:0xe000,[u8RegAddr:0xe0],RegAddrCount:2,pu8Buf:0x80,u32Length:4
    25. 12-11 11:23:58.802 E/HAL@DEV ( 1807): HI_UNF_I2C_Write fail ret = 80440008
    26. 12-11 11:23:58.803 E/HAL@DEV ( 1807): HS_HAL_I2C_Write:369,u32I2cNum:1,u8DevAddress:8,u32RegAddr:0xe001,[u8RegAddr:0xe0],RegAddrCount:2,pu8Buf:0x0,u32Length:4
    27. 12-11 11:23:58.803 E/HAL@DEV ( 1807): HI_UNF_I2C_Write fail ret = 80440008
    28. 12-11 11:23:58.804 E/HAL@DEV ( 1807): HS_HAL_I2C_Read:327,I2cNum:1,DevAddress:8,u32RegAddr:0x8000,[u8RegAddr:0x80],RegAddrCount:2,pu8Buf:0x0,u32Length:4
    29. 12-11 11:23:58.804 E/HAL@DEV ( 1807): HI_UNF_I2C_Read fail ret = 80440008
    30. 12-11 11:23:58.805 I/servicemanager( 1764): type=1400 audit(0.0:8320): avc: denied { transfer } for scontext=u:r:kernel:s0 tcontext=u:r:untrusted_app:s0:c512,c768 tclass=binder permissive=1
    31. 12-11 11:23:58.806 D/MediaCodec(15321): init. nameIsType:0  name:OMX.hisi.video.decoder.avc
    32. 12-11 11:23:58.806 D/MediaCodec(15321): init. tmp:OMX.hisi.video.decoder.avc
    33. 12-11 11:23:58.807 D/MediaCodec(15321): init. mimes[i]:video/avc
    34. 12-11 11:23:58.810 I/OMXClient(15321): Treble IOmx obtained
    35. 12-11 11:23:58.810 I/ACodec  (15321): Try to get component 'OMX.hisi.video.decoder.avc'
    36. 12-11 11:23:58.810 I/OMXMaster( 1979): makeComponentInstance(OMX.hisi.video.decoder.avc) in omx@1.0-service process
    37. 12-11 11:23:58.810 D/HIOMX_CORE( 1979): OMX_GetHandle :: enter!
    38. 12-11 11:23:58.810 D/HIOMX_CORE( 1979): OMX_GetHandle :: component name:OMX.hisi.video.decoder.avc !
    39. 12-11 11:23:58.810 D/HIOMX_CORE( 1979): OMX_GetHandle :: prepare to load  libOMX.hisi.video.decoder.so
    40. 12-11 11:23:58.810 D/HIOMX_CORE( 1979): OMX_GetHandle :: load  libOMX.hisi.video.decoder.so ok
    41. 12-11 11:23:58.811 D/HISI_OMXVDEC( 1979): Init OMX component OMX.hisi.video.decoder
    42. 12-11 11:23:58.813 D/HISI_OMXVDEC( 1979): get_extension_index: OMX.google.android.index.storeMetaDataInBuffers not implemented!
    43. 12-11 11:23:58.813 D/HISI_OMXVDEC( 1979): get_extension_index: OMX.google.android.index.storeANWBufferInMetadata not implemented!
    44. 12-11 11:23:58.813 D/HISI_OMXVDEC( 1979): get_extension_index: OMX.google.android.index.useAndroidNativeBuffer not implemented!
    45. 12-11 11:23:58.813 E/HISI_OMXVDEC( 1979): Caller Name: m.miaokids.math
    46. 12-11 11:23:58.815 I/MediaCodec(15321): [OMX.hisi.video.decoder.avc] setting surface generation to 15688708
    47. 12-11 11:23:58.815 D/SurfaceUtils(15321): disconnecting from surface 0xd1021808, reason connectToSurface(reconnect)
    48. 12-11 11:23:58.815 D/SurfaceUtils(15321): connecting to surface 0xd1021808, reason connectToSurface(reconnect)
    49. 12-11 11:23:58.816 I/ACodec  (15321): configureCodec: AMessage(what = 'conf', target = 16) = {
    50. 12-11 11:23:58.816 I/ACodec  (15321):   Buffer csd-1 = {
    51. 12-11 11:23:58.816 I/ACodec  (15321):     00000000:  00 00 00 01 68 eb ec b2  2c                       ....h...,
    52. 12-11 11:23:58.816 I/ACodec  (15321):   }
    53. 12-11 11:23:58.816 I/ACodec  (15321):   int32_t max-height = 360
    54. 12-11 11:23:58.816 I/ACodec  (15321):   int32_t max-width = 480
    55. 12-11 11:23:58.816 I/ACodec  (15321):   string mime = "video/avc"
    56. 12-11 11:23:58.816 I/ACodec  (15321):   int32_t width = 480
    57. 12-11 11:23:58.816 I/ACodec  (15321):   int32_t max-input-size = 16418
    58. 12-11 11:23:58.816 I/ACodec  (15321):   int32_t rotation-degrees = 0
    59. 12-11 11:23:58.816 I/ACodec  (15321):   int32_t height = 360
    60. 12-11 11:23:58.816 I/ACodec  (15321):   Buffer csd-0 = {
    61. 12-11 11:23:58.816 I/ACodec  (15321):     00000000:  00 00 00 01 67 64 00 15  ac d9 41 e0 bf e5 ff c0  ....gd....A.....
    62. 12-11 11:23:58.816 I/ACodec  (15321):     00000010:  c4 c0 c0 04 00 00 03 00  04 00 00 03 00 c8 3c 58  ..............<X
    63. 12-11 11:23:58.816 I/ACodec  (15321):     00000020:  b6 58                                             .X
    64. 12-11 11:23:58.816 I/ACodec  (15321):   }
    65. 12-11 11:23:58.816 I/ACodec  (15321):   RefBase *native-window = 0xd1021800
    66. 12-11 11:23:58.816 I/ACodec  (15321): }
    67. 12-11 11:23:58.816 E/HISI_OMXVDEC( 1979): set_parameter: Bad port index 1
    68. 12-11 11:23:58.817 E/OMXNodeInstance( 1979): setParameter(0xf08a3380:hisi.decoder.avc, OMX.google.android.index.allocateNativeHandle(0x7f000003): Output:1 en=0) ERROR: BadPortIndex(0x8000101b)
    69. 12-11 11:23:58.817 D/HISI_OMXVDEC( 1979): get_extension_index: OMX.google.android.index.storeANWBufferInMetadata not implemented!
    70. 12-11 11:23:58.817 D/HISI_OMXVDEC( 1979): get_extension_index: OMX.google.android.index.storeMetaDataInBuffers not implemented!
    71. 12-11 11:23:58.817 E/OMXNodeInstance( 1979): getExtensionIndex(0xf08a3380:hisi.decoder.avc, OMX.google.android.index.storeMetaDataInBuffers) ERROR: NotImplemented(0x80001006)
    72. 12-11 11:23:58.817 E/ACodec  (15321): [OMX.hisi.video.decoder.avc] setPortMode on output to DynamicANWBuffer failed w/ err -2147483648
    73. 12-11 11:23:58.817 I/ACodec  (15321): [OMX.hisi.video.decoder.avc] prepareForAdaptivePlayback(480x360)
    74. 12-11 11:23:58.817 E/HISI_OMXVDEC( 1979): set_parameter: Bad port index 1
    75. 12-11 11:23:58.817 E/OMXNodeInstance( 1979): setParameter(0xf08a3380:hisi.decoder.avc, OMX.google.android.index.allocateNativeHandle(0x7f000003): Output:1 en=0) ERROR: BadPortIndex(0x8000101b)
    76. 12-11 11:23:58.817 D/HISI_OMXVDEC( 1979): get_extension_index: OMX.google.android.index.storeANWBufferInMetadata not implemented!
    77. 12-11 11:23:58.817 D/HISI_OMXVDEC( 1979): get_extension_index: OMX.google.android.index.storeMetaDataInBuffers not implemented!
    78. 12-11 11:23:58.817 E/OMXNodeInstance( 1979): getExtensionIndex(0xf08a3380:hisi.decoder.avc, OMX.google.android.index.storeMetaDataInBuffers) ERROR: NotImplemented(0x80001006)
    79. 12-11 11:23:58.820 E/HISI_OMXVDEC( 1979): convert_omx_to_hal_pixel_fmt: color_format:0 out_formate:0x12 native:1
    80. 12-11 11:23:58.820 D/HISI_OMXVDEC( 1979): get_extension_index: TunnelModeEnable = 0, OMX.google.android.index.describeColorAspects not implemented!
    81. 12-11 11:23:58.820 D/HISI_OMXVDEC( 1979): get_extension_index: TunnelModeEnable = 0, OMX.google.android.index.describeHDRStaticInfo not implemented!
    82. 12-11 11:23:58.821 E/HISI_OMXVDEC( 1979): get_config: unknown index 0x6f100004
    83. 12-11 11:23:58.822 E/OMXNodeInstance( 1979): getConfig(0xf08a3380:hisi.decoder.avc, ConfigAndroidVendorExtension(0x6f100004)) ERROR: BadParameter(0x80001005)
    84. 12-11 11:23:58.822 E/HISI_OMXVDEC( 1979): convert_omx_to_hal_pixel_fmt: color_format:0 out_formate:0x12 native:1
    85. 12-11 11:23:58.823 E/HISI_OMXVDEC( 1979): set_parameter: pFastOutputMode:0
    86. 12-11 11:23:58.830 D/HISI_OMXVDEC( 1979): [OmxState] Loaded --> Idle_Pending
    87. 12-11 11:23:58.833 W//system/bin/hw/android.hidl.allocator@1.0-service( 1894): ashmem_create_region(5242880) returning hidl_memory(0x7ee662c410, 5242880)
    88. 12-11 11:23:58.838 I/chatty  ( 1894): uid=1000(system) allocator@1.0-s identical 2 lines
    89. 12-11 11:23:58.840 W//system/bin/hw/android.hidl.allocator@1.0-service( 1894): ashmem_create_region(5242880) returning hidl_memory(0x7ee662c410, 5242880)
    90. "Asia/Shanghai""uptime" dev="proc" ino=4026531938 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=1
    91. 12-11 11:23:59.994 D/BaseManager( 2339): checkServiceBound - passed...
    92. 12-11 11:23:59.994 I/chatty  ( 2339): uid=1000(system) com.jamdeo.tv.service identical 1 line
    93. 12-11 11:23:59.994 D/BaseManager( 2339): checkServiceBound - passed...
    94. 12-11 11:23:59.994 D/BaseManager( 2339): getConfiguration with Parameters: inputSource[0], configuration-option key[1000027],configuration-type type[64]
    95. 12-11 11:24:00.001 D/PowerManagerService( 2180): acquireWakeLockInternal: lock=18323036, flags=0x40000001, tag="*alarm*", ws=WorkSource{1000}, uid=1000, pid=2180
    96. 12-11 11:24:00.001 D/PowerManagerNotifier( 2180): onWakeLockAcquired: flags=1073741825, tag="*alarm*", packageName=android, ownerUid=1000, ownerPid=2180, workSource=WorkSource{1000}
    97. 12-11 11:24:00.001 D/speech_up_AiUpgradeService( 8280): BroadcastReceiver:android.intent.action.TIME_TICK
    98. 12-11 11:24:00.001 D/speech_up_AiUpgradeService( 8280): checkSpeechRunning start!
    99. 12-11 11:24:00.006 D/speech_up_ComUtil( 8280): com.keylab.speech.core.vidaa: is running
    100. 12-11 11:24:00.008 D/speech_up_ComUtil( 8280): com.keylab.speech.view.vidaa: is running
    101. 12-11 11:24:00.012 D/PowerManagerService( 2180): releaseWakeLockInternal: lock=18323036 [*alarm*], flags=0x0
    102. 12-11 11:24:00.012 D/PowerManagerNotifier( 2180): onWakeLockReleased: flags=1073741825, tag="*alarm*", packageName=android, ownerUid=1000, ownerPid=2180, workSource=WorkSource{1000}
    103. 12-11 11:24:00.013 E/memtrack( 2180): Couldn't load memtrack module
    104. 12-11 11:24:00.013 W/android.os.Debug( 2180): failed to get memory consumption info: -1
    105. 12-11 11:24:00.021 E/HAL@DEV ( 1807): HS_HAL_I2C_Write:369,u32I2cNum:1,u8DevAddress:8,u32RegAddr:0xe000,[u8RegAddr:0xe0],RegAddrCount:2,pu8Buf:0x80,u32Length:4
    106. 12-11 11:24:00.021 E/HAL@DEV ( 1807): HI_UNF_I2C_Write fail ret = 80440008
    107. 12-11 11:24:00.021 E/HAL@DEV ( 1807): HS_HAL_I2C_Write:369,u32I2cNum:1,u8DevAddress:8,u32RegAddr:0xe001,[u8RegAddr:0xe0],RegAddrCount:2,pu8Buf:0x0,u32Length:4
    108. 12-11 11:24:00.022 E/HAL@DEV ( 1807): HI_UNF_I2C_Write fail ret = 80440008
    109. 12-11 11:24:00.022 E/HAL@DEV ( 1807): HS_HAL_I2C_Read:327,I2cNum:1,DevAddress:8,u32RegAddr:0x8000,[u8RegAddr:0x80],RegAddrCount:2,pu8Buf:0x0,u32Length:4
    110. 12-11 11:24:00.022 E/HAL@DEV ( 1807): HI_UNF_I2C_Read fail ret = 80440008
    111. 12-11 11:24:00.123 E/HAL@DEV ( 1807): HS_HAL_I2C_Write:369,u32I2cNum:1,u8DevAddress:8,u32RegAddr:0xe000,[u8RegAddr:0xe0],RegAddrCount:2,pu8Buf:0x80,u32Length:4
    112. 12-11 11:24:00.124 E/HAL@DEV ( 1807): HI_UNF_I2C_Write fail ret = 80440008
    113. 12-11 11:24:00.124 E/HAL@DEV ( 1807): HS_HAL_I2C_Write:369,u32I2cNum:1,u8DevAddress:8,u32RegAddr:0xe001,[u8RegAddr:0xe0],RegAddrCount:2,pu8Buf:0x0,u32Length:4
    114. 12-11 11:24:00.124 E/HAL@DEV ( 1807): HI_UNF_I2C_Write fail ret = 80440008
    115. 12-11 11:24:00.124 E/HAL@DEV ( 1807): HS_HAL_I2C_Read:327,I2cNum:1,DevAddress:8,u32RegAddr:0x8000,[u8RegAddr:0x80],RegAddrCount:2,pu8Buf:0x0,u32Length:4
    116. 12-11 11:24:00.125 E/HI_VO   ( 1807): [-1689586435 ERROR-HI_VO]:HI_MPI_WIN_GetEnable[674]:para hWindow is invalid.
    117. 12-11 11:24:00.226 E/HAL@DEV ( 1807): HS_HAL_I2C_Write:369,u32I2cNum:1,u8DevAddress:8,u32RegAddr:0xe000,[u8RegAddr:0xe0],RegAddrCount:2,pu8Buf:0x80,u32Length:4
    118. 12-11 11:24:00.226 E/HAL@DEV ( 1807): HI_UNF_I2C_Write fail ret = 80440008
    119. 12-11 11:24:00.227 E/HAL@DEV ( 1807): HS_HAL_I2C_Write:369,u32I2cNum:1,u8DevAddress:8,u32RegAddr:0xe001,[u8RegAddr:0xe0],RegAddrCount:2,pu8Buf:0x0,u32Length:4
    120. 12-11 11:24:00.227 E/HAL@DEV ( 1807): HI_UNF_I2C_Write fail ret = 80440008
    121. 12-11 11:24:00.227 E/HAL@DEV ( 1807): HS_HAL_I2C_Read:327,I2cNum:1,DevAddress:8,u32RegAddr:0x8000,[u8RegAddr:0x80],RegAddrCount:2,pu8Buf:0x0,u32Length:4
    122. 12-11 11:24:00.227 E/HAL@DEV ( 1807): HI_UNF_I2C_Read fail ret = 80440008
     
  30. anyang_

    anyang_

    Joined:
    Jun 19, 2015
    Posts:
    9
    12-11 11:23:59.844 E/ACodec (15321): dequeueBuffer failed: Connection timed out (110)
    12-11 11:23:59.845 E/ACodec (15321): Failed to allocate buffers after transitioning to IDLE state (error 0xffffff92)
    12-11 11:23:59.845 E/ACodec (15321): signalError(omxError 0x80001001, internalError -110)
    12-11 11:23:59.845 E/MediaCodec(15321): Codec reported err 0xffffff92, actionCode 0, while in state 5
    12-11 11:23:59.845 D/SurfaceUtils(15321): disconnecting from surface 0xd1021808, reason disconnectFromSurface
    12-11 11:23:59.845 D/HISI_OMXVDEC( 1979): [OmxState] ERROR: Loaded --> Loaded
    12-11 11:23:59.845 E/MediaCodec(15321): CodecBase::kWhatError ---- start errorNotifyFunc:0 mDecoderHandle:0x0 ....
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): Renderer error.
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): com.google.android.exoplayer2.ExoPlaybackException
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.throwDecoderInitError(MediaCodecRenderer.java:418)
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:405)
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:839)
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:455)
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:536)
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:560)
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:306)
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): at android.os.Handler.dispatchMessage(Handler.java:101)
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): at android.os.Looper.loop(Looper.java:164)
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): at android.os.HandlerThread.run(HandlerThread.java:65)
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.hisi.video.decoder.avc, Format(1, null, video/avc, -1, null, [480, 360, -1.0], [-1, -1])
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): ... 9 more
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): Caused by: android.media.MediaCodec$CodecException: start failed
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): at android.media.MediaCodec.native_start(Native Method)
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): at android.media.MediaCodec.start(MediaCodec.java:2043)
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:397)
    12-11 11:23:59.847 E/ExoPlayerImplInternal(15321): ... 8 more
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): playerFailed [48.82]
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): com.google.android.exoplayer2.ExoPlaybackException
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.throwDecoderInitError(MediaCodecRenderer.java:418)
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:405)
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:839)
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:455)
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:536)
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:560)
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:306)
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): at android.os.Handler.dispatchMessage(Handler.java:101)
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): at android.os.Looper.loop(Looper.java:164)
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): at android.os.HandlerThread.run(HandlerThread.java:65)
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.hisi.video.decoder.avc, Format(1, null, video/avc, -1, null, [480, 360, -1.0], [-1, -1])
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): ... 9 more
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): Caused by: android.media.MediaCodec$CodecException: start failed
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): at android.media.MediaCodec.native_start(Native Method)
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): at android.media.MediaCodec.start(MediaCodec.java:2043)
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:397)
    12-11 11:23:59.848 E/AVProVideo: EventLogger(15321): ... 8 more
    12-11 11:23:59.848 I/System.out(15321): AVProVideo error null
    12-11 11:23:59.850 E/ACodec (15321): [OMX.hisi.video.decoder.avc] ERROR(0x80001012)
    12-11 11:23:59.850 E/ACodec (15321): signalError(omxError 0x80001012, internalError -2147483648)
    12-11 11:23:59.850 E/MediaCodec(15321): Codec reported err 0x80001012, actionCode 0, while in state 10
    12-11 11:23:59.854 E/Unity (15321): [AVProVideo] Error: Loading failed. File not found, codec not supported, video resolution too high or insufficient system resources.
    12-11 11:23:59.854 E/Unity (15321):
    12-11 11:23:59.854 E/Unity (15321): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
    12-11 11:23:59.854 E/Unity (15321):
    12-11 11:23:59.877 I/HeaderViewPresenter( 2507): |onSuccess() data = java.util.GregorianCalendar[time=1544437970405,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=libcore.util.ZoneInfo[id="Asia/Shanghai",mRawOffset=28800000,mEarliestRawOffset=28800000,mUseDst=false,mDstSavings=0,transitions=16],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2018,MONTH=11,WEEK_OF_YEAR=50,WEEK_OF_MONTH=3,DAY_OF_MONTH=10,DAY_OF_YEAR=344,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=6,HOUR_OF_DAY=18,MINUTE=32,SECOND=50,MILLISECOND=405,ZONE_OFFSET=28800000,DST_OFFSET=0]
    12-11 11:23:59.889 E/ExoPlayerImplInternal(15321): Stop failed.
    12-11 11:23:59.889 E/ExoPlayerImplInternal(15321): java.lang.IllegalStateException
    12-11 11:23:59.889 E/ExoPlayerImplInternal(15321): at android.media.MediaCodec.native_stop(Native Method)
    12-11 11:23:59.889 E/ExoPlayerImplInternal(15321): at android.media.MediaCodec.stop(MediaCodec.java:2059)
    12-11 11:23:59.889 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.releaseCodec(MediaCodecRenderer.java:497)
    12-11 11:23:59.889 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.releaseCodec(MediaCodecVideoRenderer.java:424)
    12-11 11:23:59.889 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:451)
    12-11 11:23:59.889 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onDisabled(MediaCodecVideoRenderer.java:326)
    12-11 11:23:59.889 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.BaseRenderer.disable(BaseRenderer.java:150)
    12-11 11:23:59.889 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:865)
    12-11 11:23:59.889 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:813)
    12-11 11:23:59.889 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:790)
    12-11 11:23:59.889 E/ExoPlayerImplInternal(15321): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:351)
    12-11 11:23:59.889 E/ExoPlayerImplInternal(15321): at android.os.Handler.dispatchMessage(Handler.java:101)
    12-11 11:23:59.889 E/ExoPlayerImplInternal(15321): at android.os.Looper.loop(Looper.java:164)
    12-11 11:23:59.889 E/ExoPlayerImplInternal(15321): at android.os.HandlerThread.run(HandlerThread.java:65)
    12-11 11:23:59.890 I/System.out(15321): AVProVideo video state: idle
     
    JoRangers likes this.
  31. remy_rm

    remy_rm

    Joined:
    Jan 16, 2017
    Posts:
    17
    Hi Andrew. I have recently upgraded to Unity 2019.1.0a10 beta and found the following error when using AVPro video:
    Code (CSharp):
    1.  "Unsupported D3D format 0x58"
    with the full stacktrace:
    Code (CSharp):
    1. Unsupported D3D format 0x580x00007FF7CDC4144C (Unity)
    2. StackWalker::GetCurrentCallstack0x00007FF7CDC44901 (Unity)
    3. StackWalker::ShowCallstack0x00007FF7CC285EF5 (Unity)
    4. GetStacktrace0x00007FF7CE51AF90 (Unity) DebugStringToFile0x00007FF7CCBD27BF
    5. (Unity) d3d11::GetGraphicsFormatFromDX0x00007FF7CCBD4251 (Unity)
    6. TexturesD3D11Base::RegisterNativeTexture0x00007FF7CCBC9EC6 (Unity)
    7. GfxDeviceD3D11Base::RegisterNativeTexture0x00007FF7CCC5E160 (Unity)
    8. GfxDeviceWorker::RunCommand0x00007FF7CCC6604B (Unity)
    9. GfxDeviceWorker::RunExt0x00007FF7CCC66415 (Unity)
    10. GfxDeviceWorker::RunGfxDeviceWorker0x00007FF7CD9065C4 (Unity)
    11. Thread::RunThreadWrapper0x00007FF88A193034 (KERNEL32)
    12. BaseThreadInitThunk0x00007FF88C961471 (ntdll) RtlUserThreadStart
    The error doesn't seem to actually affect anything visually atleast. (playback of the videos seems fine without weird artifacts, tearing, or any other issues) But gets dumped in the console whenever a video is loaded, and only upon load. Play/pause/rewind does not produce the error.

    It seems to happen when using the Direct3D11, graphics API for windows. OpenGLcore is not affected, nor does the error occur on mobile builds. I'm not able to test this on mac/linux.

    EDIT: When testing it in my own application OpenGLES2 and OpenGLES3 on windows also produces the error, trying to use OpenGLES2 and OpenGLES3 in the demo scene resulted in the video only playing sound, but no video. Both before and after switching build target to Android.

    Tested using AVPro video v 1.9.6 with the "03_Demo_VideoControls" demo scene. Rendering on Nvidia geforece 1060/1070
     
    Last edited: Dec 11, 2018
  32. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Version 2.0....will be released early in 2019. It will be a whole new plugin, though it will be based on the work we've already done in AVPro Video 1.x, but updated to better support newer versions of Unity, and with some backwards compatibility dropped (eg Unity 4.x). We aren't ready to announce a proper feature list yet, but on Windows you can expect lots of improvements.

    AVPro Video 1.x will slowly be retired, but we will continue to support it for a while, fixing bugs etc.

    Looking forward to sharing more details on the forum early next year.

    Thanks,
     
    JoRangers likes this.
  33. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Thanks Shoo, we've logged this issue and will investigate. In the meantime perhaps switch the Video API from ExoPlayer to MediaPlayer and enable the option Poster Frames.

    Thanks,
     
  34. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    This isn't a feature of AVPro Video. You could try to do is manually though...It would involve knowing where the nearest next keyframe is, then calling Pause() as soon as GetCurrentTimeMs() returns the time >= that.

    Thanks,
     
  35. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    I would recommend upgrading to the latest version (1.9.6) as many improvements have been made. As for the ringer question - we haven't found a way to do this, I don't think it is something easily resolved :( We have the issue logged and will keep on trying.

    Thanks,
     
  36. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    I'm afraid I'm not familiar with VRTK. I believe VCR demo is rendering using uGUI in overlay mode, but VR requires the GUI Canvas to be set to either World space or Camera space. This might be the problem...

    Thanks,
     
  37. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Hi hemmi,

    Thanks for reporting this. First I would recommend upgrading to the latest version of AVPro Video (1.9.6) as many improvements have been made since 1.7.5.

    It also includes a new Playlist sample that shows how to play a queue of videos without any transition seams. This might be a better approach for you than using the ExtractFrame feature.

    We've logged the issue and will work on a fix for ExtractFrame() in linear mode.

    Thanks,
     
    hemmi likes this.
  38. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Hi JackMini36,

    Thanks for reporting this problem and for all of the details you have provided.

    We did have a leak in v1.9.3, but it was fixed in v1.9.5, which is the same version you're using. Perhaps try upgrading to the latest version of the plugin (1.9.6) to see if that solves it?

    Otherwise, could you please tell me whether you're using the OES rendering option (in MediaPlayer > Platform Specific > Android), and also the specs of your videos. Feel free to email us (www.renderheads.com/contact/) at our Unity support address.

    Thanks,
     
  39. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Hmm that's strange. I don't have a J6 to test on. Perhaps you could use ADB log cat to get the logs to see if there are any errors.
    Could you explain how the video freezes (immediately or after a few seconds, or after how long, the whole app locks up, or just the video playback etc)?

    Do the other sample scenes do the same thing?

    Thanks,
     
  40. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Glad to hear you managed to get it working on Windows.
    On Android, RTSP isn't supported yet on ExoPlayer, though there is a pull request with them so hopefully it will soon. The MediaPlayer API does support RTSP to some degree, but I don't think it 100% supports every RTSP feature and I think it also could depend on the device.

    Thanks,
     
  41. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Thanks for this. We'll have to take another look. I think we tried to support the eye index variable but it either wasn't set by Unity, or there was no way to detect either single or multi-pass...We'll have to check our notes. Your OVR solution looks good - this is something we can try to incorporate, but we need to be able to support all platforms, so will have to see how we can do this.

    We've logged this issue and will try to get some support included in 1.9.8

    If you do get logs from your Go I would love to see them. We haven't had any crash issues ourselves, but if others are having them we really want to find the issue.

    Thanks,
     
  42. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Okay this is a crash log :) Thanks! But which version of AVPro Video and Unity is it from? Also what is the Android device type and OS version? Also, where you just running one of our sample scenes with our sample media? Otherwise what sort of media were you playing, and how does your scene specifically handle media loading.
    Also how frequently does this crash happen?

    Thanks,
     
  43. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Thanks for reporting this and for all the details in your message.

    We don't officially support Unity 2019 yet, or any alpha/beta version of Unity at all. Also on Windows we don't support GLES, only D3D11, D3D9 and OpenGLCore. D3D9 and OpenGLCore won't give you hardware decoding support though.

    We've logged the issue and will do some testing.

    Thanks,
     
  44. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Hi All,

    AVPro Video version 1.9.7 has just been released!

    You can find the updated version on the Asset Store and the free trial version on our website.

    Changes include:

    macOS / iOS / tvOS
    • Fixed rare memory leak when rendering with Metal where a texture was not freed after a seek operation on multi-resolution HLS media
    Android
    • Added support for automatic rotation of portrait videos when using ExoPlayer
    • Added support for linear color-space to OES rendering path
    Windows
    • Fixed the device name for the Oculus Rift audio device
    • Fixed Facebook Audio 360 support for playing audio to a specific named device
    General
    • Fixed a shader issue where stereo top-bottom videos wouldn’t display the correct eye on Windows and Android
    • Other minor improvements

    Thanks to everyone that reported bugs that were fixed in this release :)

    Please report any issues here on the forum, or to our customer support email

    Thanks,
     
    ZXY-ST likes this.
  45. antrinh

    antrinh

    Joined:
    Jun 11, 2018
    Posts:
    12
    Hi @AndrewRH

    I'm going to dev a mobile app can download video from server and watch it at the same time (read while write), and save video when complete.

    Does AVpro video or trial supported it (download file and read it at the same time)? Ty.
     
    Last edited: Dec 12, 2018
  46. anyang_

    anyang_

    Joined:
    Jun 19, 2015
    Posts:
    9
    AVPRO 1.9.6 UNITY 5.6 android TV .GPU mali- G51 mp4. demo is 03_Demo_VideoControls
     
  47. ARTS_Premium

    ARTS_Premium

    Joined:
    Jul 14, 2015
    Posts:
    4
    Hi AndrewRH[/QUOTE]

    We are developing an app for playing HLS Video, but we have a problem that we can't jump to the accurate second with using seek() function during testing iOS Device (iPhone X/Xs iOS 12). Sometimes we have error more than 5 seconds.
    The function works fine on Android and Unity Editor for us.
    We are using Unity 2018.2.5f1 for this project.

    What can we do to improve the accuracy of the seeking action?
    Thank you.
     
  48. MarcosTesicnor

    MarcosTesicnor

    Joined:
    Nov 12, 2018
    Posts:
    1
    Hi Andrew:

    Using your plugin for years and it's really nice. Just having a problem on this last project.

    I can't play videos on Android with StreamingAssets (works well in Unity and using Unity videoplayer on the project on the Android, but not with your plugin on Android).

    I have debug the streaming assets folder and you can see that is different when using the Unity videoplayer and AVPro. Maybe that's the problem?

    http://i67.tinypic.com/347h1cz.jpg

    http://i68.tinypic.com/i50xw8.jpg


    Greetings,
    Marcos.
     
  49. Mandelboxed

    Mandelboxed

    Joined:
    Apr 17, 2015
    Posts:
    50
    Not sure about detecting single vs multi pass as this wasn't necessary for my own purposes, but I did also find that the eye index variable was not set. I did find an equivalent variable though. I am using the following to support Top/Bottom stereo with AvPro in single pass, support for other stereo modes should be simple to implement.

    Code (CSharp):
    1. Shader "Unlit/UnlitTexNoFogOes" {
    2.     Properties{
    3.         _MainTex("Texture", 2D) = "white" { }
    4.         [KeywordEnum(Monoscopic, Top_Bottom)] Stereo("Stereo mode", Float) = 0
    5.     }
    6.         SubShader{
    7.         LOD 100
    8.         Lighting Off
    9.         Cull Off
    10.  
    11.         Tags { "RenderType" = "Opaque" }
    12.         Pass {
    13.         GLSLPROGRAM
    14.                 #ifdef VERTEX
    15.                 #version 300 es
    16.                 #extension GL_OVR_multiview2 : require
    17.                 #extension GL_OES_EGL_image_external : require
    18.                 #extension GL_OES_EGL_image_external_essl3 : enable
    19.  
    20.                 #pragma multi_compile MONOSCOPIC STEREO_TOP_BOTTOM
    21.  
    22.                 uniform     vec4 hlslcc_mtx4x4unity_ObjectToWorld[4];
    23.                 uniform     vec4 _MainTex_ST;
    24.                 layout(std140) uniform UnityStereoGlobals {
    25.                     vec4 hlslcc_mtx4x4unity_StereoMatrixP[8];
    26.                     vec4 hlslcc_mtx4x4unity_StereoMatrixV[8];
    27.                     vec4 hlslcc_mtx4x4unity_StereoMatrixInvV[8];
    28.                     vec4 hlslcc_mtx4x4unity_StereoMatrixVP[8];
    29.                     vec4 hlslcc_mtx4x4unity_StereoCameraProjection[8];
    30.                     vec4 hlslcc_mtx4x4unity_StereoCameraInvProjection[8];
    31.                     vec4 hlslcc_mtx4x4unity_StereoWorldToCamera[8];
    32.                     vec4 hlslcc_mtx4x4unity_StereoCameraToWorld[8];
    33.                     vec3 unity_StereoWorldSpaceCameraPos[2];
    34.                     vec4 unity_StereoScaleOffset[2];
    35.                 };
    36.                 layout(num_views = 2) in;
    37.                 in highp vec4 in_POSITION0;
    38.                 in highp vec2 in_TEXCOORD0;
    39.                 out highp vec2 vs_TEXCOORD0;
    40.                 vec4 u_xlat0;
    41.                 int u_xlati1;
    42.                 vec4 u_xlat2;
    43.  
    44.                 void main()
    45.                 {
    46.                     vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
    47.                     u_xlat0 = in_POSITION0.yyyy * hlslcc_mtx4x4unity_ObjectToWorld[1];
    48.                     u_xlat0 = hlslcc_mtx4x4unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
    49.                     u_xlat0 = hlslcc_mtx4x4unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
    50.                     u_xlat0 = u_xlat0 + hlslcc_mtx4x4unity_ObjectToWorld[3];
    51.                     u_xlati1 = int(gl_ViewID_OVR) << 2;
    52.                     u_xlat2 = u_xlat0.yyyy * hlslcc_mtx4x4unity_StereoMatrixVP[(u_xlati1 + 1)];
    53.                     u_xlat2 = hlslcc_mtx4x4unity_StereoMatrixVP[u_xlati1] * u_xlat0.xxxx + u_xlat2;
    54.                     u_xlat2 = hlslcc_mtx4x4unity_StereoMatrixVP[(u_xlati1 + 2)] * u_xlat0.zzzz + u_xlat2;
    55.                     gl_Position = hlslcc_mtx4x4unity_StereoMatrixVP[(u_xlati1 + 3)] * u_xlat0.wwww + u_xlat2;
    56.  
    57.                     vs_TEXCOORD0.y = 1.0 - vs_TEXCOORD0.y;
    58.  
    59. #if defined(STEREO_TOP_BOTTOM)
    60.                     vs_TEXCOORD0.y *= 0.5;
    61.                     if (u_xlati1 != 0) {
    62.                         vs_TEXCOORD0.y += 0.5;
    63.                     }
    64. #endif
    65.  
    66.                     return;
    67.                 }
    68.  
    69.                 #endif
    70.                 #ifdef FRAGMENT
    71.                 #version 300 es
    72.  
    73.                 precision highp int;
    74.                 uniform samplerExternalOES _MainTex;
    75.                 in highp vec2 vs_TEXCOORD0;
    76.                 layout(location = 0) out mediump vec4 SV_Target0;
    77.                 lowp vec4 u_xlat10_0;
    78.                 void main()
    79.                 {
    80.                     u_xlat10_0 = texture(_MainTex, vs_TEXCOORD0.xy);
    81.                     SV_Target0 = u_xlat10_0;
    82.                     return;
    83.                 }
    84.  
    85.                 #endif
    86.                 ENDGLSL
    87.         }
    88.     }
    89.     Fallback "Unlit/Texture"
    90. }
    You should be able to see the defines for multi-view/instanced in any compiled single pass shader. Hope this helps.
     
    AndrewRH likes this.
  50. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    This is something we've never tried...You can test it with the trial version. The behaviour will certainly be different between platforms, so if it works on one platform it might not work on another.

    Thanks,