ADTF
|
With ADTF 3.14 a new SampleCodec and Codec was introduced. With ADTF 3.15 it has been moved to to the Open Source DDL Library within the dev_essential package.
The new osborn::cSampleCodecFactory can create the cSampleCodec, cSampleDecoder, cStaticSampleCodec and the cStaticSampleDecoder that must be accessed with the help of a CodecIndex.
The codec index will provide a fast index based vector to find the right element in the child elements and retrieve the access information for reading and writing their values. This codec index identifies exactly one element within the structure. To retrieve the index use the GetElements method of the Codecs.
Since the DDL Codecs where introduced the access to the elements where indexed based in a flat structure. Each leaf element was identified via a leaf counter index. At one side this was a big advantage for fast access, but on the other side it leaded to a long initialization time while the structure has huge arrays. The legacy API for this leaf index can be found at cCodecFactoryLegacy, cCodecLegacy and cDecoderLegacy.
This API is used to support also the "old" adtf_ddl::access_element API. This support will be removed in further releases, so please see Porting ADTF DDL to Open Source DDL Library chapter for a guide thru the porting process.
To map a leaf index to its corresponding codec index use the legacy Resolve method.
You will now have 5 different CodecFactory implementations and 4 different APIs. To give you an overview, have a look at following table:
The CodecFactory and its Decoders/Codecs | The Codec Index and the Element Iterator | The Codec Leaf Index | adtf_ddl::access_element API (old adtf_ddl pkg) | ddl::access_element API (comes with dev_essential 1.1.0) |
---|---|---|---|---|
osborn::cSampleCodecFactory | yes | legacy | legacy | no |
ddl::codec::CodecFactory (new codec API within dev_essential) | yes | legacy | no | no |
ddl::codec::CodecFactory (current dev_essential) | no | yes | no | yes |
flash::cSampleCodecFactory (old) | no | yes | yes | no |
old adtf_ddl::cCodecFactory (old) | no | yes | yes | no |
We recommend to port your code to the newest osborn::cSampleCodecFactory / ddl::codec::CodecFactory and only use the The Codec Index and the Element Iterator API. All other will be removed in further releases!
Since ADTF 3.14 we changed the dependencies of the of the mainpage_mediadescription_pkg from the ADTF DDL SDK (Legacy Package) to the DDL Library. This prevent any further forked development within ADTF of the DDL Library. Additionally, you will now have different codec implementations: see The Codecs and the Codec APIs for details.
Unfortunatelly, your code needs to be adapted to work with this new featured classes:
The deprecated warnings will guide you through the porting process. Following things are to do:
You may also fully switch off legacy API with the following:
Switch off deprecated warnings if you do not port: