RSATom / QmlVlc

[ABANDONED] libvlc wrapper for Qt Quick 2/Qml
Other
139 stars 56 forks source link

Frame swaps to "green" frame on every other frame #51

Closed danieloneill closed 8 years ago

danieloneill commented 8 years ago

I'm not sure where the bug is, but it appears to be introduced when building against newer versions of VLC.

In my case, using FFmpeg git-2016-01-24-1d8f9b7 and VLC 2.2.0-git-6357-gce1325e playback of the video is fine in VLC itself, but "greens out" on QmlVlc playback.

It doesn't appear to matter which video I use, or which codec.

As a test I added "--no-overlay" to QmlVlcConfig.cpp's opts (as green tends to be a chroma key for overlay), but it made no difference which makes sense considering QmlVlc is using the scene graph (and shaders I don't understand) instead.

Test done with Qt 5.5.0 on Linux on xorg 2:1.17.1-0ubuntu3.1.

I'd offer to play the sample clip using the QmlVlcDemo application, but it fails to build, but I have made the referenced video with:

    VlcPlayer {
        id: videoSource
        mrl: 'setup.webm'
    }
    VlcVideoSurface {
        id: videoSurface
        anchors.fill: parent
        source: videoSource
    }

https://youtu.be/MBCytfZlhqM

Is the swapped frame empty? Is this a pixel format issue (stride too long)? Did libvlc change how libvlc_video_set_callbacks calls callbacks? Or is this a localised issue with my PC and the compiled shader (and my Intel GPU is doing something "wrong")?

Please advise on any tests I can do to assist in resolving this issue on my end, as I am somewhat familiar with libvlc.

RSATom commented 8 years ago

Are you sure not use libvlc 3.0 nightly? It really has mentioned above issue, but I never met it with vlc-2.2. Anyway, I'll check it soon. Thanks!

RSATom commented 8 years ago

@danieloneill, as I can see at https://youtu.be/MBCytfZlhqM?t=26 you are really use vlc v3.0. So it's known issue. But if you have to use v3.0 try build latest version from videolan repo (your build should include patches https://github.com/videolan/vlc/commit/a5b262e23b580e655fcc5c74902c1de6d027ac9b and https://github.com/videolan/vlc/commit/31872a222a823ad2d4b3f4070fa3d13dd2e0dc51 ) - it should be fixed. If not - please write back.

danieloneill commented 8 years ago

Sorry for the delay in responding, I'm sure lots has already changed on this already. I'll give it a try and post my results.

RSATom commented 8 years ago

too much time without response, looks likes it's solved