mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-13 01:35:30 +00:00
srtobject: Store passphrase like other parameters
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1477>
This commit is contained in:
parent
d4ca8820e7
commit
1a8e2cf981
2 changed files with 7 additions and 11 deletions
|
@ -130,6 +130,7 @@ gst_srt_object_set_common_params (SRTSOCKET sock, GstSRTObject * srtobject,
|
||||||
GError ** error)
|
GError ** error)
|
||||||
{
|
{
|
||||||
struct srt_constant_params *params = srt_params;
|
struct srt_constant_params *params = srt_params;
|
||||||
|
const gchar *passphrase;
|
||||||
|
|
||||||
GST_OBJECT_LOCK (srtobject->element);
|
GST_OBJECT_LOCK (srtobject->element);
|
||||||
|
|
||||||
|
@ -142,11 +143,12 @@ gst_srt_object_set_common_params (SRTSOCKET sock, GstSRTObject * srtobject,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (srtobject->passphrase != NULL && srtobject->passphrase[0] != '\0') {
|
passphrase = gst_structure_get_string (srtobject->parameters, "passphrase");
|
||||||
|
if (passphrase != NULL && passphrase[0] != '\0') {
|
||||||
gint pbkeylen;
|
gint pbkeylen;
|
||||||
|
|
||||||
if (srt_setsockopt (sock, 0, SRTO_PASSPHRASE, srtobject->passphrase,
|
if (srt_setsockopt (sock, 0, SRTO_PASSPHRASE, passphrase,
|
||||||
strlen (srtobject->passphrase))) {
|
strlen (passphrase))) {
|
||||||
g_set_error (error, GST_LIBRARY_ERROR, GST_LIBRARY_ERROR_SETTINGS,
|
g_set_error (error, GST_LIBRARY_ERROR, GST_LIBRARY_ERROR_SETTINGS,
|
||||||
"failed to set passphrase (reason: %s)", srt_getlasterror_str ());
|
"failed to set passphrase (reason: %s)", srt_getlasterror_str ());
|
||||||
|
|
||||||
|
@ -244,8 +246,6 @@ gst_srt_object_destroy (GstSRTObject * srtobject)
|
||||||
GST_DEBUG_OBJECT (srtobject->element, "Destroying srtobject");
|
GST_DEBUG_OBJECT (srtobject->element, "Destroying srtobject");
|
||||||
gst_structure_free (srtobject->parameters);
|
gst_structure_free (srtobject->parameters);
|
||||||
|
|
||||||
g_free (srtobject->passphrase);
|
|
||||||
|
|
||||||
if (g_atomic_int_dec_and_test (&srt_init_refcount)) {
|
if (g_atomic_int_dec_and_test (&srt_init_refcount)) {
|
||||||
srt_cleanup ();
|
srt_cleanup ();
|
||||||
GST_DEBUG_OBJECT (srtobject->element, "Cleaning up SRT");
|
GST_DEBUG_OBJECT (srtobject->element, "Cleaning up SRT");
|
||||||
|
@ -282,8 +282,7 @@ gst_srt_object_set_property_helper (GstSRTObject * srtobject,
|
||||||
gst_structure_set_value (srtobject->parameters, "localport", value);
|
gst_structure_set_value (srtobject->parameters, "localport", value);
|
||||||
break;
|
break;
|
||||||
case PROP_PASSPHRASE:
|
case PROP_PASSPHRASE:
|
||||||
g_free (srtobject->passphrase);
|
gst_structure_set_value (srtobject->parameters, "passphrase", value);
|
||||||
srtobject->passphrase = g_value_dup_string (value);
|
|
||||||
break;
|
break;
|
||||||
case PROP_PBKEYLEN:
|
case PROP_PBKEYLEN:
|
||||||
gst_structure_set_value (srtobject->parameters, "pbkeylen", value);
|
gst_structure_set_value (srtobject->parameters, "pbkeylen", value);
|
||||||
|
@ -655,8 +654,7 @@ gst_srt_object_set_uri (GstSRTObject * srtobject, const gchar * uri,
|
||||||
} else if (!g_strcmp0 ("localport", key)) {
|
} else if (!g_strcmp0 ("localport", key)) {
|
||||||
gst_srt_object_set_uint_value (srtobject->parameters, key, value);
|
gst_srt_object_set_uint_value (srtobject->parameters, key, value);
|
||||||
} else if (!g_strcmp0 ("passphrase", key)) {
|
} else if (!g_strcmp0 ("passphrase", key)) {
|
||||||
g_free (srtobject->passphrase);
|
gst_srt_object_set_string_value (srtobject->parameters, key, value);
|
||||||
srtobject->passphrase = g_strdup (value);
|
|
||||||
} else if (!g_strcmp0 ("pbkeylen", key)) {
|
} else if (!g_strcmp0 ("pbkeylen", key)) {
|
||||||
gst_srt_object_set_enum_value (srtobject->parameters,
|
gst_srt_object_set_enum_value (srtobject->parameters,
|
||||||
GST_TYPE_SRT_KEY_LENGTH, key, value);
|
GST_TYPE_SRT_KEY_LENGTH, key, value);
|
||||||
|
|
|
@ -68,8 +68,6 @@ struct _GstSRTObject
|
||||||
|
|
||||||
GList *callers;
|
GList *callers;
|
||||||
|
|
||||||
gchar *passphrase;
|
|
||||||
|
|
||||||
gboolean wait_for_connection;
|
gboolean wait_for_connection;
|
||||||
|
|
||||||
guint64 previous_bytes;
|
guint64 previous_bytes;
|
||||||
|
|
Loading…
Reference in a new issue