[Bug 646868] tag: Provide Creative Commons helper functions
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Fri Jul 15 02:44:19 PDT 2011
https://bugzilla.gnome.org/show_bug.cgi?id=646868
GStreamer | gst-plugins-base | unspecified
--- Comment #6 from Tim-Philipp Müller <t.i.m at zen.co.uk> 2011-07-15 09:44:14 UTC ---
How about API like this:
+/* functions to deal with (mostly) Creative Commons licenses */
+
+/**
+ * GstTagLicenseFlags:
+ * @GST_TAG_LICENSE_FLAG_PERMITS_REPRODUCTION: making multiple copies
+ * is allowed
+ * @GST_TAG_LICENSE_FLAG_PERMITS_DISTRIBUTION: distribution, public display
+ * and public performance are allowed
+ * @GST_TAG_LICENSE_FLAG_PERMITS_DERIVATIVE_WORKS: distribution of derivative
+ * works is allowed
+ * @GST_TAG_LICENSE_FLAG_PERMITS_SHARING: commercial derivatives are allowed,
+ * but only non-commercial distribution is allowed
+ * @GST_TAG_LICENSE_FLAG_REQUIRES_NOTICE: copyright and license notices
+ * must be kept intact
+ * @GST_TAG_LICENSE_FLAG_REQUIRES_ATTRIBUTION: credit must be given to
+ * copyright holder and/or author
+ * @GST_TAG_LICENSE_FLAG_REQUIRES_SHARE_ALIKE: derivative works must be
+ * licensed under the same terms or compatible terms as the original work
+ * @GST_TAG_LICENSE_FLAG_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_FLAG_REQUIRES_COPYLEFT: derivative and combined works
+ * must be licensed under specified terms, similar to those of the
original
+ * work
+ * @GST_TAG_LICENSE_FLAG_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_FLAG_PROHIBITS_COMMERCIAL_USE: exercising rights for
+ * commercial purposes is prohibited
+ * @GST_TAG_LICENSE_FLAG_PROHIBITS_HIGH_INCOME_NATION_USE: use in a
+ * non-developing country is prohibited
+ * @GST_TAG_LICENSE_FLAG_CREATIVE_COMMONS_LICENSE: this license was created
+ * by the Creative Commons project
+ * @GST_TAG_LICENSE_FLAG_FREE_SOFTWARE_FOUNDATION_LICENSE: this license was
+ * created by the Free Software Foundation (FSF)
+ *
+ * See http://creativecommons.org/ns for more information.
+ *
+ * Since: 0.10.36
+ */
+/* FIXME: should we have the _FLAG_ bit in the name or not? not is nicer.. */
+typedef enum {
+ GST_TAG_LICENSE_FLAG_PERMITS_REPRODUCTION = (1 << 0),
+ GST_TAG_LICENSE_FLAG_PERMITS_DISTRIBUTION = (1 << 1),
+ GST_TAG_LICENSE_FLAG_PERMITS_DERIVATIVE_WORKS = (1 << 2),
+ GST_TAG_LICENSE_FLAG_PERMITS_SHARING = (1 << 3),
+
+ GST_TAG_LICENSE_FLAG_REQUIRES_NOTICE = (1 << 8),
+ GST_TAG_LICENSE_FLAG_REQUIRES_ATTRIBUTION = (1 << 9),
+ GST_TAG_LICENSE_FLAG_REQUIRES_SHARE_ALIKE = (1 << 10),
+ GST_TAG_LICENSE_FLAG_REQUIRES_SOURCE_CODE = (1 << 11),
+ GST_TAG_LICENSE_FLAG_REQUIRES_COPYLEFT = (1 << 12),
+ GST_TAG_LICENSE_FLAG_REQUIRES_LESSER_COPYLEFT = (1 << 13),
+
+ GST_TAG_LICENSE_FLAG_PROHIBITS_COMMERCIAL_USE = (1 << 16),
+ GST_TAG_LICENSE_FLAG_PROHIBITS_HIGH_INCOME_NATION_USE = (1 << 17),
+
+ GST_TAG_LICENSE_FLAG_CREATIVE_COMMONS_LICENSE = (1 << 24),
+ GST_TAG_LICENSE_FLAG_FREE_SOFTWARE_FOUNDATION_LICENSE = (1 << 25)
+} GstTagLicenseFlags;
+
+gchar ** gst_tag_get_licenses (void);
+
+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);
+
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the gstreamer-bugs
mailing list