mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-05 23:18:52 +00:00
rtsp: add method to parse options list
This commit is contained in:
parent
9e8e3dfef4
commit
b511f938d4
3 changed files with 42 additions and 0 deletions
|
@ -1275,6 +1275,7 @@ gst_rtsp_header_as_text
|
||||||
gst_rtsp_header_allow_multiple
|
gst_rtsp_header_allow_multiple
|
||||||
gst_rtsp_status_as_text
|
gst_rtsp_status_as_text
|
||||||
gst_rtsp_options_as_text
|
gst_rtsp_options_as_text
|
||||||
|
gst_rtsp_options_from_text
|
||||||
gst_rtsp_find_header_field
|
gst_rtsp_find_header_field
|
||||||
gst_rtsp_find_method
|
gst_rtsp_find_method
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
|
|
|
@ -465,6 +465,46 @@ gst_rtsp_options_as_text (GstRTSPMethod options)
|
||||||
return g_string_free (str, FALSE);
|
return g_string_free (str, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gst_rtsp_options_from_text:
|
||||||
|
* @options: a comma separated list of options
|
||||||
|
*
|
||||||
|
* Convert the comma separated list @options to a #GstRTSPMethod bitwise or
|
||||||
|
* of methods. This functions is the reverse of gst_rtsp_options_as_text().
|
||||||
|
*
|
||||||
|
* Returns: a #GstRTSPMethod
|
||||||
|
*
|
||||||
|
* Since: 1.1.1
|
||||||
|
*/
|
||||||
|
GstRTSPMethod
|
||||||
|
gst_rtsp_options_from_text (const gchar * options)
|
||||||
|
{
|
||||||
|
GstRTSPMethod methods;
|
||||||
|
gchar **ostr;
|
||||||
|
gint i;
|
||||||
|
|
||||||
|
/* The string is like:
|
||||||
|
* OPTIONS, DESCRIBE, ANNOUNCE, PLAY, SETUP, ...
|
||||||
|
*/
|
||||||
|
ostr = g_strsplit (options, ",", 0);
|
||||||
|
|
||||||
|
methods = 0;
|
||||||
|
for (i = 0; ostr[i]; i++) {
|
||||||
|
gchar *stripped;
|
||||||
|
GstRTSPMethod method;
|
||||||
|
|
||||||
|
stripped = g_strstrip (ostr[i]);
|
||||||
|
method = gst_rtsp_find_method (stripped);
|
||||||
|
|
||||||
|
/* keep bitfield of supported methods */
|
||||||
|
if (method != GST_RTSP_INVALID)
|
||||||
|
methods |= method;
|
||||||
|
}
|
||||||
|
g_strfreev (ostr);
|
||||||
|
|
||||||
|
return methods;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gst_rtsp_header_allow_multiple:
|
* gst_rtsp_header_allow_multiple:
|
||||||
* @field: a #GstRTSPHeaderField
|
* @field: a #GstRTSPHeaderField
|
||||||
|
|
|
@ -399,6 +399,7 @@ const gchar* gst_rtsp_header_as_text (GstRTSPHeaderField field);
|
||||||
const gchar* gst_rtsp_status_as_text (GstRTSPStatusCode code);
|
const gchar* gst_rtsp_status_as_text (GstRTSPStatusCode code);
|
||||||
|
|
||||||
gchar* gst_rtsp_options_as_text (GstRTSPMethod options);
|
gchar* gst_rtsp_options_as_text (GstRTSPMethod options);
|
||||||
|
GstRTSPMethod gst_rtsp_options_from_text (const gchar *options);
|
||||||
|
|
||||||
GstRTSPHeaderField gst_rtsp_find_header_field (const gchar *header);
|
GstRTSPHeaderField gst_rtsp_find_header_field (const gchar *header);
|
||||||
GstRTSPMethod gst_rtsp_find_method (const gchar *method);
|
GstRTSPMethod gst_rtsp_find_method (const gchar *method);
|
||||||
|
|
Loading…
Reference in a new issue