Upgrade Notes

This page pertains only to Flix Engine users upgrading from a version earlier than 8.0.6.0.

Page Contents

Overview

Version 8.0.6.0 represents the first release of a new, next-generation Flix Engine. The new Flix Engine is not backwards-compatible with 8.0.0.x and earlier versions. Earlier versions descended from a purchased, third-party codebase, whose purpose included desktop application development.

Flix Engine Version No.

COM Object Version No.
(see the Change Log)

Codebase

Product

Release Date

<= 8.0.0.x

WildForm

Flix Engine

8.0.6.0

0.0.0.0

On2 Technologies

new Flix Engine

2006-09-29

8.0.7.0

0.0.0.1

On2 Technologies

new Flix Engine

2006-11-30

...

...

...

...

...

The new Flix Engine is licensed as a server-based, enterprise-grade digital multimedia transcoding engine, with special emphasis on Flash Video creation via On2's advanced VP6 video encoder. It may not be compiled or linked into desktop applications.

The new Flix Engine API obsoletes or deprecates functionality geared toward desktop application development, and makes significant improvements in performance, stability, and usability.

The best approach to migration is to re-code to the new API. Depending on how you've implemented Flix Engine in the past, it may be realistic to modify your existing routines once you're familiar with the new Flix Engine.

Important: COM ID

COM Program ID (ProgID) has changed to On2.FlixEngine

Flix Engine Improvements

Exception Handling

The legacy Flix Engine exposed few methods for catching and handling errors, and had a bad habit of silently failing. The new Engine returns an improved range of error codes and has improved logging and debugging hooks. We also provide a new function for returning the current error state of the engine (flixengine_com::IFlix::errno_()).

PNG Thumbnails

The legacy Flix Engine could produce thumbnail images of the first video frame only, in JPEG format. Unfortunately, JPEG is a lossy format, and transcoding to other formats from JPEG may incur further loss. Also, the first frame in a video is rarely a good representation of the content.

Thumbnail images are now produced in PNG (Portable Network Graphics) format. PNG employs lossless compression, supports alpha channel compositing, and is easily transcoded to other formats. Users may now specify which frames to thumbnail.

Concurrent Encodes

The new Flix Engine has stable support for concurrent encoding. Some users may still prefer to queue encoding jobs via their own routines, but the convenience of concurrent encoding is now available.

Sane Naming Conventions

We have refactored the new Flix Engine's internal naming conventions, to restore some logic and remove cruft.

New COM Interface is Deprecation-Aware

Some features of 8.0.0.x are obsolete under the new Flix Engine (see below), others are deprecated and will be removed in a future version. The new Engine's COM interface exposes none of the deprecated functions, so re-coding to the new Engine protects your work.

Audio Decoding Doesn't Require Audio Hardware

The legacy Flix Engine was sometimes unable to decode audio on systems without a hardware audio device. That limitation has been corrected in the new Flix Engine.

API Reference Shortcuts

The Flix Engine API Reference is presented in the familiar and thorough Doxygen HTML format. Below are links to documentation pages of particular interest to upgraders.

Functions with No Equivalent in the New Flix Engine

In re-engineering the API, we identified groups of functions in the legacy Flix Engine API that were artifacts, and not germane to Flix Engine's purpose of developing server-based Flash Video encoding applications. Listed below are legacy functions that have no equivalent in the new Flix Engine.

IWF_FlixCOMEncoderEvents Interface

OnEncodingFinished, OnEncodingMessage, OnChange, OnEncoderProgress

Flix Engine no longer fires these events, as they exceed the core API's intended scope. Similar functionality may be added in a future release. Developers may easily replicate this functionality with custom routines.

IWF_FlixCOMEncoder Interface

EnableDirectShow8Importer, DisableDirectShow8Importer, EnableQuicktimeImporter, DisableQuicktimeImporter, EnableQTMLInitialization, DisableQTMLInitialization, LoadSettings

Flix Engine may no longer be compiled into desktop applications for redistribution, thus the above functions are unneeded and have not been replicated in the new Flix Engine. Functionality similar to LoadSettings may be added in a future release.

WF_EncodingStatus Interface

GetPlayerRamUsage, GetAverageQuality, GetMaximumQuality, GetMinimumQuality

The above encoding status functions have not been replicated in the new Flix Engine. In our judgment they did not return useful data.

WF_Exports Interface

GetOutputEmailPath, SetOutputEmailPath, GetOutputHtmlPath, SetOutputHtmlPath, GetOutputMacProjectorPath, SetOutputMacProjectorPath, GetOutputMp3Path, SetOutputMp3Path, GetOutputWavPath, SetOutputWavPath, GetOutputWinProjectorPath, SetOutputWinProjectorPath, GetOutputHtmlPath, SetOutputHtmlPath, GetExportHtml, SetExportHtml, GetOutputMacProjectorPath, SetOutputMacProjectorPath, GetExportMacProjector, SetExportMacProjector, GetOutputWinProjectorPath, SetOutputWinProjectorPath, GetExportWinProjector, SetExportWinProjector

The above functions were artifacts of Flix Engine's history as a desktop application development tool, and have not been replicated in the new Flix Engine.

WF_PlayerMaker Interface

GetLoadMovieUrlForExisting, SetLoadMovieUrlForExisting, GetUseLoadMovieForExisting, SetUseLoadMovieForExisting, GetOutputSwfPathForExisting, SetOutputSwfPathForExisting, SetNewFilePrefix, AutoExport, IsAutoExportSet, GetLoadMovieUrlForNew, SetLoadMovieUrlForNew, GetUseLoadMovieForNew, SetUseLoadMovieForNew, GetOutputSwfPathForNew, SetOutputSwfPathForNew, GetCustomBackgroundColor, SetCustomBackgroundColor, GetUseCustomBgColor, SetUseCustomBgColor, GetSkinFile, SetSkinFile

We determined that the above player creation functions were not being used by Flix Engine customers, because players constructed this way look out-dated and unappealing. These functions have not been replicated in the new Flix Engine.

WF_Vectorize Interface

GetColorOptions, SetColorOptions, GetMonochromeColor, SetMonochromeColor, GetColorThreshold, SetColorThreshold, GetDontFillShapes, SetDontFillShapes, AddOption, DeleteOption, GetCurrentOptions, GetBlurThreshold, SetBlurThreshold, GetDetail, SetDetail, GetFitCurvesThreshold, SetFitCurvesThreshold, GetFitLinesThreshold, SetFitLinesThreshold, GetPeakReductionThreshold, SetPeakReductionThreshold, GetStragglersThreshold, SetStragglersThreshold, GetRemoveJaggedEdgesThreshold, SetRemoveJaggedEdgesThreshold, GetRemoveRightAnglesThreshold, SetRemoveRightAnglesThreshold, GetMultiplePasses, SetMultiplePasses, GetImageQuality, SetImageQuality

The above functions produced a little-used novelty effect, transforming input video elements into simple polygons. They have not been replicated in the new Flix Engine.


On2 Technologies, Inc Flix Engine Windows documentation, generated on Tue Nov 2 15:38:04 2010 by doxygen 1.6.1