I am on the road this week in Tokyo and Seoul. Last weekend, as I was flying from San Francisco, we completed the release of our XE3 products. RAD Studio XE3 includes a major update for FireMonkey version 2 (FM2). FM2 includes new and enhanced support for:
- Audio and Video
- Actions and Action Lists
- Touch and Gestures
- Bitmap Styles, Windows 8 Styles and Non-Client Area Styling
- Anchors
- Sensor support including cameras, location and motion
- and more
For multimedia support FM2 implements support for several standard audio and video formats. You can also add support for additional media formats using the same codec management capabilities. If you have the Professional or higher editions (not Starter or Trial) you can look in the FM2 source code files
- FMX.Media.pas
- FMX.Media.Win.pas
- FMX.Media.Mac.pas
for the implementation and registration of FM2 multimedia file formats. Look at the last lines of the Windows and Mac implementation files for their initialization sections.
FMX.Media.Win.pas initialization section:
TMediaCodecManager.RegisterMediaCodecClass('.avi', SVAviFiles, TMediaType.Video, TWindowsMediaCodec);
TMediaCodecManager.RegisterMediaCodecClass('.wmv', SVWMVFiles, TMediaType.Video, TWindowsMediaCodec);
TMediaCodecManager.RegisterMediaCodecClass('.mp4', SVMP4Files, TMediaType.Video, TWindowsMediaCodec);
TMediaCodecManager.RegisterMediaCodecClass('.m4v', SVMP4Files, TMediaType.Video, TWindowsMediaCodec);
TMediaCodecManager.RegisterMediaCodecClass('.mov', SVMOVFiles, TMediaType.Video, TWindowsMediaCodec);
TMediaCodecManager.RegisterMediaCodecClass('.wma', SVWMAFiles, TMediaType.Audio, TWindowsMediaCodec);
TMediaCodecManager.RegisterMediaCodecClass('.mp3', SVMP3Files, TMediaType.Audio, TWindowsMediaCodec);
TMediaCodecManager.RegisterMediaCodecClass('.wav', SVWAVFiles, TMediaType.Audio, TWindowsMediaCodec);
FMX.Media.Mac.pas initialization section:
TMediaCodecManager.RegisterMediaCodecClass('.mov', SVMOVFiles, TMediaType.Video, TQTMediaCodec);
TMediaCodecManager.RegisterMediaCodecClass('.m4v', SVMP4Files, TMediaType.Video, TQTMediaCodec);
TMediaCodecManager.RegisterMediaCodecClass('.mp4', SVMP4Files, TMediaType.Video, TQTMediaCodec);
TMediaCodecManager.RegisterMediaCodecClass('.avi', SVAviFiles, TMediaType.Video, TQTMediaCodec);
TMediaCodecManager.RegisterMediaCodecClass('.wav', SVWAVFiles, TMediaType.Audio, TQTMediaCodec);
TMediaCodecManager.RegisterMediaCodecClass('.mp3', SVMP3Files, TMediaType.Audio, TQTMediaCodec);
Have fun adding multimedia to your Delphi and C++ applications for Windows and Mac. By the way - our new HTML5Builder also supports HTML5 multimedia. You’ll want to check it out too!
{ 6 } Comments
Go FireMonkey!!!
So far this looks like a really impressive release. Good work!
Warren
I payed for XE2 and got more bugs them any other release. Now XE3 has a small number of features and NO MOBILE support, why do I have to pay for a new version? Just to get media components and bug fixes?
Another question, buying XE3 now will give the Mobile Studio for FREE?
Is Embarcadero really delivering the mobile addon on Q1/2013? What the impact of Barry Kelly departure on this?
XE3–updated copy protection or how to slow down the IDE start
With the release of RAD Studio XE3 Embarcadero made changes to the IDE’s copy protection. Those changes are ineffective because they are a no brainer for those who crack the software. Despite this the changes cause the IDE to start much slower. Even on a SSD you feel the difference between XE2 and XE3. And on a HDD you can get almost 2 cups of coffee while the IDE starts.
The updated copy protection loads every DLL file that is in the $(BDS)\bin directory into memory to verify (WinTrust.dll) that it is a correctly signed DLL and then unloads it again. The higher your SKU is the more DLL files you have, the longer you have to wait for the IDE to start. That wouldn’t be such a huge problem (for me) if the IDE would be stable as a rock. But we all know the IDE. And if you develop IDE plugins, you restart the IDE frequently. While I work on my plugins I spend most of the time waiting for the IDE to start. And I can’t drink that much coffee.
Why is it a no brainer for Crackers? Well, they know how to inject a DLL. And verifying that the DLL on disk is correctly signed has no effect on the already loaded DLL. Windows doesn’t load DLLs again if there is already one with the exact same name in memory, even if the DLL is in another directory. Alternatively the Crackers can sign their DLL and be happy. So where is the additional security from this? The only thing I can think of is that Embarcadero saw that their IDE starts much faster now and that they don’t want the IDE to start fast.
Why should I make the IDE faster and faster with my IDEFixPack if Embarcadero tries to slow it down? And no, I won’t tamper with the copy protection. Embarcadero is the only one who can remove this useless and ineffective change in the copy protection legally.
TMediaCodecManager.RegisterMediaCodecClass(’.avi’, SVAviFiles, TMediaType.Video, TQTMediaCodec);
.avi is NOT a codec, it’s a container, so please provide real information of the audio and video codecs (including maximum supported profiles/levels).
What Encoders/Decoders are really used? Registering some Containers (AVI, WMV, MP4 are just containers) doesn’t tell anything about the supported codecs. I don’t think you ship them with Delphi, but rely on the OS ones? So it depends a lot which OS (WinXP, Vista, 7,
you are running. I am wrong?
Post a Comment