RSATom / QmlVlc

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

crash on vlc::player::next #3

Closed pincopallopino closed 10 years ago

pincopallopino commented 10 years ago

hi, i've get a crash reported by google-breakpad. this is the result of the dump:

Crash reason:  SIGSEGV
Crash address: 0x34

Thread 22 (crashed)
 0  libvlc.so.5.4.0 + 0xe57c
    eip = 0xb776a57c   esp = 0x9f8f9140   ebp = 0x9f8f9228   ebx = 0xb7778000
    esi = 0x00000020   edi = 0x00000000   eax = 0x00000000   ecx = 0x000001fc
    edx = 0x08de1810   efl = 0x00210296
    Found by: given as instruction pointer in context
 1  MyApp!vlc::player::next() [vlc_player.cpp : 298 + 0xb]
    eip = 0x08058ca1   esp = 0x9f8f9230   ebp = 0x9f8f9258
    Found by: previous frame's frame pointer
 2  MyApp!std::_Mem_fn<void (vlc::player::*)()>::operator()(vlc::player*) const [functional : 551 + 0xe]
    eip = 0x0805c8f4   esp = 0x9f8f9260   ebp = 0x9f8f9278   ebx = 0x081edff4
    esi = 0xb315bfc0
    Found by: call frame info
 3  MyApp!void std::_Bind_result<void, std::_Mem_fn<void (vlc::player::*)()> (vlc::player*)>::__call<void, , 0>(std::tuple<>&&, std::_Index_tuple<0>, std::_Bind_result<void, std::_Mem_fn<void (vlc::player::*)()> (vlc::player*)>::__enable_if_void<void>::type) [functional : 1287 + 0x35]
    eip = 0x0805c869   esp = 0x9f8f9280   ebp = 0x9f8f92a8   ebx = 0x081edff4
    esi = 0xb315bfc0
    Found by: call frame info
 4  MyApp!void std::_Bind_result<void, std::_Mem_fn<void (vlc::player::*)()> (vlc::player*)>::operator()<>() [functional : 1378 + 0x2e]
    eip = 0x0805c815   esp = 0x9f8f92b0   ebp = 0x9f8f92e8   ebx = 0x081edff4
    esi = 0xb315bfc0
    Found by: call frame info
 5  MyApp!std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (vlc::player::*)()> (vlc::player*)> >::_M_run() [thread : 117 + 0xe]
    eip = 0x0805c73e   esp = 0x9f8f92f0   ebp = 0x9f8f9308   ebx = 0x081edff4
    esi = 0xb315bfc0
    Found by: call frame info
 6  libstdc++.so.6.0.18 + 0xa3fbe
    eip = 0xb63a9fbe   esp = 0x9f8f9310   ebp = 0x9f8f9428   ebx = 0xb63e7000
    esi = 0xb315bfc0
    Found by: call frame info
 7  libc-2.17.so + 0xf201e
    eip = 0xb622701e   esp = 0x9f8f9430   ebp = 0x00000000
    Found by: previous frame's frame pointer

and this is the qml code:

import QtQuick 2.2
import QmlVlc 0.1
import QtMultimedia 5.0

Item {
    id: container

    function stopStream() { 
        vlcMmPlayer1.stop()
        vlcMmPlayer2.stop()
    }

    function playStream() { 

        vlcMmPlayer1.play()
        vlcMmPlayer2.play()
    }

    VlcMmPlayer {
        id: vlcMmPlayer1;
        mrl: "rtsp://admin@192.168.5.21:554/live1.sdp"
    }

    VlcMmPlayer {
        id: vlcMmPlayer2;
        mrl: "rtsp://admin@192.168.5.22:554/live1.sdp"
    }

    VideoOutput {
        id: output1
        source: vlcMmPlayer1;

        anchors.top: parent.top;
        anchors.topMargin: 150;
        anchors.left: parent.left;
        anchors.leftMargin: 10;
        width: parent.width / 2 - anchors.leftMargin * 2;
        height: parent.height - anchors.topMargin ;
    }

    VideoOutput {
        id: output2
        source: vlcMmPlayer2;

        anchors.top: parent.top
        anchors.topMargin: 150;
        anchors.left: output1.right;
        anchors.leftMargin: 10;
        width: parent.width / 2 - anchors.leftMargin * 2;
        height: parent.height - anchors.topMargin ;
    }

    Timer {
        id: t
        interval: 10*60*1000 //ms 10 min
        running: true//true
        repeat: true
        onTriggered: {
            stopStream()
            playStream()
        }
    }
}
RSATom commented 10 years ago

I hope it's fixed. Check please.

pincopallopino commented 10 years ago

I think it's solved because I've no longer encountered this type of crash by the update

RSATom commented 10 years ago

Great, Thanks!