## Licenses

Licenses — utility functions for Creative Commons licenses

## Functions

GstTagLicenseFlags | gst_tag_get_license_flags ()
const gchar * | gst_tag_get_license_nick ()
const gchar * | gst_tag_get_license_title ()
const gchar * | gst_tag_get_license_description ()
const gchar * | gst_tag_get_license_jurisdiction ()
const gchar * | gst_tag_get_license_version ()
gchar ** | gst_tag_get_licenses ()

## Types and Values

enum | GstTagLicenseFlags

## Includes

    #include <gst/tag/tag.h>

## Description

Provides information about Creative Commons media licenses, which are often expressed in media files as a license URI in tags. Also useful for applications creating media files, in case the user wants to license the content under a Creative Commons license.

## Functions

### gst_tag_get_license_flags ()

    GstTagLicenseFlags
    gst_tag_get_license_flags (const gchar *license_ref);

Get the flags of a license, which describe most of the features of a license in their most general form.

#### Parameters

license_ref | a license reference string in form of a URI, e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/" |

#### Returns

the flags of the license, or 0 if the license is unknown

### gst_tag_get_license_nick ()

    const gchar *
    gst_tag_get_license_nick (const gchar *license_ref);

Get the nick name of a license, which is a short (untranslated) string such as e.g. "CC BY-NC-ND 2.0 UK".

#### Parameters

license_ref | a license reference string in form of a URI, e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/" |

#### Returns

the nick name of the license, or NULL if the license is unknown

### gst_tag_get_license_title ()

    const gchar *
    gst_tag_get_license_title (const gchar *license_ref);

Get the title of a license, which is a short translated description of the license's features (generally not very pretty though).

#### Parameters

license_ref | a license reference string in form of a URI, e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/" |

#### Returns

the title of the license, or NULL if the license is unknown or no title is available.

### gst_tag_get_license_description ()

    const gchar *
    gst_tag_get_license_description (const gchar *license_ref);

Get the description of a license, which is a translated description of the license's main features.

#### Parameters

license_ref | a license reference string in form of a URI, e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/" |

#### Returns

the description of the license, or NULL if the license is unknown or a description is not available.

### gst_tag_get_license_jurisdiction ()

    const gchar *
    gst_tag_get_license_jurisdiction (const gchar *license_ref);

Get the jurisdiction code of a license. This is usually a two-letter ISO 3166-1 alpha-2 code, but there is also the special case of Scotland, for which no code exists and which is thus represented as "scotland".

Known jurisdictions: ar, at, au, be, bg, br, ca, ch, cl, cn, co, de, dk, es, fi, fr, hr, hu, il, in, it, jp, kr, mk, mt, mx, my, nl, pe, pl, pt, scotland, se, si, tw, uk, us, za.

#### Parameters

license_ref | a license reference string in form of a URI, e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/" |

#### Returns

the jurisdiction code of the license, or NULL if the license is unknown or is not specific to a particular jurisdiction.

### gst_tag_get_license_version ()

    const gchar *
    gst_tag_get_license_version (const gchar *license_ref);

Get the version of a license.

#### Parameters

license_ref | a license reference string in form of a URI, e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/" |

#### Returns

the version of the license, or NULL if the license is not known or has no version

### gst_tag_get_licenses ()

    gchar **
    gst_tag_get_licenses (void);

Returns a list of known license references (in form of URIs). This is useful for UIs to build a list of available licenses for tagging purposes (e.g. to tag an audio track appropriately in a video or audio editor, or an image in a camera application).

#### Returns

NULL-terminated array of license strings. Free with `g_strfreev()` when no longer needed.

[transfer full]

## Types and Values

### enum GstTagLicenseFlags

See http://creativecommons.org/ns for more information.

#### Members

GST_TAG_LICENSE_PERMITS_REPRODUCTION | making multiple copies is allowed |
GST_TAG_LICENSE_PERMITS_DISTRIBUTION | distribution, public display and public performance are allowed |
GST_TAG_LICENSE_PERMITS_DERIVATIVE_WORKS | distribution of derivative works is allowed |
GST_TAG_LICENSE_PERMITS_SHARING | commercial derivatives are allowed, but only non-commercial distribution is allowed |
GST_TAG_LICENSE_REQUIRES_NOTICE | copyright and license notices must be kept intact |
GST_TAG_LICENSE_REQUIRES_ATTRIBUTION | credit must be given to copyright holder and/or author |
GST_TAG_LICENSE_REQUIRES_SHARE_ALIKE | derivative works must be licensed under the same terms or compatible terms as the original work |
GST_TAG_LICENSE_REQUIRES_SOURCE_CODE | source code (the preferred form for making modifications) must be provided when exercising some rights granted by the license |
GST_TAG_LICENSE_REQUIRES_COPYLEFT | derivative and combined works must be licensed under specified terms, similar to those of the original work |
GST_TAG_LICENSE_REQUIRES_LESSER_COPYLEFT | derivative works must be licensed under specified terms, with at least the same conditions as the original work; combinations with the work may be licensed under different terms |
GST_TAG_LICENSE_PROHIBITS_COMMERCIAL_USE | exercising rights for commercial purposes is prohibited |
GST_TAG_LICENSE_PROHIBITS_HIGH_INCOME_NATION_USE | use in a non-developing country is prohibited |
GST_TAG_LICENSE_CREATIVE_COMMONS_LICENSE | this license was created by the Creative Commons project |
GST_TAG_LICENSE_FREE_SOFTWARE_FOUNDATION_LICENSE | this license was created by the Free Software Foundation (FSF) |

## See Also

GstTagList