Search code examples
iosmobilevlcios11xcode9

MobileVLCKit player shows black screen on iOS 11


In my project using MobileVLCKit 3.0.0 for playing media.

All types of videos successfully playing on iOS9&10 but on iOS 11 video audio able to listen but the picture doesn't display and shows the black screen.

Gives below logs:

2017-09-18 18:26:17.640065+0800 DemoPlayer[39923:369260] creating player instance using shared library
=================================================================
Main Thread Checker: UI API called on a background thread: -[UIView bounds]
PID: 39923, TID: 369593, Thread name: (none), Queue name: com.apple.root.default-qos.overcommit, QoS: 21
Backtrace:
4   DemoPlayer                          0x0000000108349895 Open + 405
2017-09-18 18:26:23.490963+0800 DemoPlayer[39923:369593] [reports] Main Thread Checker: UI API called on a background thread: -[UIView bounds]
PID: 39923, TID: 369593, Thread name: (none), Queue name: com.apple.root.default-qos.overcommit, QoS: 21
Backtrace:
4   DemoPlayer                          0x0000000108349895 Open + 405
=================================================================
Main Thread Checker: UI API called on a background thread: -[UIView initWithFrame:]
PID: 39923, TID: 369593, Thread name: (none), Queue name: com.apple.root.default-qos.overcommit, QoS: 21
Backtrace:
4   DemoPlayer                          0x0000000108349f3b -[VLCOpenGLES2VideoView initWithFrame:zeroCopy:voutDisplay:] + 91
2017-09-18 18:26:23.875359+0800 DemoPlayer[39923:369593] [reports] Main Thread Checker: UI API called on a background thread: -[UIView initWithFrame:]
PID: 39923, TID: 369593, Thread name: (none), Queue name: com.apple.root.default-qos.overcommit, QoS: 21
Backtrace:
4   DemoPlayer                          0x0000000108349f3b -[VLCOpenGLES2VideoView initWithFrame:zeroCopy:voutDisplay:] + 91
2017-09-18 18:26:23.959355+0800 DemoPlayer[39923:369593] CoreAnimation: [EAGLContext renderbufferStorage:fromDrawable:] was called from a non-main thread in an implicit transaction! Note that this may be unsafe without an explicit CATransaction or a call to [CATransaction flush].
shader program 1: WARNING: Output of vertex shader 'TexCoord1' not read by fragment shader
WARNING: Output of vertex shader 'TexCoord2' not read by fragment shader

thanks in advance.


Solution

  • Finally, got the solution...

    Now 'MobileVLCKit-Unstable' version updated into master on Sep 20 with UIKit from a background thread(iOS 11 Video play) issue.

    Solution1:

    Add pod 'MobileVLCKit-unstable', '3.0.0a38' to podfile and run pod install

    Solution 2:

    1. Cloned the repo from the following URL: http://code.videolan.org/videolan/VLCKit.git

    2. Open terminal, navigate to root directory and execute ./buildMobileVLCKit.sh -f (Note: It may take 1-2 hours to complete)

    3. On successful completion, the MobileVLCKit.framework will be generated in VLCKit/build/ folder location.
    4. Simply drag it to your project.