Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-30827

Crash in mfplayersession.cpp

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.2.1
    • 5.0.1
    • Multimedia
    • None
    • Windows 7
    • 653041db1dbceb8e404949d98b6a34e6d05cbe1f

    Description

      My appliaction loads a video on a QML element when pressing a button.

      Sequence is 1) load video when QML component is loaded. 2) Play video automatically 3) Stop Video when QML component is destroyed

      The application crashes randomly when clicking the button many times.

      The callstack is:

      0	Evr9VideoWindowControl::setProcAmpValues	evr9videowindowcontrol.cpp	340	0xf051ee6	
      1	MFPlayerSession::handleSessionEvent	mfplayersession.cpp	1646	0xf03eaa6	
      2	MFPlayerSession::qt_static_metacall	moc_mfplayersession.cpp	148	0xf057488	
      3	QMetaCallEvent::placeMetaCall	qobject.cpp	479	0x66eafd1d	
      4	QObject::event	qobject.cpp	1071	0x66eb0b2a	
      5	QApplicationPrivate::notify_helper	qapplication.cpp	3394	0x64ed28ce	
      6	QApplication::notify	qapplication.cpp	2825	0x64ed030a	
      7	QCoreApplication::notifyInternal	qcoreapplication.cpp	767	0x66e674c4	
      8	QCoreApplication::sendEvent	qcoreapplication.h	203	0x66e6c849	
      9	QCoreApplicationPrivate::sendPostedEvents	qcoreapplication.cpp	1368	0x66e68345	
      10	QCoreApplication::sendPostedEvents	qcoreapplication.cpp	1228	0x66e67ffd	
      11	QWindowSystemInterface::sendWindowSystemEvents	qwindowsysteminterface.cpp	515	0x1fe84bd	
      12	QWindowsGuiEventDispatcher::sendPostedEvents	qwindowsguieventdispatcher.cpp	86	0x50cdaff4	
      13	qt_internal_proc	qeventdispatcher_win.cpp	423	0x66eefb07	
      14	gapfnScSendMessage	USER32		0x763462fa	
      15	GetThreadDesktop	USER32		0x76346d3a	
      16	CharPrevW	USER32		0x763477c4	
      17	DispatchMessageW	USER32		0x7634788a	
      18	QEventDispatcherWin32::processEvents	qeventdispatcher_win.cpp	744	0x66ef0bf3	
      19	QWindowsGuiEventDispatcher::processEvents	qwindowsguieventdispatcher.cpp	78	0x50cdaf5e	
      20	QEventLoop::processEvents	qeventloop.cpp	137	0x66e640c1	
      21	QEventLoop::exec	qeventloop.cpp	212	0x66e6421e	
      22	QCoreApplication::exec	qcoreapplication.cpp	1020	0x66e679fd	
      23	QGuiApplication::exec	qguiapplication.cpp	1192	0x1fff468	
      24	QApplication::exec	qapplication.cpp	2670	0x64ecffb9	
      25	main	main.cpp	132	0xdef908	
      26	WinMain	qtmain_win.cpp	131	0xe0457a	
      27	__tmainCRTStartup	crtexe.c	547	0xe03bd0	
      28	WinMainCRTStartup	crtexe.c	371	0xe0395f	
      29	BaseThreadInitThunk	kernel32		0x74e533aa	
      30	RtlInitializeExceptionChain	ntdll32		0x76ff9ef2	
      31	RtlInitializeExceptionChain	ntdll32		0x76ff9ec5	
      

      MFPlayerSession's content is

      		this	@0x6521bd0	MFPlayerSession *
      			IMFAsyncCallback	struct IMFAsyncCallback	IMFAsyncCallback
      			QObject	class QObject	QObject
      			m_audioSampleGrabber	@0x6521d48	AudioSampleGrabberCallback *
      			m_audioSampleGrabberNode	0x0	IMFTopologyNode *
      			m_cRef	0	long
      			m_canScrub	false	bool
      			m_closing	false	bool
      			m_duration	2662400000	unsigned int64
      			m_hCloseEvent	0x0	void *
      			m_mediaTypes	0	unsigned long
      			m_muted	false	bool
      			m_netsourceStatistics	0x0	IPropertyStore *
      			m_pendingRate	1	float
      			m_pendingState	NoPending (0n0)	MFPlayerSession::PendingState
      			m_playerService	@0x65023d8	MFPlayerService *
      				QMediaService	class QMediaService	QMediaService
      				m_audioEndpointControl	@0xfeeefeee	MFAudioEndpointControl *
      				m_metaDataControl	@0xfeeefeee	MFMetaDataControl *
      				m_player	@0xfeeefeee	MFPlayerControl *
      				m_session	@0xfeeefeee	MFPlayerSession *
      				m_videoRendererControl	@0xfeeefeee	MFVideoRendererControl *
      				m_videoWindowControl	@0xfeeefeee	Evr9VideoWindowControl *
      				staticMetaObject	struct QMetaObject	QMetaObject
      			m_presentationClock	0x0	IMFPresentationClock *
      			m_rateControl	0x0	IMFRateControl *
      			m_rateSupport	0x0	IMFRateSupport *
      			m_request	struct MFPlayerSession::SeekState	MFPlayerSession::SeekState
      			m_restoreRate	1	float
      			m_scrubbing	false	bool
      			m_session	0x0	IMFMediaSession *
      			m_sourceResolver	0x0	SourceResolver *
      			m_state	struct MFPlayerSession::SeekState	MFPlayerSession::SeekState
      			m_status	BufferedMedia (0n6)	QMediaPlayer::MediaStatus
      			m_varStart	struct tagPROPVARIANT	tagPROPVARIANT
      			m_videoProbeMFT	0x0	MFTransform *
      			m_videoProbes	<0 items>	QList<MFVideoProbeControl *>
      			m_volume	100	int
      			m_volumeControl	0x0	IMFSimpleAudioVolume *
      			staticMetaObject	struct QMetaObject	QMetaObject
      

      Attachments

        1. mfplayersession.cpp
          64 kB
        2. QTBUG-30827.zip
          387 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            ylopes Yoann Lopes
            cyrillev Cyrille Verrier
            Votes:
            2 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes