mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-23 15:48:23 +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_status_as_text
|
||||
gst_rtsp_options_as_text
|
||||
gst_rtsp_options_from_text
|
||||
gst_rtsp_find_header_field
|
||||
gst_rtsp_find_method
|
||||
<SUBSECTION Standard>
|
||||
|
|
|
@ -465,6 +465,46 @@ gst_rtsp_options_as_text (GstRTSPMethod options)
|
|||
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:
|
||||
* @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);
|
||||
|
||||
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);
|
||||
GstRTSPMethod gst_rtsp_find_method (const gchar *method);
|
||||
|
|
Loading…
Reference in a new issue