Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Windows] Crash on video playback with problem GPU drivers #2277

Open
itlancer opened this issue Nov 7, 2022 · 0 comments
Open

[Windows] Crash on video playback with problem GPU drivers #2277

itlancer opened this issue Nov 7, 2022 · 0 comments
Labels

Comments

@itlancer
Copy link

itlancer commented Nov 7, 2022

Problem Description

Video playback with problem GPU drivers cause crash Windows devices.
It could be on "new" devices without installed GPU drivers yet or with specialized software which replace GPU drivers by their own.
With such cases with AIR right now we cannot make smooth UX for our users to tell them about GPU drivers problems.
Default Windows video player (Movies & TV) show error about such problems without crash:
image
https://answers.microsoft.com/en-us/windows/forum/all/videos-will-no-longer-work-getting-error/e2cc9eb0-b1d8-4a75-be51-dbd7a077bfcd

It has been tested with multiple AIR versions, even with AIR 50.0.0.1 with different Windows 10 devices with different AIR applications with different architectures (32/64-bit) with different videos.
Same issue in all cases if GPU has some driver problem.

Related issues (not the same):
#2159
#2125
#1159
#155
#139
#93
#82

Steps to Reproduce

Launch code below with any Windows 10 device which has problem with GPU drivers (or may be uninstall it). Application try to start video playback.
Application example with sources and example of video attached.
windows_video_driver_crash.zip

package {
	import flash.display.Sprite;
	import flash.net.NetConnection;
	import flash.net.NetStream;
	import flash.media.Video;
	import flash.events.Event;
	import flash.events.NetStatusEvent;
	
	public class WindowsVideoDriverCrash extends Sprite {
		private var nc:NetConnection;
		private var ns:NetStream;
		private var video:Video = new Video(640, 480);
		
		public function WindowsVideoDriverCrash() {
			addEventListener(Event.ADDED_TO_STAGE, init);
		}
		
		private function init(e:Event):void {
			removeEventListener(Event.ADDED_TO_STAGE, init);
			
			addChild(video);
			
			nc = new NetConnection();
			nc.addEventListener(NetStatusEvent.NET_STATUS, ncHandler);
			nc.connect(null);
		}
		
		private function ncHandler(e:NetStatusEvent):void {
			trace("ncHandler", e.info.code);
			if (e.info.code == "NetConnection.Connect.Success"){
				ns = new NetStream(nc);
				ns.client = {onMetaData:getMeta};
				ns.addEventListener(NetStatusEvent.NET_STATUS, nsHandler);
				video.attachNetStream(ns);
				ns.play("video.mp4");
			}
		}

		private function nsHandler(e:NetStatusEvent):void {
			trace("nsHandler", e.info.code);
		}

		private function getMeta(mdata:Object):void { }
	}
}

Actual Result:
Application crash:

Faulting application name: windows_video_driver_crash.exe, version: 0.0.0.0, time stamp: 0x631eca0a
Faulting module name: Adobe AIR.dll, version: 50.0.0.1, time stamp: 0x631eceaf
Exception code: 0xc0000005
Fault offset: 0x004dd22b
Faulting process id: 0x10c8
Faulting application start time: 0x01d8df02be6f0810
Faulting application path: C:\windows_video_driver_crash.app\windows_video_driver_crash.exe
Faulting module path: C:\windows_video_driver_crash.app\Adobe AIR\Versions\1.0\Adobe AIR.dll
Report Id: d898e689-73df-4aea-ab3d-489e2761a30e
Faulting package full name: 
Faulting package-relative application ID: 

Expected Result:
NetStatusEvent with NetStream.Play.Failed code should be dispatched without application crash. Or some another error event but without application crash.

Known Workarounds

none

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant