Dictionary Object API

A dictionary object is a collection of key-value pairs that maps the names of multimedia file and device parameters to their values. You can use the dictionary API to define settings for the mm-renderer context, input, and output parameters, ahead of calling the API functions that set those parameters.

Both the keys and values are represented by shareable string objects. A shareable string is a data structure that encapsulates a string so that it can't be modified directly. This design allows multiple processes to read the string without the risk that the string will be changed inadvertently between reads. Modifying a shareable string actually destroys it and creates a new one.

The dictionary object API allows the creation of multiple handles to a dictionary object that can be used and destroyed by independent components of a program. Since a dictionary, once created, is immutable until destroyed, components can access it through their handles without worrying about synchronization.

Different dictionary object handles may be represented by identical pointers. You should not compare handles. Regardless of how the handles are represented internally, you have to call strm_dict_destroy() separately for each handle to properly dispose of any resources associated with it.

For the location of the dictionary object API libraries and header files, see the section "Headers and libraries" in the Release Notes.