diff --git a/ChangeLog b/ChangeLog index c1526cec13..84803d6788 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2007-02-23 Tim-Philipp Müller + + * 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 * gst-libs/gst/netbuffer/gstnetbuffer.c: diff --git a/gst-libs/gst/pbutils/install-plugins.c b/gst-libs/gst/pbutils/install-plugins.c index 2da9e8ac44..3b93da47ef 100644 --- a/gst-libs/gst/pbutils/install-plugins.c +++ b/gst-libs/gst/pbutils/install-plugins.c @@ -169,7 +169,7 @@ * * * one 'installer detail string' argument for each plugin to be installed; - * these strings will have a gstreamer.net prefix; the + * these strings will have a gstreamer prefix; the * exact format of the detail string is explained below * * @@ -183,7 +183,7 @@ * The fields are: * * - * plugin system identifier, ie. "gstreamer.net" + * plugin system identifier, ie. "gstreamer" * * This identifier determines the format of the rest of the detail string. * Automatic plugin installers should not process detail strings with @@ -219,8 +219,13 @@ * element-$(ELEMENT_REQUIRED), e.g. element-ffmpegcolorspace * * - * decoder-$(CAPS_REQUIRED), e.g. decoder-audio/x-vorbis or - * decoder-application/ogg + * decoder-$(CAPS_REQUIRED), e.g. (do read below for more details!): + * + * decoder-audio/x-vorbis + * decoder-application/ogg + * decoder-audio/mpeg, mpegversion=(int)4 + * decoder-video/mpeg, systemstream=(boolean)true, mpegversion=(int)2 + * * * encoder-$(CAPS_REQUIRED), e.g. encoder-audio/x-vorbis @@ -235,7 +240,7 @@ * * An entire ID string might then look like this, for example: * - * gstreamer.net|0.10|totem|Vorbis audio decoder|decoder-audio/x-vorbis + * gstreamer|0.10|totem|Vorbis audio decoder|decoder-audio/x-vorbis * * * @@ -244,6 +249,37 @@ * out when encountering them. * * + * Those unfamiliar with the GStreamer 'caps' system should note a few things + * about the caps string used in the above decoder/encoder case: + * + * + * the first part ("video/mpeg") of the caps string is a GStreamer media + * type and not a MIME type. Wherever possible, the + * GStreamer media type will be the same as the corresponding MIME type, + * but often it is not. + * + * + * a caps string may or may not have additional comma-separated fields + * of various types (as seen in the examples above) + * + * + * 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: + * + * + * audio/mpeg, mpegversion=(int)4 vs. + * audio/mpeg, mpegversion=(int){2, 4} + * + * + * video/mpeg, mpegversion=(int)2 vs. + * video/mpeg, systemstream=(boolean){ true, false}, mpegversion=(int)[1, 2] + * + * + * + * + * + * * 4. Exit codes the installer should return * * diff --git a/gst-libs/gst/pbutils/missing-plugins.c b/gst-libs/gst/pbutils/missing-plugins.c index ac06aa06e4..37555bf8f2 100644 --- a/gst-libs/gst/pbutils/missing-plugins.c +++ b/gst-libs/gst/pbutils/missing-plugins.c @@ -70,7 +70,7 @@ #include -#define GST_DETAIL_STRING_MARKER "gstreamer.net" +#define GST_DETAIL_STRING_MARKER "gstreamer" typedef enum { diff --git a/gst-libs/gst/utils/install-plugins.c b/gst-libs/gst/utils/install-plugins.c index 2da9e8ac44..3b93da47ef 100644 --- a/gst-libs/gst/utils/install-plugins.c +++ b/gst-libs/gst/utils/install-plugins.c @@ -169,7 +169,7 @@ * * * one 'installer detail string' argument for each plugin to be installed; - * these strings will have a gstreamer.net prefix; the + * these strings will have a gstreamer prefix; the * exact format of the detail string is explained below * * @@ -183,7 +183,7 @@ * The fields are: * * - * plugin system identifier, ie. "gstreamer.net" + * plugin system identifier, ie. "gstreamer" * * This identifier determines the format of the rest of the detail string. * Automatic plugin installers should not process detail strings with @@ -219,8 +219,13 @@ * element-$(ELEMENT_REQUIRED), e.g. element-ffmpegcolorspace * * - * decoder-$(CAPS_REQUIRED), e.g. decoder-audio/x-vorbis or - * decoder-application/ogg + * decoder-$(CAPS_REQUIRED), e.g. (do read below for more details!): + * + * decoder-audio/x-vorbis + * decoder-application/ogg + * decoder-audio/mpeg, mpegversion=(int)4 + * decoder-video/mpeg, systemstream=(boolean)true, mpegversion=(int)2 + * * * encoder-$(CAPS_REQUIRED), e.g. encoder-audio/x-vorbis @@ -235,7 +240,7 @@ * * An entire ID string might then look like this, for example: * - * gstreamer.net|0.10|totem|Vorbis audio decoder|decoder-audio/x-vorbis + * gstreamer|0.10|totem|Vorbis audio decoder|decoder-audio/x-vorbis * * * @@ -244,6 +249,37 @@ * out when encountering them. * * + * Those unfamiliar with the GStreamer 'caps' system should note a few things + * about the caps string used in the above decoder/encoder case: + * + * + * the first part ("video/mpeg") of the caps string is a GStreamer media + * type and not a MIME type. Wherever possible, the + * GStreamer media type will be the same as the corresponding MIME type, + * but often it is not. + * + * + * a caps string may or may not have additional comma-separated fields + * of various types (as seen in the examples above) + * + * + * 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: + * + * + * audio/mpeg, mpegversion=(int)4 vs. + * audio/mpeg, mpegversion=(int){2, 4} + * + * + * video/mpeg, mpegversion=(int)2 vs. + * video/mpeg, systemstream=(boolean){ true, false}, mpegversion=(int)[1, 2] + * + * + * + * + * + * * 4. Exit codes the installer should return * * diff --git a/gst-libs/gst/utils/missing-plugins.c b/gst-libs/gst/utils/missing-plugins.c index ac06aa06e4..37555bf8f2 100644 --- a/gst-libs/gst/utils/missing-plugins.c +++ b/gst-libs/gst/utils/missing-plugins.c @@ -70,7 +70,7 @@ #include -#define GST_DETAIL_STRING_MARKER "gstreamer.net" +#define GST_DETAIL_STRING_MARKER "gstreamer" typedef enum { diff --git a/tests/check/libs/pbutils.c b/tests/check/libs/pbutils.c index 81105dbcde..1ca005f7df 100644 --- a/tests/check/libs/pbutils.c +++ b/tests/check/libs/pbutils.c @@ -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); diff --git a/tests/check/libs/utils.c b/tests/check/libs/utils.c index 81105dbcde..1ca005f7df 100644 --- a/tests/check/libs/utils.c +++ b/tests/check/libs/utils.c @@ -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);