gsttaglicenses

gsttaglicenses — utility functions for Creative Commons licenses

Synopsis

#include <gst/tag/tag.h>

enum                GstTagLicenseFlags;
GstTagLicenseFlags  gst_tag_get_license_flags           (const gchar *license_ref);
const gchar *       gst_tag_get_license_nick            (const gchar *license_ref);
const gchar *       gst_tag_get_license_title           (const gchar *license_ref);
const gchar *       gst_tag_get_license_description     (const gchar *license_ref);
const gchar *       gst_tag_get_license_jurisdiction    (const gchar *license_ref);
const gchar *       gst_tag_get_license_version         (const gchar *license_ref);
gchar **            gst_tag_get_licenses                (void);

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.

Details

enum GstTagLicenseFlags

typedef enum {
  GST_TAG_LICENSE_PERMITS_REPRODUCTION             = (1 << 0),
  GST_TAG_LICENSE_PERMITS_DISTRIBUTION             = (1 << 1),
  GST_TAG_LICENSE_PERMITS_DERIVATIVE_WORKS         = (1 << 2),
  GST_TAG_LICENSE_PERMITS_SHARING                  = (1 << 3),

  GST_TAG_LICENSE_REQUIRES_NOTICE                  = (1 << 8),
  GST_TAG_LICENSE_REQUIRES_ATTRIBUTION             = (1 << 9),
  GST_TAG_LICENSE_REQUIRES_SHARE_ALIKE             = (1 << 10),
  GST_TAG_LICENSE_REQUIRES_SOURCE_CODE             = (1 << 11),
  GST_TAG_LICENSE_REQUIRES_COPYLEFT                = (1 << 12),
  GST_TAG_LICENSE_REQUIRES_LESSER_COPYLEFT         = (1 << 13),

  GST_TAG_LICENSE_PROHIBITS_COMMERCIAL_USE         = (1 << 16),
  GST_TAG_LICENSE_PROHIBITS_HIGH_INCOME_NATION_USE = (1 << 17),

  GST_TAG_LICENSE_CREATIVE_COMMONS_LICENSE         = (1 << 24),
  GST_TAG_LICENSE_FREE_SOFTWARE_FOUNDATION_LICENSE = (1 << 25)
} GstTagLicenseFlags;

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

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)

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.

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".

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).

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.

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.

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.

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]

See Also

GstTagList