Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c0fcdc07 authored by Martin Storsjo's avatar Martin Storsjo
Browse files

Use define for drm property keys instead of defining as char pointers

When defined as char pointers, every compilation unit that includes
the NdkMediaDrm.h header defines a new copy of the same global
variables - leading to linker errors due to multiple definitions
if more than one file includes it.

By using a define, they don't generate any symbols. The NdkMediaFormat.h
header uses extern const char* for a similar set of keys, but that
can't be added after the actual platform has shipped. The other
alternative would be to declare them as static const char*, which
wouldn't generate global symbols, but which could trigger warnings
about unused static symbols instead.

Change-Id: I14ca81d94309b7f437b3bc144920c48a8b3f0261
parent 09a1f34f
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -327,24 +327,24 @@ media_status_t AMediaDrm_releaseSecureStops(AMediaDrm *,
/**
 * String property name: identifies the maker of the DRM engine plugin
 */
const char *PROPERTY_VENDOR = "vendor";
#define PROPERTY_VENDOR "vendor"

/**
 * String property name: identifies the version of the DRM engine plugin
 */
const char *PROPERTY_VERSION = "version";
#define PROPERTY_VERSION "version"

/**
 * String property name: describes the DRM engine plugin
 */
const char *PROPERTY_DESCRIPTION = "description";
#define PROPERTY_DESCRIPTION "description"

/**
 * String property name: a comma-separated list of cipher and mac algorithms
 * supported by CryptoSession.  The list may be empty if the DRM engine
 * plugin does not support CryptoSession operations.
 */
const char *PROPERTY_ALGORITHMS = "algorithms";
#define PROPERTY_ALGORITHMS "algorithms"

/**
 * Read a DRM engine plugin String property value, given the property name string.
@@ -361,7 +361,7 @@ media_status_t AMediaDrm_getPropertyString(AMediaDrm *, const char *propertyName
 * Byte array property name: the device unique identifier is established during
 * device provisioning and provides a means of uniquely identifying each device.
 */
const char *PROPERTY_DEVICE_UNIQUE_ID = "deviceUniqueId";
#define PROPERTY_DEVICE_UNIQUE_ID "deviceUniqueId"

/**
 * Read a DRM engine plugin byte array property value, given the property name string.