Adobe Flash Player (known in Internet Explorer, Firefox, and Google Chrome as Shockwave Flash) is a discontinuedExcept in China, where it continues to be used, as well as Harman for enterprise users; and as part of Adobe Animate. computer program for viewing multimedia content, executing rich Internet applications, and streaming audio and video content created on the Adobe Flash platform. It can run from a web browser as a browser plug-in or independently on supported devices. Originally created by FutureWave under the name FutureSplash Player, it was renamed to Macromedia Flash Player after Macromedia acquired FutureWave in 1996. After Adobe acquired Macromedia in 2005, it was developed and distributed by Adobe as Adobe Flash Player. It is currently developed and distributed by Zhongcheng for users in China, and by Wipro for enterprise users outside of China, in collaboration with Adobe.

Flash Player runs SWF files that can be created using Adobe Flash Professional, Adobe Flash Builder, or third-party tools such as FlashDevelop. Flash Player supports video and raster graphics; vector graphics; 3D graphics; embedded audio; and an object-oriented scripting language called ActionScript, which is based on ECMAScript (similar to JavaScript). Internet Explorer 11 and Microsoft Edge Legacy since Windows 8, along with Google Chrome on all versions of Windows, came bundled with a sandboxed Adobe Flash Player plug-in.Integrated Adobe Flash Player Plug-in , Chrome team blogPorting Flash to sandboxed PPAPI platform , Official Chromium Blog

Flash Player once had a large user base, and was required to run many web games, animations, and graphical user interface (GUI) elements embedded in web pages. Adobe stated in 2013 that more than 400 million out of over 1 billion connected desktops updated to new versions of Flash Player within six weeks of release. However, Flash Player became increasingly criticized for poor performance, consumption of battery on mobile devices, the number of security vulnerabilities that had been discovered in the software, and its nature as a closed platform controlled by Adobe. Apple co-founder Steve Jobs was highly critical of Flash Player, having published an open letter criticising the platform and detailing Apple's reasoning for not supporting Flash on its iOS device family. Its usage further waned due to more modern web standards which replaced some of Flash's functionality, reducing the need for third-party plugins. This led to the eventual deprecation of the platform.

Flash Player was officially discontinued on December 31, 2020, and its download page was removed two days later. Since January 12, 2021, Flash Player (original global variants) versions newer than 32.0.0.371, released in May 2020, refuse to play Flash content and instead display a static warning message. The software remains supported in mainland China and in some enterprise variants, and as part of Adobe Animate.

Features Adobe Flash Player is a runtime that executes and displays content from a provided SWF file, although it has no in-built features to modify the SWF file at runtime. It can execute software written in the ActionScript programming language, which enables the runtime manipulation of text, data, vector graphics, raster graphics, sound, and video. The player can also access certain connected hardware devices, including the web cameras and microphones, after permission for the same has been granted by the user.

Flash Player was used internally by the Adobe Integrated Runtime (AIR), to provide a cross-platform runtime environment for desktop applications and mobile applications. AIR supports installable applications on Windows, Linux, macOS, and some mobile operating systems such as iOS and Android. Flash applications must specifically be built for the AIR runtime to use additional features provided, such as file system integration, native client extensions, native window/screen integration, taskbar/dock integration, and hardware integration with connected Accelerometer and GPS devices.AIR 3 , Adobe

Data formats Flash Player included native support for many data formats, some of which can only be accessed through the ActionScript scripting interface.

XML: Flash Player has included native support for XML parsing and generation since version 6. XML data is held in memory as an XML Document Object Model, and can be manipulated using ActionScript. ActionScript 3 also supports ECMAScript for XML (E4X), which allows XML data to be manipulated more easily. JSON: Flash Player 11 includes native support for importing and exporting data in the JavaScript Object Notation (JSON) format, which allows interoperability with web services and JavaScript programs. AMF: Flash Player allows application data to be stored on users computers, in the form of Local Shared Objects, the Flash equivalent to browser cookies. Flash Player can also natively read and write files in the Action Message Format, the default data format for Local Shared Objects. Since the AMF format specification is published, data can be transferred to and from Flash applications using AMF datasets instead of JSON or XML, reducing the need for parsing and validating such data. SWF: The specification for the SWF file format was published by Adobe, enabling the development of the SWX Format project, which used the SWF file format and AMF as a means for Flash applications to exchange data with server-side applications.SWX: SWF Data Format , official websiteswxjava – SWX RPC implementation in Java , Google Code The SWX system stores data as standard SWF bytecode which is automatically interpreted by Flash Player.swx-format – Data Format , Google Code Another open-source project, SWXml allows Flash applications to load XML files as native ActionScript objects without any client-side XML parsing, by converting XML files to SWF/AMF on the server.SWX Contest Winners , SWX Format WebsiteIntroducing SWXml , Aral Balkan

Multimedia formats Flash Player is primarily a graphics and multimedia platform, and has supported raster graphics and vector graphics since its earliest version. It supports the following different multimedia formats, which it can natively decode and play back.

