Change GStreamer marker prefix in detail string from 'gstreamer.net' to just 'gstream...
authorTim-Philipp Müller <tim@centricular.net>
Fri, 23 Feb 2007 13:10:50 +0000 (13:10 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Fri, 23 Feb 2007 13:10:50 +0000 (13:10 +0000)
Original commit message from CVS:
* gst-libs/gst/utils/install-plugins.c:
* gst-libs/gst/utils/missing-plugins.c:
* tests/check/libs/utils.c: (missing_msg_check_getters):
Change GStreamer marker prefix in detail string from 'gstreamer.net'
to just 'gstreamer'. Document the caps string component of the
decoder/encoder detail a bit better, since not everyone will be
familiar with the GStreamer media type/caps system (but they better
enjoy nested itemized lists).

ChangeLog
gst-libs/gst/pbutils/install-plugins.c
gst-libs/gst/pbutils/missing-plugins.c
gst-libs/gst/utils/install-plugins.c
gst-libs/gst/utils/missing-plugins.c
tests/check/libs/pbutils.c
tests/check/libs/utils.c

index c1526ce..84803d6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * gst-libs/gst/utils/install-plugins.c:
+       * gst-libs/gst/utils/missing-plugins.c:
+       * tests/check/libs/utils.c: (missing_msg_check_getters):
+         Change GStreamer marker prefix in detail string from 'gstreamer.net'
+         to just 'gstreamer'. Document the caps string component of the
+         decoder/encoder detail a bit better, since not everyone will be
+         familiar with the GStreamer media type/caps system (but they better
+         enjoy nested itemized lists).
+
 2007-02-22  Tim-Philipp Müller  <tim at centricular dot net>
 
        * gst-libs/gst/netbuffer/gstnetbuffer.c:
index 2da9e8a..3b93da4 100644 (file)
  *  </para></listitem>
  *  <listitem><para>
  *    one 'installer detail string' argument for each plugin to be installed;
- *    these strings will have a <literal>gstreamer.net</literal> prefix; the
+ *    these strings will have a <literal>gstreamer</literal> prefix; the
  *    exact format of the detail string is explained below
  *  </para></listitem>
  * </itemizedlist>
  * The fields are:
  * <itemizedlist>
  *   <listitem><para>
- *    plugin system identifier, ie. "gstreamer.net"
+ *    plugin system identifier, ie. "gstreamer"
  *   </para><para>
  *    This identifier determines the format of the rest of the detail string.
  *    Automatic plugin installers should not process detail strings with
  *       element-$(ELEMENT_REQUIRED), e.g. element-ffmpegcolorspace
  *     </para></listitem>
  *     <listitem><para>
- *       decoder-$(CAPS_REQUIRED), e.g. decoder-audio/x-vorbis or
- *       decoder-application/ogg
+ *       decoder-$(CAPS_REQUIRED), e.g. (do read below for more details!):
+ *       <itemizedlist>
+ *         <listitem><para>decoder-audio/x-vorbis</para></listitem>
+ *         <listitem><para>decoder-application/ogg</para></listitem>
+ *         <listitem><para>decoder-audio/mpeg, mpegversion=(int)4</para></listitem>
+ *         <listitem><para>decoder-video/mpeg, systemstream=(boolean)true, mpegversion=(int)2</para></listitem>
+         </itemizedlist>
  *     </para></listitem>
  *     <listitem><para>
  *       encoder-$(CAPS_REQUIRED), e.g. encoder-audio/x-vorbis
  * <para>
  * An entire ID string might then look like this, for example:
  * <literal>
- * gstreamer.net|0.10|totem|Vorbis audio decoder|decoder-audio/x-vorbis
+ * gstreamer|0.10|totem|Vorbis audio decoder|decoder-audio/x-vorbis
  * </literal>
  * </para>
  * <para>
  * out when encountering them.
  * </para>
  * <para>
+ * Those unfamiliar with the GStreamer 'caps' system should note a few things
+ * about the caps string used in the above decoder/encoder case:
+ *   <itemizedlist>
+ *     <listitem><para>
+ *       the first part ("video/mpeg") of the caps string is a GStreamer media
+ *       type and <emphasis>not</emphasis> a MIME type. Wherever possible, the
+ *       GStreamer media type will be the same as the corresponding MIME type,
+ *       but often it is not.
+ *     </para></listitem>
+ *     <listitem><para>
+ *       a caps string may or may not have additional comma-separated fields
+ *       of various types (as seen in the examples above)
+ *     </para></listitem>
+ *     <listitem><para>
+ *       the caps string of a 'required' component (as above) will always have
+ *       fields with fixed values, whereas an introspected string (see below)
+ *       may have fields with non-fixed values. Compare for example:
+ *       <itemizedlist>
+ *         <listitem><para>
+ *           <literal>audio/mpeg, mpegversion=(int)4</literal> vs.
+ *           <literal>audio/mpeg, mpegversion=(int){2, 4}</literal>
+ *         </para></listitem>
+ *         <listitem><para>
+ *           <literal>video/mpeg, mpegversion=(int)2</literal> vs.
+ *           <literal>video/mpeg, systemstream=(boolean){ true, false}, mpegversion=(int)[1, 2]</literal>
+ *         </para></listitem>
+ *       </itemizedlist>
+ *     </para></listitem>
+ *   </itemizedlist>
+ * </para>
+ * <para>
  * <emphasis>4. Exit codes the installer should return</emphasis>
  * </para>
  * <para>
index ac06aa0..37555bf 100644 (file)
@@ -70,7 +70,7 @@
 
 #include <string.h>
 
-#define GST_DETAIL_STRING_MARKER "gstreamer.net"
+#define GST_DETAIL_STRING_MARKER "gstreamer"
 
 typedef enum
 {
index 2da9e8a..3b93da4 100644 (file)
  *  </para></listitem>
  *  <listitem><para>
  *    one 'installer detail string' argument for each plugin to be installed;
- *    these strings will have a <literal>gstreamer.net</literal> prefix; the
+ *    these strings will have a <literal>gstreamer</literal> prefix; the
  *    exact format of the detail string is explained below
  *  </para></listitem>
  * </itemizedlist>
  * The fields are:
  * <itemizedlist>
  *   <listitem><para>
- *    plugin system identifier, ie. "gstreamer.net"
+ *    plugin system identifier, ie. "gstreamer"
  *   </para><para>
  *    This identifier determines the format of the rest of the detail string.
  *    Automatic plugin installers should not process detail strings with
  *       element-$(ELEMENT_REQUIRED), e.g. element-ffmpegcolorspace
  *     </para></listitem>
  *     <listitem><para>
- *       decoder-$(CAPS_REQUIRED), e.g. decoder-audio/x-vorbis or
- *       decoder-application/ogg
+ *       decoder-$(CAPS_REQUIRED), e.g. (do read below for more details!):
+ *       <itemizedlist>
+ *         <listitem><para>decoder-audio/x-vorbis</para></listitem>
+ *         <listitem><para>decoder-application/ogg</para></listitem>
+ *         <listitem><para>decoder-audio/mpeg, mpegversion=(int)4</para></listitem>
+ *         <listitem><para>decoder-video/mpeg, systemstream=(boolean)true, mpegversion=(int)2</para></listitem>
+         </itemizedlist>
  *     </para></listitem>
  *     <listitem><para>
  *       encoder-$(CAPS_REQUIRED), e.g. encoder-audio/x-vorbis
  * <para>
  * An entire ID string might then look like this, for example:
  * <literal>
- * gstreamer.net|0.10|totem|Vorbis audio decoder|decoder-audio/x-vorbis
+ * gstreamer|0.10|totem|Vorbis audio decoder|decoder-audio/x-vorbis
  * </literal>
  * </para>
  * <para>
  * out when encountering them.
  * </para>
  * <para>
+ * Those unfamiliar with the GStreamer 'caps' system should note a few things
+ * about the caps string used in the above decoder/encoder case:
+ *   <itemizedlist>
+ *     <listitem><para>
+ *       the first part ("video/mpeg") of the caps string is a GStreamer media
+ *       type and <emphasis>not</emphasis> a MIME type. Wherever possible, the
+ *       GStreamer media type will be the same as the corresponding MIME type,
+ *       but often it is not.
+ *     </para></listitem>
+ *     <listitem><para>
+ *       a caps string may or may not have additional comma-separated fields
+ *       of various types (as seen in the examples above)
+ *     </para></listitem>
+ *     <listitem><para>
+ *       the caps string of a 'required' component (as above) will always have
+ *       fields with fixed values, whereas an introspected string (see below)
+ *       may have fields with non-fixed values. Compare for example:
+ *       <itemizedlist>
+ *         <listitem><para>
+ *           <literal>audio/mpeg, mpegversion=(int)4</literal> vs.
+ *           <literal>audio/mpeg, mpegversion=(int){2, 4}</literal>
+ *         </para></listitem>
+ *         <listitem><para>
+ *           <literal>video/mpeg, mpegversion=(int)2</literal> vs.
+ *           <literal>video/mpeg, systemstream=(boolean){ true, false}, mpegversion=(int)[1, 2]</literal>
+ *         </para></listitem>
+ *       </itemizedlist>
+ *     </para></listitem>
+ *   </itemizedlist>
+ * </para>
+ * <para>
  * <emphasis>4. Exit codes the installer should return</emphasis>
  * </para>
  * <para>
index ac06aa0..37555bf 100644 (file)
@@ -70,7 +70,7 @@
 
 #include <string.h>
 
-#define GST_DETAIL_STRING_MARKER "gstreamer.net"
+#define GST_DETAIL_STRING_MARKER "gstreamer"
 
 typedef enum
 {
index 81105db..1ca005f 100644 (file)
@@ -49,7 +49,7 @@ missing_msg_check_getters (GstMessage * msg)
   str = gst_missing_plugin_message_get_installer_detail (msg);
   fail_unless (str != NULL);
   fail_unless (*str != '\0');
-  fail_unless (g_str_has_prefix (str, "gstreamer.net|"));
+  fail_unless (g_str_has_prefix (str, "gstreamer|"));
   g_free (str);
 
   str = gst_missing_plugin_message_get_description (msg);
index 81105db..1ca005f 100644 (file)
@@ -49,7 +49,7 @@ missing_msg_check_getters (GstMessage * msg)
   str = gst_missing_plugin_message_get_installer_detail (msg);
   fail_unless (str != NULL);
   fail_unless (*str != '\0');
-  fail_unless (g_str_has_prefix (str, "gstreamer.net|"));
+  fail_unless (g_str_has_prefix (str, "gstreamer|"));
   g_free (str);
 
   str = gst_missing_plugin_message_get_description (msg);