[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