MP3: Support for decoding and playback of streaming MPEG-2 Audio Layer III (MP3) audio was introduced in Flash Player 4. MP3 files can be accessed and played back from a server via HTTP, or embedded inside an SWF file, which is also a streaming format. FLV: Support for decoding and playing back video and audio inside Flash Video (FLV and F4V) files, a format developed by Adobe Systems and Macromedia. Flash Video is only a container format and supports multiple different video codecs, such as Sorenson Spark, VP6, and more recently H.264. Flash Player uses hardware acceleration to display video where present, using technologies such as DirectX Video Acceleration and OpenGL to do so. Flash Video is used by YouTube, Hulu, Yahoo! Video, BBC Online,Future Media Standards & Guidelines – AV Addendum v1.5 BBC and other news providers. FLV files can be played back from a server using HTTP progressive download, and can also be embedded inside an SWF file. Flash Video can also be streamed via RTMP using the Adobe Flash Media Server or other such server-side software. PNG: Support for decoding and rendering Portable Network Graphics (PNG) images, in both its 24-bit (opaque) and 32-bit (semi-transparent) variants. Flash Player 11 can also encode a PNG bitmap via ActionScript. JPEG: Support for decoding and rendering compressed JPEG images. Flash Player 10 added support for the JPEG-XR advanced image compression standard developed by Microsoft Corporation, which results in better compression and quality than JPEG. JPEG-XR enables lossy and lossless compression with or without alpha channel transparency. Flash Player 11 can also encode a JPEG or JPEG-XR bitmap via ActionScript. GIF: Support for decoding and rendering compressed Graphics Interchange Format (GIF) images, in its single-frame variants only. Loading a multi-frame GIF will display only the first image frame.

Streaming protocols HTTP: Support for communicating with web servers using HTTP requests and POST data.Protocols: HTTP vs. RTMP> Beginner's Guide to Distributing Flash Video , Adobe Press However, only websites that explicitly allow Flash to connect to them can be accessed via HTTP or sockets, to prevent Flash being used as a tool for cross-site request forgery,Cross-domain policy file usage recommendations for Flash Player , Adobe cross-site scripting, DNS rebinding, and denial-of-service attacks. Websites must host a certain XML file termed a cross domain policy,Policy file changes in Flash Player 9 and Flash Player 10 , Adobe allowing or denying Flash content from specific websites to connect to them. Certain websites, such as Digg, Flickr, and Photobucket already host a cross-domain policy that permits Flash content to access their website via HTTP. RTMP: Support for live audio and video streaming using the Real-Time Messaging Protocol (RTMP) developed by Macromedia. RTMP supports a non-encrypted version over the Transmission Control Protocol (TCP) or an encrypted version over a secure Transport Layer Security (SSL) connection. RTMPT can also be encapsulated within HTTP requests to traverse firewalls that only allow HTTP traffic. TCP: Support for Transmission Control Protocol (TCP) Internet socket communication to communicate with any type of server, using stream sockets. Sockets can be used only via ActionScript, and can transfer plain text, XML, or binary data (ActionScript 3.0 or later).Socket , Adobe ActionScript 3 API ReferenceSockets , ActionScript 3.0 Developer's Guide To prevent security issues, web servers that permit Flash content to communicate with them using sockets must host an XML-based cross domain policy file, served on Port 843.Setting up a socket policy file server , Adobe Sockets enable AS3 programs to interface with any kind of server software, such as MySQL.AsSQL – MySQL Driver for AS3 , Google Code

Performance

Hardware acceleration Until version 10 of the Flash player, there was no support for GPU acceleration. Version 10 added a limited form of support for shaders on materials in the form of the Pixel Bender API, but still did not have GPU-accelerated 3D vertex processing. A significant change came in version 11, which added a new low-level API called Stage3D (initially codenamed Molehill), which provides full GPU acceleration, similar to WebGL. (The partial support for GPU acceleration in Pixel Bender was completely removed in Flash 11.8, resulting in the disruption of some projects like MIT's Scratch, which lacked the manpower to recode their applications quickly enough.)

Current versions of Flash Player are optimized to use hardware acceleration for video playback and 3D graphics rendering on many devices, including desktop computers. Performance is similar to HTML video playback.Comparing Flash, HTML5 Performance , OS News, Flash Mobile Blog Also, Flash Player has been used on multiple mobile devices as a primary user interface renderer.Reference Designs and Demos , QNX

Compilation Although code written in ActionScript 3 executes up to 10 times faster than the prior ActionScript 2,ActionScript 3.0 overview, "ActionScript 3.0 code executes up to 10 times faster than legacy ActionScript code." , Adobe the Adobe ActionScript 3 compiler is a non-optimizing compiler, and produces inefficient bytecode in the resulting SWF, when compared to toolkits such as CrossBridge., Adobe Labs, "ASC performs few optimizations at this time"Alchemy:FAQ , Adobe LabsOptimizing ActionScript Bytecode using LLVM , AdobeAdobe Alchemy, is it ActionScript heresy? , Unit Zero One