Hi,
Having upgraded from 1.2.3 to 1.3.0 I am having a nightmare trying to play my content using either the Videos plugin or the TVSeries plugin. The first video I play works fine, but the second video I play almost always has problems. Sometimes the videos plugin just reports "Unable to play video." Or other times MediaPortal just crashes. On very rare occasions everything works fine.
I am playing x264/AAC content. CoreAVC 3.0.1 Pro is my H.264 codec (DXVA enabled), AAC audio provided by LAV Audio decoder, splitter source/filesync are LAV as well. These have been selected manually by me in "Codecs and Renderer."
Below is the extract from the error.log file.
This is the contents of the vmr9.log. You can see first that I played one video, then the second video which caused the crash.
Having upgraded from 1.2.3 to 1.3.0 I am having a nightmare trying to play my content using either the Videos plugin or the TVSeries plugin. The first video I play works fine, but the second video I play almost always has problems. Sometimes the videos plugin just reports "Unable to play video." Or other times MediaPortal just crashes. On very rare occasions everything works fine.
I am playing x264/AAC content. CoreAVC 3.0.1 Pro is my H.264 codec (DXVA enabled), AAC audio provided by LAV Audio decoder, splitter source/filesync are LAV as well. These have been selected manually by me in "Codecs and Renderer."
Below is the extract from the error.log file.
Code:
2013-04-02 20:28:39.187500 [ERROR][MPMain(1)]: Exception :System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at DirectShowLib.IMediaPosition.get_Duration(Double& pLength)
at MediaPortal.Player.VideoPlayerVMR7.Process()
at MediaPortal.Player.g_Player.Process()
at MediaPortalApp.OnProcess()
at MediaPortal.D3DApp.Application_Idle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at MediaPortalApp.Main(String[] args)
2013-04-02 20:28:39.218750 [ERROR][MPMain(1)]: Exception :Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
2013-04-02 20:28:39.234375 [ERROR][MPMain(1)]: site :Int32 get_Duration(Double ByRef)
2013-04-02 20:28:39.250000 [ERROR][MPMain(1)]: source :DirectShowLib
2013-04-02 20:28:39.265625 [ERROR][MPMain(1)]: stacktrace: at DirectShowLib.IMediaPosition.get_Duration(Double& pLength)
at MediaPortal.Player.VideoPlayerVMR7.Process()
at MediaPortal.Player.g_Player.Process()
at MediaPortalApp.OnProcess()
at MediaPortal.D3DApp.Application_Idle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at MediaPortalApp.Main(String[] args)
2013-04-02 20:28:39.281250 [ERROR][MPMain(1)]: MediaPortal stopped due to an exception Attempted to read or write protected memory. This is often an indication that other memory is corrupt. DirectShowLib at DirectShowLib.IMediaPosition.get_Duration(Double& pLength)
at MediaPortal.Player.VideoPlayerVMR7.Process()
at MediaPortal.Player.g_Player.Process()
at MediaPortalApp.OnProcess()
at MediaPortal.D3DApp.Application_Idle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at MediaPortalApp.Main(String[] args)
2013-04-02 20:28:39.453125 [ERROR][MPMain(1)]: VideoPlayer9: Exception while cleanuping DShow graph - Attempted to read or write protected memory. This is often an indication that other memory is corrupt. at DirectShowLib.IMediaControl.Stop()
at MediaPortal.Player.VideoPlayerVMR9.Cleanup()
This is the contents of the vmr9.log. You can see first that I played one video, then the second video which caused the crash.
Code:
02-04-2013 19:41:35.078 [b20]Vmr9Init
02-04-2013 19:41:35.093 [b20]----------v0.4---------------------------
02-04-2013 19:41:35.093 [b20]vmr9:AdviseNotify()
02-04-2013 19:41:35.140 [b20]vmr9:SetDeinterlace() preference to BOB
02-04-2013 19:41:38.203 [b20]vmr9:InitializeDevice() 1280x720 AR 16:9 flags:24 buffers:1 fmt:(3231564e) NV12
02-04-2013 19:41:38.203 [b20]vmr9:flags:
02-04-2013 19:41:38.203 [b20]vmr9: OffscreenSurface
02-04-2013 19:41:38.203 [b20]vmr9: RGBDynamicSwitch
02-04-2013 19:41:38.203 [b20]vmr9:InitializeDevice() done()
02-04-2013 19:41:40.109 [db8]vmr9:StartPresenting()
02-04-2013 19:41:48.359 [b20]vmr9:StopPresenting()
02-04-2013 19:41:56.171 [db8]vmr9:StartPresenting()
02-04-2013 19:41:58.781 [b20]vmr9:StopPresenting()
02-04-2013 19:41:59.812 [db8]vmr9:StartPresenting()
02-04-2013 20:24:07.968 [b20]vmr9:StopPresenting()
02-04-2013 20:24:08.046 [b20]vmr9:TerminateDevice()
02-04-2013 20:24:08.046 [b20]vmr9:DeleteSurfaces()
02-04-2013 20:24:08.046 [b20]vmr9:DeleteSurfaces() m_surfaceCount 1
02-04-2013 20:24:08.046 [b20]vmr9:DeleteSurfaces #0->0
02-04-2013 20:24:08.171 [b20]Vmr9Deinit enter
02-04-2013 20:24:08.171 [b20]CVMR9AllocatorPresenter::Release()
02-04-2013 20:24:08.171 [b20]CVMR9AllocatorPresenter::Release()
02-04-2013 20:24:08.171 [b20]Vmr9Deinit exit
02-04-2013 20:24:08.546 [b20]vmr9:TerminateDevice()
02-04-2013 20:24:08.546 [b20]vmr9:DeleteSurfaces()
02-04-2013 20:28:37.187 [b20]Vmr9Init
02-04-2013 20:28:37.187 [b20]----------v0.4---------------------------
02-04-2013 20:28:37.187 [b20]vmr9:AdviseNotify()
02-04-2013 20:28:37.203 [b20]vmr9:SetDeinterlace() preference to BOB
02-04-2013 20:28:37.828 [b20]vmr9:InitializeDevice() 1280x720 AR 16:9 flags:24 buffers:1 fmt:(3231564e) NV12
02-04-2013 20:28:37.828 [b20]vmr9:flags:
02-04-2013 20:28:37.828 [b20]vmr9: OffscreenSurface
02-04-2013 20:28:37.828 [b20]vmr9: RGBDynamicSwitch
02-04-2013 20:28:37.828 [b20]vmr9:InitializeDevice() done()
02-04-2013 20:28:38.250 [d48]vmr9:StartPresenting()
02-04-2013 20:28:39.437 [b20]vmr9:StopPresenting()
02-04-2013 20:28:39.546 [b20]vmr9:TerminateDevice()
02-04-2013 20:28:39.546 [b20]vmr9:DeleteSurfaces()
02-04-2013 20:28:39.546 [b20]vmr9:DeleteSurfaces() m_surfaceCount 1
02-04-2013 20:28:39.546 [b20]vmr9:DeleteSurfaces #0->0
02-04-2013 20:28:39.640 [b20]Vmr9Deinit enter
02-04-2013 20:28:39.640 [b20]CVMR9AllocatorPresenter::Release()
02-04-2013 20:28:39.640 [b20]CVMR9AllocatorPresenter::Release()
02-04-2013 20:28:39.640 [b20]Vmr9Deinit exit
02-04-2013 20:28:39.968 [b20]vmr9:TerminateDevice()
02-04-2013 20:28:39.968 [b20]vmr9:DeleteSurfaces()