pidgin/pidgin

Make VV libraries required

22 months ago, Elliott Sales de Andrade
2b1695327414
Parents 8026339f5ace
Children 565b31cc5238
Make VV libraries required

Testing Done:
Compiled, opened Prefs, enabled VV test pipelines and ensured they disabled when switching tabs.

Reviewed at https://reviews.imfreedom.org/r/1583/
--- a/finch/gntmedia.c Fri Aug 12 01:29:41 2022 -0500
+++ b/finch/gntmedia.c Fri Aug 12 01:32:07 2022 -0500
@@ -33,7 +33,6 @@
#include "libfinch.h"
/* An incredibly large part of the following is from gtkmedia.c */
-#ifdef USE_VV
#undef hangup
@@ -372,11 +371,8 @@
return PURPLE_CMD_RET_OK;
}
-#endif /* USE_VV */
-
void finch_media_manager_init(void)
{
-#ifdef USE_VV
PurpleMediaManager *manager = purple_media_manager_get();
PurpleMediaElementInfo *audio_src = NULL;
PurpleMediaElementInfo *audio_sink = NULL;
@@ -418,16 +414,11 @@
purple_debug_info("gntmedia", "Registering media element types\n");
purple_media_manager_set_active_element(manager, audio_src);
purple_media_manager_set_active_element(manager, audio_sink);
-#endif
}
void finch_media_manager_uninit(void)
{
-#ifdef USE_VV
PurpleMediaManager *manager = purple_media_manager_get();
g_signal_handlers_disconnect_by_func(G_OBJECT(manager),
G_CALLBACK(finch_new_media), NULL);
-#endif
}
-
-
--- a/finch/gntui.c Fri Aug 12 01:29:41 2022 -0500
+++ b/finch/gntui.c Fri Aug 12 01:32:07 2022 -0500
@@ -168,9 +168,7 @@
finch_roomlist_uninit();
purple_roomlist_set_ui_ops(NULL);
-#ifdef USE_VV
finch_media_manager_uninit();
-#endif
gnt_quit();
--- a/libpurple/media.c Fri Aug 12 01:29:41 2022 -0500
+++ b/libpurple/media.c Fri Aug 12 01:32:07 2022 -0500
@@ -29,7 +29,6 @@
#include "media-gst.h"
-#ifdef USE_VV
typedef struct _PurpleMediaSession PurpleMediaSession;
typedef struct _PurpleMediaStream PurpleMediaStream;
@@ -56,11 +55,9 @@
GList *active_local_candidates;
GList *active_remote_candidates;
};
-#endif
struct _PurpleMediaPrivate
{
-#ifdef USE_VV
PurpleMediaManager *manager;
PurpleAccount *account;
PurpleMediaBackend *backend;
@@ -71,12 +68,8 @@
GHashTable *sessions; /* PurpleMediaSession table */
GList *participants;
GList *streams; /* PurpleMediaStream table */
-#else
- gpointer dummy;
-#endif
};
-#ifdef USE_VV
static void purple_media_class_init (PurpleMediaClass *klass);
static void purple_media_init (PurpleMedia *media);
static void purple_media_dispose (GObject *object);
@@ -123,15 +116,7 @@
};
G_DEFINE_TYPE_WITH_PRIVATE(PurpleMedia, purple_media, G_TYPE_OBJECT);
-#else
-GType
-purple_media_get_type()
-{
- return G_TYPE_NONE;
-}
-#endif /* USE_VV */
-#ifdef USE_VV
static void
purple_media_class_init (PurpleMediaClass *klass)
{
@@ -482,21 +467,15 @@
stream = purple_media_get_stream(session->media, session->id, name);
stream->local_candidates = g_list_append(stream->local_candidates, candidate);
}
-#endif
GList *
purple_media_get_session_ids(PurpleMedia *media)
{
-#ifdef USE_VV
g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL);
return media->priv->sessions != NULL ?
g_hash_table_get_keys(media->priv->sessions) : NULL;
-#else
- return NULL;
-#endif
}
-#ifdef USE_VV
GstElement *
purple_media_get_src(PurpleMedia *media, const gchar *sess_id)
{
@@ -504,47 +483,35 @@
return NULL;
}
-#endif /* USE_VV */
PurpleAccount *
purple_media_get_account(PurpleMedia *media)
{
-#ifdef USE_VV
PurpleAccount *account;
g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL);
g_object_get(G_OBJECT(media), "account", &account, NULL);
return account;
-#else
- return NULL;
-#endif
}
gpointer
purple_media_get_protocol_data(PurpleMedia *media)
{
-#ifdef USE_VV
gpointer protocol_data;
g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL);
g_object_get(G_OBJECT(media), "protocol-data", &protocol_data, NULL);
return protocol_data;
-#else
- return NULL;
-#endif
}
void
purple_media_set_protocol_data(PurpleMedia *media, gpointer protocol_data)
{
-#ifdef USE_VV
g_return_if_fail(PURPLE_IS_MEDIA(media));
g_object_set(G_OBJECT(media), "protocol-data", protocol_data, NULL);
-#endif
}
void
purple_media_error(PurpleMedia *media, const gchar *error, ...)
{
-#ifdef USE_VV
va_list args;
gchar *message;
@@ -558,14 +525,12 @@
g_signal_emit(media, purple_media_signals[S_ERROR], 0, message);
g_free(message);
-#endif
}
void
purple_media_end(PurpleMedia *media,
const gchar *session_id, const gchar *participant)
{
-#ifdef USE_VV
GList *iter, *sessions = NULL, *participants = NULL;
g_return_if_fail(PURPLE_IS_MEDIA(media));
@@ -663,7 +628,6 @@
g_object_unref(media);
return;
}
-#endif
}
void
@@ -671,7 +635,6 @@
const gchar *session_id, const gchar *participant,
gboolean local)
{
-#ifdef USE_VV
g_return_if_fail(PURPLE_IS_MEDIA(media));
if (type == PURPLE_MEDIA_INFO_ACCEPT) {
@@ -830,36 +793,28 @@
g_signal_emit(media, purple_media_signals[STREAM_INFO],
0, type, session_id, participant, local);
-#endif
}
void
purple_media_set_params(PurpleMedia *media, GHashTable *params)
{
-#ifdef USE_VV
g_return_if_fail(PURPLE_IS_MEDIA(media));
purple_media_backend_set_params(media->priv->backend, params);
-#endif
}
const gchar **
purple_media_get_available_params(PurpleMedia *media)
{
static const gchar *NULL_ARRAY[] = { NULL };
-#ifdef USE_VV
g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL_ARRAY);
return purple_media_backend_get_available_params(media->priv->backend);
-#else
- return NULL_ARRAY;
-#endif
}
gboolean
purple_media_param_is_supported(PurpleMedia *media, const gchar *param)
{
-#ifdef USE_VV
const gchar **params;
g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE);
@@ -871,11 +826,10 @@
return TRUE;
}
}
-#endif
+
return FALSE;
}
-#ifdef USE_VV
static void
purple_media_new_local_candidate_cb(PurpleMediaBackend *backend,
const gchar *sess_id, const gchar *participant,
@@ -969,14 +923,12 @@
{
g_signal_emit(media, purple_media_signals[CODECS_CHANGED], 0, sess_id);
}
-#endif /* USE_VV */
gboolean
purple_media_add_stream(PurpleMedia *media, const gchar *sess_id,
const gchar *who, PurpleMediaSessionType type, gboolean initiator,
const gchar *transmitter, GHashTable *params)
{
-#ifdef USE_VV
PurpleMediaSession *session;
g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE);
@@ -1021,9 +973,6 @@
}
return TRUE;
-#else
- return FALSE;
-#endif /* USE_VV */
}
PurpleMediaManager *
@@ -1038,40 +987,29 @@
PurpleMediaSessionType
purple_media_get_session_type(PurpleMedia *media, const gchar *sess_id)
{
-#ifdef USE_VV
PurpleMediaSession *session;
g_return_val_if_fail(PURPLE_IS_MEDIA(media), PURPLE_MEDIA_NONE);
session = purple_media_get_session(media, sess_id);
return session->type;
-#else
- return PURPLE_MEDIA_NONE;
-#endif
}
+
/* XXX: Should wait until codecs-ready is TRUE before using this function */
GList *
purple_media_get_codecs(PurpleMedia *media, const gchar *sess_id)
{
-#ifdef USE_VV
g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL);
return purple_media_backend_get_codecs(media->priv->backend, sess_id);
-#else
- return NULL;
-#endif
}
GList *
purple_media_get_local_candidates(PurpleMedia *media, const gchar *sess_id,
const gchar *participant)
{
-#ifdef USE_VV
g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL);
return purple_media_backend_get_local_candidates(media->priv->backend,
sess_id, participant);
-#else
- return NULL;
-#endif
}
void
@@ -1079,7 +1017,6 @@
const gchar *participant,
GList *remote_candidates)
{
-#ifdef USE_VV
PurpleMediaStream *stream;
g_return_if_fail(PURPLE_IS_MEDIA(media));
@@ -1099,58 +1036,44 @@
purple_media_backend_add_remote_candidates(media->priv->backend,
sess_id, participant, remote_candidates);
-#endif
}
GList *
purple_media_get_active_local_candidates(PurpleMedia *media,
const gchar *sess_id, const gchar *participant)
{
-#ifdef USE_VV
PurpleMediaStream *stream;
g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL);
stream = purple_media_get_stream(media, sess_id, participant);
return purple_media_candidate_list_copy(
stream->active_local_candidates);
-#else
- return NULL;
-#endif
}
GList *
purple_media_get_active_remote_candidates(PurpleMedia *media,
const gchar *sess_id, const gchar *participant)
{
-#ifdef USE_VV
PurpleMediaStream *stream;
g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL);
stream = purple_media_get_stream(media, sess_id, participant);
return purple_media_candidate_list_copy(
stream->active_remote_candidates);
-#else
- return NULL;
-#endif
}
gboolean
purple_media_set_remote_codecs(PurpleMedia *media, const gchar *sess_id,
const gchar *participant, GList *codecs)
{
-#ifdef USE_VV
g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE);
return purple_media_backend_set_remote_codecs(media->priv->backend,
sess_id, participant, codecs);
-#else
- return FALSE;
-#endif
}
gboolean
purple_media_candidates_prepared(PurpleMedia *media,
const gchar *session_id, const gchar *participant)
{
-#ifdef USE_VV
GList *streams;
gboolean prepared = TRUE;
@@ -1168,22 +1091,15 @@
}
return prepared;
-#else
- return FALSE;
-#endif
}
gboolean
purple_media_set_send_codec(PurpleMedia *media, const gchar *sess_id, PurpleMediaCodec *codec)
{
-#ifdef USE_VV
g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE);
return purple_media_backend_set_send_codec(
media->priv->backend, sess_id, codec);
-#else
- return FALSE;
-#endif
}
gboolean
@@ -1191,13 +1107,9 @@
const gchar *cipher, const gchar *auth,
const gchar *key, gsize key_len)
{
-#ifdef USE_VV
g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE);
return purple_media_backend_set_encryption_parameters(media->priv->backend,
sess_id, cipher, auth, key, key_len);
-#else
- return FALSE;
-#endif
}
gboolean
@@ -1205,60 +1117,43 @@
const gchar *participant, const gchar *cipher,
const gchar *auth, const gchar *key, gsize key_len)
{
-#ifdef USE_VV
g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE);
return purple_media_backend_set_decryption_parameters(media->priv->backend,
sess_id, participant, cipher, auth, key, key_len);
-#else
- return FALSE;
-#endif
}
gboolean
purple_media_set_require_encryption(PurpleMedia *media, const gchar *sess_id,
const gchar *participant, gboolean require_encryption)
{
-#ifdef USE_VV
g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE);
return purple_media_backend_set_require_encryption(media->priv->backend,
sess_id, participant, require_encryption);
-#else
- return FALSE;
-#endif
}
gboolean
purple_media_codecs_ready(PurpleMedia *media, const gchar *sess_id)
{
-#ifdef USE_VV
g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE);
return purple_media_backend_codecs_ready(
media->priv->backend, sess_id);
-#else
- return FALSE;
-#endif
}
gboolean
purple_media_set_send_rtcp_mux(PurpleMedia *media, const gchar *sess_id,
const gchar *participant, gboolean send_rtcp_mux)
{
-#ifdef USE_VV
g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE);
return purple_media_backend_set_send_rtcp_mux(media->priv->backend,
sess_id, participant, send_rtcp_mux);
-#else
- return FALSE;
-#endif
}
gboolean
purple_media_is_initiator(PurpleMedia *media,
const gchar *sess_id, const gchar *participant)
{
-#ifdef USE_VV
g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE);
if (sess_id == NULL && participant == NULL)
@@ -1272,7 +1167,7 @@
media, sess_id, participant);
return stream != NULL ? stream->initiator : FALSE;
}
-#endif
+
return FALSE;
}
@@ -1280,7 +1175,6 @@
purple_media_accepted(PurpleMedia *media, const gchar *sess_id,
const gchar *participant)
{
-#ifdef USE_VV
gboolean accepted = TRUE;
g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE);
@@ -1314,46 +1208,34 @@
}
return accepted;
-#else
- return FALSE;
-#endif
}
void purple_media_set_input_volume(PurpleMedia *media,
const gchar *session_id, double level)
{
-#ifdef USE_VV
g_return_if_fail(PURPLE_IS_MEDIA(media));
-#endif
}
void purple_media_set_output_volume(PurpleMedia *media,
const gchar *session_id, const gchar *participant,
double level)
{
-#ifdef USE_VV
g_return_if_fail(PURPLE_IS_MEDIA(media));
-#endif
}
gulong
purple_media_set_output_window(PurpleMedia *media, const gchar *session_id,
const gchar *participant)
{
-#ifdef USE_VV
g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE);
return purple_media_manager_set_output_window(media->priv->manager,
media, session_id, participant);
-#else
- return 0;
-#endif
}
void
purple_media_remove_output_windows(PurpleMedia *media)
{
-#ifdef USE_VV
GList *iter = media->priv->streams;
for (; iter; iter = g_list_next(iter)) {
PurpleMediaStream *stream = iter->data;
@@ -1369,10 +1251,8 @@
media->priv->manager, media,
session_name, NULL);
}
-#endif
}
-#ifdef USE_VV
GstElement *
purple_media_get_tee(PurpleMedia *media,
const gchar *session_id, const gchar *participant)
@@ -1381,13 +1261,11 @@
return NULL;
}
-#endif /* USE_VV */
gboolean
purple_media_send_dtmf(PurpleMedia *media, const gchar *session_id,
gchar dtmf, guint8 volume, guint16 duration)
{
-#ifdef USE_VV
PurpleMediaBackendInterface *backend_iface = NULL;
if (media) {
@@ -1412,6 +1290,6 @@
{
return TRUE;
}
-#endif
+
return FALSE;
}
--- a/libpurple/media.h Fri Aug 12 01:29:41 2022 -0500
+++ b/libpurple/media.h Fri Aug 12 01:32:07 2022 -0500
@@ -45,8 +45,6 @@
#include "signals.h"
#include "util.h"
-#ifdef USE_VV
-
typedef struct _PurpleMediaClass PurpleMediaClass;
typedef struct _PurpleMediaPrivate PurpleMediaPrivate;
@@ -79,8 +77,6 @@
void (*purple_reserved4)(void);
};
-#endif
-
G_BEGIN_DECLS
/**
--- a/libpurple/media/backend-iface.c Fri Aug 12 01:29:41 2022 -0500
+++ b/libpurple/media/backend-iface.c Fri Aug 12 01:32:07 2022 -0500
@@ -44,7 +44,7 @@
}
g_object_interface_install_property(iface,
- g_param_spec_string("conference-type",
+ g_param_spec_string("conference-type",
"Conference Type",
"The type of conference that this backend "
"has been created to provide.",
@@ -52,16 +52,10 @@
G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_object_interface_install_property(iface,
-#ifdef USE_VV
- g_param_spec_object(
-#else
- g_param_spec_pointer(
-#endif
+ g_param_spec_object(
"media", "Purple Media",
"The media object that this backend is bound to.",
-#ifdef USE_VV
PURPLE_TYPE_MEDIA,
-#endif
G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
purple_media_backend_signals[S_ERROR] =
--- a/libpurple/mediamanager.c Fri Aug 12 01:29:41 2022 -0500
+++ b/libpurple/mediamanager.c Fri Aug 12 01:32:07 2022 -0500
@@ -32,12 +32,7 @@
#include "media-gst.h"
-#ifdef USE_VV
-#include <gst/video/videooverlay.h>
-#ifdef HAVE_MEDIA_APPLICATION
#include <gst/app/app.h>
-#endif
-#endif /* USE_VV */
typedef struct _PurpleMediaOutputWindow PurpleMediaOutputWindow;
typedef struct _PurpleMediaElementInfoPrivate PurpleMediaElementInfoPrivate;
@@ -70,12 +65,10 @@
GstDeviceMonitor *device_monitor;
-#ifdef HAVE_MEDIA_APPLICATION
/* Application data streams */
GList *appdata_info; /* holds PurpleMediaAppDataInfo */
GMutex appdata_mutex;
guint appdata_cb_token; /* last used read/write callback token */
-#endif
} PurpleMediaManagerPrivate;
/**
@@ -91,7 +84,6 @@
PurpleMediaManagerPrivate *priv;
};
-#ifdef HAVE_MEDIA_APPLICATION
typedef struct {
PurpleMedia *media;
GWeakRef media_ref;
@@ -113,13 +105,9 @@
guint readable_timer_id;
GCond readable_cond;
} PurpleMediaAppDataInfo;
-#endif
-#ifdef USE_VV
static void purple_media_manager_finalize (GObject *object);
-#ifdef HAVE_MEDIA_APPLICATION
static void free_appdata_info_locked (PurpleMediaAppDataInfo *info);
-#endif
static void purple_media_manager_init_device_monitor(PurpleMediaManager *manager);
static void purple_media_manager_register_static_elements(PurpleMediaManager *manager);
@@ -135,15 +123,7 @@
G_DEFINE_TYPE_WITH_PRIVATE(PurpleMediaManager, purple_media_manager,
G_TYPE_OBJECT);
-#else
-GType
-purple_media_manager_get_type()
-{
- return G_TYPE_NONE;
-}
-#endif /* USE_VV */
-#ifdef USE_VV
static void
purple_media_manager_class_init (PurpleMediaManagerClass *klass)
{
@@ -190,10 +170,8 @@
media->priv->medias = NULL;
media->priv->private_medias = NULL;
media->priv->next_output_window_id = 1;
-#ifdef HAVE_MEDIA_APPLICATION
media->priv->appdata_info = NULL;
g_mutex_init (&media->priv->appdata_mutex);
-#endif
if (gst_init_check(NULL, NULL, &error)) {
purple_media_manager_register_static_elements(media);
purple_media_manager_init_device_monitor(media);
@@ -225,13 +203,11 @@
g_list_free_full(priv->private_medias, g_object_unref);
g_list_free_full(priv->elements, g_object_unref);
g_clear_pointer(&priv->video_caps, gst_caps_unref);
-#ifdef HAVE_MEDIA_APPLICATION
if (priv->appdata_info) {
g_list_free_full(priv->appdata_info,
(GDestroyNotify)free_appdata_info_locked);
}
g_mutex_clear (&priv->appdata_mutex);
-#endif
if (priv->device_monitor) {
gst_device_monitor_stop(priv->device_monitor);
g_object_unref(priv->device_monitor);
@@ -239,12 +215,10 @@
G_OBJECT_CLASS(purple_media_manager_parent_class)->finalize(media);
}
-#endif
PurpleMediaManager *
purple_media_manager_get()
{
-#ifdef USE_VV
static PurpleMediaManager *manager = NULL;
if (manager == NULL) {
@@ -252,12 +226,8 @@
}
return manager;
-#else
- return NULL;
-#endif
}
-#ifdef USE_VV
static gboolean
pipeline_bus_call(GstBus *bus, GstMessage *msg, PurpleMediaManager *manager)
{
@@ -286,9 +256,7 @@
}
return TRUE;
}
-#endif
-#ifdef USE_VV
GstElement *
purple_media_manager_get_pipeline(PurpleMediaManager *manager)
{
@@ -312,7 +280,6 @@
return manager->priv->pipeline;
}
-#endif /* USE_VV */
static PurpleMedia *
create_media(PurpleMediaManager *manager,
@@ -322,7 +289,6 @@
gboolean initiator,
gboolean private)
{
-#ifdef USE_VV
PurpleMedia *media;
guint signal_id;
@@ -356,30 +322,22 @@
}
return media;
-#else
- return NULL;
-#endif
}
static GList *
get_media(PurpleMediaManager *manager, gboolean private)
{
-#ifdef USE_VV
if (private) {
return manager->priv->private_medias;
} else {
return manager->priv->medias;
}
-#else
- return NULL;
-#endif
}
static GList *
get_media_by_account(PurpleMediaManager *manager,
PurpleAccount *account, gboolean private)
{
-#ifdef USE_VV
GList *media = NULL;
GList *iter;
PurpleAccount *media_account;
@@ -400,15 +358,11 @@
}
return media;
-#else
- return NULL;
-#endif
}
void
purple_media_manager_remove_media(PurpleMediaManager *manager, PurpleMedia *media)
{
-#ifdef USE_VV
GList *list;
GList **medias = NULL;
@@ -423,7 +377,6 @@
if (list) {
*medias = g_list_delete_link(*medias, list);
-#ifdef HAVE_MEDIA_APPLICATION
g_mutex_lock (&manager->priv->appdata_mutex);
list = manager->priv->appdata_info;
while (list) {
@@ -439,9 +392,7 @@
list = next;
}
g_mutex_unlock (&manager->priv->appdata_mutex);
-#endif
}
-#endif
}
PurpleMedia *
@@ -492,7 +443,6 @@
return get_media_by_account (manager, account, TRUE);
}
-#ifdef HAVE_MEDIA_APPLICATION
static void
free_appdata_info_locked (PurpleMediaAppDataInfo *info)
{
@@ -594,10 +544,8 @@
return info;
}
-#endif
-#ifdef USE_VV
static void
request_pad_unlinked_cb(GstPad *pad, GstPad *peer, gpointer user_data)
{
@@ -666,9 +614,7 @@
return manager->priv->video_caps;
}
-#endif /* USE_VV */
-#ifdef HAVE_MEDIA_APPLICATION
/*
* Calls the appdata writable callback from the main thread.
* This needs to grab the appdata lock and make sure it didn't get destroyed
@@ -1008,15 +954,12 @@
g_mutex_unlock (&manager->priv->appdata_mutex);
return appsink;
}
-#endif /* HAVE_MEDIA_APPLICATION */
-#ifdef USE_VV
static PurpleMediaElementInfo *
get_send_application_element_info ()
{
static PurpleMediaElementInfo *info = NULL;
-#ifdef HAVE_MEDIA_APPLICATION
if (info == NULL) {
info = g_object_new(PURPLE_TYPE_MEDIA_ELEMENT_INFO,
"id", "pidginappsrc",
@@ -1026,7 +969,6 @@
| PURPLE_MEDIA_ELEMENT_ONE_SRC,
"create-cb", create_send_appsrc, NULL);
}
-#endif
return info;
}
@@ -1036,7 +978,6 @@
{
static PurpleMediaElementInfo *info = NULL;
-#ifdef HAVE_MEDIA_APPLICATION
if (info == NULL) {
info = g_object_new(PURPLE_TYPE_MEDIA_ELEMENT_INFO,
"id", "pidginappsink",
@@ -1046,7 +987,6 @@
| PURPLE_MEDIA_ELEMENT_ONE_SINK,
"create-cb", create_recv_appsink, NULL);
}
-#endif
return info;
}
@@ -1367,14 +1307,12 @@
return NULL;
}
-#endif
gboolean
purple_media_manager_create_output_window(PurpleMediaManager *manager,
PurpleMedia *media, const gchar *session_id,
const gchar *participant)
{
-#ifdef USE_VV
GList *iter;
g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE);
@@ -1430,9 +1368,6 @@
}
}
return TRUE;
-#else
- return FALSE;
-#endif
}
gulong
@@ -1440,7 +1375,6 @@
PurpleMedia *media, const gchar *session_id,
const gchar *participant)
{
-#ifdef USE_VV
PurpleMediaOutputWindow *output_window;
g_return_val_if_fail(PURPLE_IS_MEDIA_MANAGER(manager), FALSE);
@@ -1461,16 +1395,12 @@
}
return output_window->id;
-#else
- return 0;
-#endif
}
gboolean
purple_media_manager_remove_output_window(PurpleMediaManager *manager,
gulong output_window_id)
{
-#ifdef USE_VV
PurpleMediaOutputWindow *output_window = NULL;
GList *iter;
@@ -1546,9 +1476,6 @@
g_free(output_window);
return TRUE;
-#else
- return FALSE;
-#endif
}
void
@@ -1556,7 +1483,6 @@
PurpleMedia *media, const gchar *session_id,
const gchar *participant)
{
-#ifdef USE_VV
GList *iter;
g_return_if_fail(PURPLE_IS_MEDIA(media));
@@ -1575,14 +1501,12 @@
manager, ow->id);
}
}
-#endif
}
void
purple_media_manager_set_ui_caps(PurpleMediaManager *manager,
PurpleMediaCaps caps)
{
-#ifdef USE_VV
PurpleMediaCaps oldcaps;
g_return_if_fail(PURPLE_IS_MEDIA_MANAGER(manager));
@@ -1595,43 +1519,32 @@
purple_media_manager_signals[UI_CAPS_CHANGED],
0, caps, oldcaps);
}
-#endif
}
PurpleMediaCaps
purple_media_manager_get_ui_caps(PurpleMediaManager *manager)
{
-#ifdef USE_VV
g_return_val_if_fail(PURPLE_IS_MEDIA_MANAGER(manager),
PURPLE_MEDIA_CAPS_NONE);
return manager->priv->ui_caps;
-#else
- return PURPLE_MEDIA_CAPS_NONE;
-#endif
}
void
purple_media_manager_set_backend_type(PurpleMediaManager *manager,
GType backend_type)
{
-#ifdef USE_VV
g_return_if_fail(PURPLE_IS_MEDIA_MANAGER(manager));
manager->priv->backend_type = backend_type;
-#endif
}
GType
purple_media_manager_get_backend_type(PurpleMediaManager *manager)
{
-#ifdef USE_VV
g_return_val_if_fail(PURPLE_IS_MEDIA_MANAGER(manager),
PURPLE_MEDIA_CAPS_NONE);
return manager->priv->backend_type;
-#else
- return G_TYPE_NONE;
-#endif
}
void
@@ -1640,7 +1553,6 @@
const gchar *participant, PurpleMediaAppDataCallbacks *callbacks,
gpointer user_data, GDestroyNotify notify)
{
-#ifdef HAVE_MEDIA_APPLICATION
PurpleMediaAppDataInfo * info = ensure_app_data_info_and_lock (manager,
media, session_id, participant);
@@ -1673,7 +1585,6 @@
}
g_mutex_unlock (&manager->priv->appdata_mutex);
-#endif
}
gint
@@ -1681,7 +1592,6 @@
PurpleMediaManager *manager, PurpleMedia *media, const gchar *session_id,
const gchar *participant, gpointer buffer, guint size, gboolean blocking)
{
-#ifdef HAVE_MEDIA_APPLICATION
PurpleMediaAppDataInfo * info = get_app_data_info_and_lock (manager,
media, session_id, participant);
@@ -1711,9 +1621,6 @@
}
g_mutex_unlock (&manager->priv->appdata_mutex);
return -1;
-#else
- return -1;
-#endif
}
gint
@@ -1722,7 +1629,6 @@
const gchar *participant, gpointer buffer, guint max_size,
gboolean blocking)
{
-#ifdef HAVE_MEDIA_APPLICATION
PurpleMediaAppDataInfo * info = get_app_data_info_and_lock (manager,
media, session_id, participant);
guint bytes_read = 0;
@@ -1798,13 +1704,8 @@
}
g_mutex_unlock (&manager->priv->appdata_mutex);
return -1;
-#else
- return -1;
-#endif
}
-#ifdef USE_VV
-
static void
videosink_disable_last_sample(GstElement *sink)
{
@@ -2289,7 +2190,6 @@
}
return type;
}
-#endif /* USE_VV */
/*
* PurpleMediaElementInfo
@@ -2305,7 +2205,6 @@
GObject parent;
};
-#ifdef USE_VV
struct _PurpleMediaElementInfoPrivate
{
gchar *id;
@@ -2493,4 +2392,3 @@
}
return NULL;
}
-#endif /* USE_VV */
--- a/libpurple/meson.build Fri Aug 12 01:29:41 2022 -0500
+++ b/libpurple/meson.build Fri Aug 12 01:32:07 2022 -0500
@@ -125,6 +125,7 @@
'image.h',
'image-store.h',
'media.h',
+ 'media-gst.h',
'mediamanager.h',
'memorypool.h',
'nat-pmp.h',
@@ -214,10 +215,6 @@
purple_filebase = 'purple-@0@'.format(purple_major_version)
purple_include_base = purple_filebase / 'libpurple'
-if enable_vv
- purple_coreheaders += 'media-gst.h'
-endif
-
if IS_WIN32
purple_coresources += [
'win32/libc_interface.c',
@@ -311,7 +308,7 @@
version : PURPLE_LIB_VERSION,
dependencies : # static_link_libs
[dnsapi, ws2_32, glib, gio, gplugin_dep, libsoup,
- libxml, gdk_pixbuf, gstreamer, gstreamer_video,
+ libxml, gdk_pixbuf, gstreamer,
gstreamer_app, json, sqlite3, math])
install_headers(purple_coreheaders,
--- a/libpurple/protocols.c Fri Aug 12 01:29:41 2022 -0500
+++ b/libpurple/protocols.c Fri Aug 12 01:32:07 2022 -0500
@@ -354,7 +354,6 @@
const char *who,
PurpleMediaSessionType type)
{
-#ifdef USE_VV
PurpleConnection *gc = NULL;
PurpleProtocol *protocol = NULL;
@@ -373,15 +372,11 @@
} else {
return FALSE;
}
-#else
- return FALSE;
-#endif
}
PurpleMediaCaps
purple_protocol_get_media_caps(PurpleAccount *account, const char *who)
{
-#ifdef USE_VV
PurpleConnection *gc = NULL;
PurpleProtocol *protocol = NULL;
@@ -398,15 +393,11 @@
} else {
return PURPLE_MEDIA_CAPS_NONE;
}
-#else
- return PURPLE_MEDIA_CAPS_NONE;
-#endif
}
void
purple_protocol_got_media_caps(PurpleAccount *account, const char *name)
{
-#ifdef USE_VV
GSList *list;
g_return_if_fail(account != NULL);
@@ -433,6 +424,4 @@
"buddy-caps-changed", buddy,
newcaps, oldcaps);
}
-#endif
}
-
--- a/libpurple/protocols/jabber/jabber.c Fri Aug 12 01:29:41 2022 -0500
+++ b/libpurple/protocols/jabber/jabber.c Fri Aug 12 01:32:07 2022 -0500
@@ -3047,7 +3047,6 @@
return TRUE;
}
-#ifdef USE_VV
gboolean
jabber_audio_enabled(JabberStream *js, const char *namespace)
{
@@ -3095,13 +3094,11 @@
g_free(request->who);
g_free(request);
}
-#endif
gboolean
jabber_initiate_media(PurpleProtocolMedia *media, PurpleAccount *account,
const gchar *who, PurpleMediaSessionType type)
{
-#ifdef USE_VV
PurpleConnection *gc = purple_account_get_connection(account);
JabberStream *js = purple_connection_get_protocol_data(gc);
JabberBuddy *jb;
@@ -3235,7 +3232,7 @@
g_free(msg);
return TRUE;
}
-#endif
+
return FALSE;
}
@@ -3243,7 +3240,6 @@
jabber_get_media_caps(PurpleProtocolMedia *media, PurpleAccount *account,
const gchar *who)
{
-#ifdef USE_VV
PurpleConnection *gc = purple_account_get_connection(account);
JabberStream *js = purple_connection_get_protocol_data(gc);
JabberBuddy *jb;
@@ -3321,9 +3317,6 @@
}
return total;
-#else
- return PURPLE_MEDIA_CAPS_NONE;
-#endif
}
gboolean jabber_can_receive_file(PurpleProtocolXfer *prplxfer, PurpleConnection *gc, const char *who)
@@ -3705,7 +3698,6 @@
/* Jingle features! */
jabber_add_feature(JINGLE, NULL);
-#ifdef USE_VV
jabber_add_feature(JINGLE_APP_RTP, NULL);
jabber_add_feature(JINGLE_APP_RTP_SUPPORT_AUDIO, jabber_audio_enabled);
jabber_add_feature(JINGLE_APP_RTP_SUPPORT_VIDEO, jabber_video_enabled);
@@ -3714,7 +3706,6 @@
g_signal_connect(G_OBJECT(purple_media_manager_get()), "ui-caps-changed",
G_CALLBACK(jabber_caps_broadcast_change), NULL);
-#endif
/* reverse order of unload_plugin */
jabber_iq_init();
@@ -3747,10 +3738,8 @@
jabber_presence_uninit();
jabber_iq_uninit();
-#ifdef USE_VV
g_signal_handlers_disconnect_by_func(G_OBJECT(purple_media_manager_get()),
G_CALLBACK(jabber_caps_broadcast_change), NULL);
-#endif
jabber_auth_uninit();
g_list_free_full(jabber_features, (GDestroyNotify)jabber_feature_free);
@@ -4056,9 +4045,7 @@
jingle_rawudp_register(plugin);
jingle_content_register(plugin);
-#ifdef USE_VV
jingle_rtp_register(plugin);
-#endif
jabber_protocol_register_type(G_TYPE_MODULE(plugin));
--- a/libpurple/protocols/jabber/jabber.h Fri Aug 12 01:29:41 2022 -0500
+++ b/libpurple/protocols/jabber/jabber.h Fri Aug 12 01:32:07 2022 -0500
@@ -253,7 +253,6 @@
/* keep a hash table of JingleSessions */
GHashTable *sessions;
- /* maybe this should only be present when USE_VV? */
gchar *stun_ip;
int stun_port;
};
--- a/libpurple/protocols/jabber/jingle/jingle.c Fri Aug 12 01:29:41 2022 -0500
+++ b/libpurple/protocols/jabber/jingle/jingle.c Fri Aug 12 01:32:07 2022 -0500
@@ -33,9 +33,7 @@
#include "rtp.h"
#include <string.h>
-#ifdef USE_VV
#include <gst/gst.h>
-#endif
GType
jingle_get_type(const gchar *type)
@@ -47,10 +45,8 @@
return JINGLE_TYPE_RAWUDP;
else if (purple_strequal(type, JINGLE_TRANSPORT_ICEUDP))
return JINGLE_TYPE_ICEUDP;
-#ifdef USE_VV
else if (purple_strequal(type, JINGLE_APP_RTP))
return JINGLE_TYPE_RTP;
-#endif
else
return G_TYPE_NONE;
}
@@ -432,7 +428,6 @@
}
}
-#ifdef USE_VV
static void
jingle_create_relay_info(const gchar *ip, guint port, const gchar *username,
const gchar *password, const gchar *relay_type, GPtrArray *relay_info)
@@ -518,5 +513,3 @@
return params;
}
-#endif
-
--- a/libpurple/protocols/jabber/jingle/jingle.h Fri Aug 12 01:29:41 2022 -0500
+++ b/libpurple/protocols/jabber/jingle/jingle.h Fri Aug 12 01:32:07 2022 -0500
@@ -74,12 +74,10 @@
void jingle_terminate_sessions(JabberStream *js);
-#ifdef USE_VV
/* create a parameter array given autoconfigured STUN (and later perhaps TURN). */
GHashTable *jingle_get_params(JabberStream *js, const gchar *relay_ip,
guint relay_udp, guint relay_tcp, guint relay_ssltcp,
const gchar *relay_username, const gchar *relay_password);
-#endif
G_END_DECLS
--- a/libpurple/protocols/jabber/jingle/rtp.c Fri Aug 12 01:29:41 2022 -0500
+++ b/libpurple/protocols/jabber/jingle/rtp.c Fri Aug 12 01:32:07 2022 -0500
@@ -24,8 +24,6 @@
#include <config.h>
-#ifdef USE_VV
-
#include <glib/gi18n-lib.h>
#include <purple.h>
@@ -930,5 +928,3 @@
}
}
}
-
-#endif /* USE_VV */
--- a/libpurple/protocols/jabber/jingle/rtp.h Fri Aug 12 01:29:41 2022 -0500
+++ b/libpurple/protocols/jabber/jingle/rtp.h Fri Aug 12 01:32:07 2022 -0500
@@ -27,8 +27,6 @@
#include "config.h"
-#ifdef USE_VV
-
#include <glib.h>
#include <glib-object.h>
@@ -63,7 +61,5 @@
G_END_DECLS
-#endif /* USE_VV */
-
#endif /* PURPLE_JABBER_JINGLE_RTP_H */
--- a/meson.build Fri Aug 12 01:29:41 2022 -0500
+++ b/meson.build Fri Aug 12 01:32:07 2022 -0500
@@ -322,46 +322,9 @@
gstreamer = dependency('gstreamer-1.0', version : '>=1.14')
#######################################################################
-# Check for GStreamer Video
-#######################################################################
-gstreamer_video = dependency('gstreamer-video-1.0',
- required : get_option('gstreamer-video'))
-conf.set('USE_GSTVIDEO', gstreamer_video.found())
-
-#######################################################################
-# Check for Voice and Video support
-#######################################################################
-if get_option('vv').enabled() or get_option('vv').auto()
- if gstreamer_video.found()
- conf.set('USE_VV', true)
- enable_vv = true
- else
- if get_option('vv').enabled()
- error('''
-Dependencies for voice/video were not met.
-Install the necessary gstreamer packages first.
-Or use -Dvv=disabled if you do not need voice/video support.
- ''')
- endif
- enable_vv = false
- endif
-else
- enable_vv = false
-endif
-
-#######################################################################
# Check for Raw data streams support in Farstream
#######################################################################
-if enable_vv
- gstreamer_app = dependency('gstreamer-app-1.0',
- required : false)
- if gstreamer_app.found()
- conf.set('USE_GSTAPP', true)
- conf.set('HAVE_MEDIA_APPLICATION', true)
- endif
-else
- gstreamer_app = []
-endif
+gstreamer_app = dependency('gstreamer-app-1.0')
#######################################################################
# Check for Meanwhile headers (for Sametime)
@@ -707,7 +670,6 @@
summary({
'GTK': get_option('gtkui'),
'console': enable_consoleui,
- 'Voice and Video': enable_vv,
'X11 support': x11.found(),
}, section: 'User Interfaces', bool_yn: true)
--- a/meson_options.txt Fri Aug 12 01:29:41 2022 -0500
+++ b/meson_options.txt Fri Aug 12 01:32:07 2022 -0500
@@ -19,18 +19,12 @@
##############################################################################
# Libpurple Options
-option('gstreamer-video', type : 'feature',
- description : 'compile with GStreamer 1.0 Video Overlay support')
-
option('kwallet', type : 'feature',
description : 'enable KWallet support')
option('libsecret', type : 'feature',
description : 'enable libsecret support')
-option('vv', type : 'feature',
- description : 'compile with voice and video support')
-
option('soup3', type : 'boolean', value : false,
description : 'compile against libsoup3')
--- a/pidgin/gtkaccount.c Fri Aug 12 01:29:41 2022 -0500
+++ b/pidgin/gtkaccount.c Fri Aug 12 01:32:07 2022 -0500
@@ -876,7 +876,6 @@
static void
add_voice_options(AccountPrefsDialog *dialog)
{
-#ifdef USE_VV
if (!dialog->protocol || !PURPLE_PROTOCOL_IMPLEMENTS(dialog->protocol, MEDIA, initiate_session)) {
if (dialog->voice_frame) {
gtk_widget_destroy(dialog->voice_frame);
@@ -906,7 +905,6 @@
} else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->suppression_check), FALSE);
}
-#endif
}
static gboolean
--- a/pidgin/gtkblist.c Fri Aug 12 01:29:41 2022 -0500
+++ b/pidgin/gtkblist.c Fri Aug 12 01:32:07 2022 -0500
@@ -406,7 +406,6 @@
g_simple_action_set_state(action, state);
}
-#ifdef USE_VV
static void
pidgin_blist_menu_audio_call_cb(G_GNUC_UNUSED GSimpleAction *action,
G_GNUC_UNUSED GVariant *parameter,
@@ -419,7 +418,6 @@
purple_buddy_get_name(buddy),
PURPLE_MEDIA_AUDIO);
}
-#endif /* USE_VV */
static void
pidgin_blist_menu_block_cb(GSimpleAction *action, GVariant *state,
@@ -612,7 +610,6 @@
gtk_native_dialog_show(GTK_NATIVE_DIALOG(win));
}
-#ifdef USE_VV
static void
pidgin_blist_menu_video_call_cb(G_GNUC_UNUSED GSimpleAction *action,
G_GNUC_UNUSED GVariant *parameter,
@@ -638,7 +635,6 @@
purple_protocol_initiate_media(account, buddy_name, PURPLE_MEDIA_VIDEO);
}
}
-#endif
static GActionEntry menu_actions[] = {
{
@@ -655,11 +651,9 @@
.activate = pidgin_blist_toggle_action,
.state = "false",
.change_state = pidgin_blist_menu_autojoin_cb,
-#ifdef USE_VV
}, {
.name = "buddy-audio-call",
.activate = pidgin_blist_menu_audio_call_cb,
-#endif /* USE_VV */
}, {
.name = "buddy-block",
.activate = pidgin_blist_toggle_action,
@@ -674,11 +668,9 @@
}, {
.name = "buddy-send-file",
.activate = pidgin_blist_menu_send_file_cb,
-#ifdef USE_VV
}, {
.name = "buddy-video-call",
.activate = pidgin_blist_menu_video_call_cb,
-#endif /* USE_VV */
}, {
.name = "chat-settings",
.activate = pidgin_blist_menu_chat_settings_cb,
@@ -1627,7 +1619,6 @@
g_simple_action_set_enabled(G_SIMPLE_ACTION(action), enabled);
-#ifdef USE_VV
if(protocol != NULL &&
PURPLE_PROTOCOL_IMPLEMENTS(protocol, MEDIA, get_caps))
{
@@ -1646,7 +1637,6 @@
(caps & PURPLE_MEDIA_CAPS_VIDEO);
g_simple_action_set_enabled(G_SIMPLE_ACTION(action), enabled);
}
-#endif /* USE_VV */
/* Set the proper state of the block action. */
action = g_action_map_lookup_action(action_map, "buddy-block");
@@ -3215,12 +3205,10 @@
target = gtk_application_get_menu_by_id(application, "buddy-custom-icon");
g_menu_append_section(target, NULL, G_MENU_MODEL(source));
-#ifdef USE_VV
/* Add the voice and video menu to the buddy menu. */
source = gtk_application_get_menu_by_id(application, "voice-video");
target = gtk_application_get_menu_by_id(application, "buddy-voice-video");
g_menu_append_section(target, NULL, G_MENU_MODEL(source));
-#endif /* USE_VV */
}
static void pidgin_blist_show(PurpleBuddyList *list)
--- a/pidgin/gtkconv.c Fri Aug 12 01:29:41 2022 -0500
+++ b/pidgin/gtkconv.c Fri Aug 12 01:32:07 2022 -0500
@@ -343,7 +343,6 @@
pidgin_request_add_permit(account, purple_conversation_get_name(conv));
}
-#ifdef USE_VV
static void
menu_initiate_media_call_cb(GtkAction *action, gpointer data)
{
@@ -360,7 +359,6 @@
PURPLE_MEDIA_VIDEO : PURPLE_MEDIA_NONE);
#endif
}
-#endif
static void
menu_block_cb(GtkAction *action, gpointer data)
@@ -997,12 +995,10 @@
/* Conversation menu */
{ "ConversationMenu", NULL, N_("_Conversation"), NULL, NULL, NULL },
-#ifdef USE_VV
{ "MediaMenu", NULL, N_("M_edia"), NULL, NULL, NULL },
{ "AudioCall", NULL, N_("_Audio Call"), NULL, NULL, G_CALLBACK(menu_initiate_media_call_cb) },
{ "VideoCall", NULL, N_("_Video Call"), NULL, NULL, G_CALLBACK(menu_initiate_media_call_cb) },
{ "AudioVideoCall", NULL, N_("Audio/Video _Call"), NULL, NULL, G_CALLBACK(menu_initiate_media_call_cb) },
-#endif
{ "Block", NULL, N_("_Block..."), NULL, NULL, G_CALLBACK(menu_block_cb) },
{ "Unblock", NULL, N_("_Unblock..."), NULL, NULL, G_CALLBACK(menu_unblock_cb) },
--- a/pidgin/gtkmedia.c Fri Aug 12 01:29:41 2022 -0500
+++ b/pidgin/gtkmedia.c Fri Aug 12 01:32:07 2022 -0500
@@ -34,10 +34,6 @@
#include "pidgincore.h"
#include "pidginkeypad.h"
-#ifdef USE_VV
-
-#include <gdk/gdkkeysyms.h>
-
#define PIDGIN_TYPE_MEDIA (pidgin_media_get_type())
#define PIDGIN_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PIDGIN_TYPE_MEDIA, PidginMedia))
#define PIDGIN_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PIDGIN_TYPE_MEDIA, PidginMediaClass))
@@ -113,13 +109,6 @@
static void pidgin_media_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
static void pidgin_media_set_state(PidginMedia *gtkmedia, PidginMediaState state);
-#if 0
-enum {
- LAST_SIGNAL
-};
-static guint pidgin_media_signals[LAST_SIGNAL] = {0};
-#endif
-
enum {
PROP_0,
PROP_MEDIA,
@@ -926,12 +915,10 @@
return TRUE;
}
-#endif /* USE_VV */
void
pidgin_medias_init(void)
{
-#ifdef USE_VV
PurpleMediaManager *manager = purple_media_manager_get();
PurpleMediaElementInfo *video_src = NULL;
PurpleMediaElementInfo *video_sink = NULL;
@@ -1002,5 +989,4 @@
purple_media_manager_set_active_element(manager, video_sink);
purple_media_manager_set_active_element(manager, audio_src);
purple_media_manager_set_active_element(manager, audio_sink);
-#endif
}
--- a/pidgin/meson.build Fri Aug 12 01:29:41 2022 -0500
+++ b/pidgin/meson.build Fri Aug 12 01:32:07 2022 -0500
@@ -67,12 +67,8 @@
'prefs/pidgincredentialprefs.c',
'prefs/pidginnetworkprefs.c',
'prefs/pidginproxyprefs.c',
+ 'prefs/pidginvvprefs.c',
]
-if enable_vv
- libpidgin_SOURCES += [
- 'prefs/pidginvvprefs.c',
- ]
-endif
libpidgin_headers = [
'gtkaccount.h',
@@ -145,12 +141,8 @@
'prefs/pidgincredentialprefs.h',
'prefs/pidginnetworkprefs.h',
'prefs/pidginproxyprefs.h',
+ 'prefs/pidginvvprefs.h',
]
-if enable_vv
- libpidgin_prefs_headers += [
- 'prefs/pidginvvprefs.h',
- ]
-endif
libpidgin_enum_headers = [
'gtkaccount.h',
@@ -228,7 +220,6 @@
_libpidgin_dependencies = [
glib,
gplugin_gtk_dep,
- gstreamer_video,
gtk,
IOKIT,
json,
--- a/pidgin/prefs/pidginprefs.c Fri Aug 12 01:29:41 2022 -0500
+++ b/pidgin/prefs/pidginprefs.c Fri Aug 12 01:32:07 2022 -0500
@@ -36,15 +36,10 @@
#include "pidginprefsinternal.h"
#include "gtkutils.h"
#include "pidgincore.h"
-#ifdef USE_VV
#include "pidginvvprefs.h"
-#endif
struct _PidginPrefsWindow {
GtkDialog parent;
-
- /* Stack */
- GtkWidget *stack;
};
/* Main dialog */
@@ -420,7 +415,6 @@
prefs = NULL;
}
-#ifdef USE_VV
static void
vv_test_switch_page_cb(GtkStack *stack, G_GNUC_UNUSED GParamSpec *pspec,
gpointer data)
@@ -432,7 +426,6 @@
pidgin_vv_prefs_disable_test_pipelines(vv_prefs);
}
}
-#endif
/******************************************************************************
* GObject Implementation
@@ -448,26 +441,15 @@
);
/* Main window */
- gtk_widget_class_bind_template_child(widget_class, PidginPrefsWindow,
- stack);
gtk_widget_class_bind_template_callback(widget_class, delete_prefs);
+ gtk_widget_class_bind_template_callback(widget_class,
+ vv_test_switch_page_cb);
}
static void
pidgin_prefs_window_init(PidginPrefsWindow *win)
{
-#ifdef USE_VV
- GtkWidget *vv = NULL;
-#endif
-
gtk_widget_init_template(GTK_WIDGET(win));
-
-#ifdef USE_VV
- vv = pidgin_vv_prefs_new();
- gtk_stack_add_titled(GTK_STACK(win->stack), vv, "vv", _("Voice/Video"));
- g_signal_connect(win->stack, "notify::visible-child",
- G_CALLBACK(vv_test_switch_page_cb), vv);
-#endif
}
/******************************************************************************
@@ -500,7 +482,6 @@
purple_prefs_add_path(PIDGIN_PREFS_ROOT "/filelocations/last_open_folder", "");
purple_prefs_add_path(PIDGIN_PREFS_ROOT "/filelocations/last_icon_folder", "");
-#ifdef USE_VV
/* Voice/Video */
purple_prefs_add_none(PIDGIN_PREFS_ROOT "/vvconfig");
purple_prefs_add_none(PIDGIN_PREFS_ROOT "/vvconfig/audio");
@@ -514,7 +495,6 @@
purple_prefs_add_none(PIDGIN_PREFS_ROOT "/vvconfig/video");
purple_prefs_add_none(PIDGIN_PREFS_ROOT "/vvconfig/video/sink");
purple_prefs_add_string(PIDGIN_PREFS_ROOT "/vvconfig/video/sink/device", "");
-#endif
pidgin_prefs_update_old();
}
--- a/pidgin/resources/Prefs/prefs.ui Fri Aug 12 01:29:41 2022 -0500
+++ b/pidgin/resources/Prefs/prefs.ui Fri Aug 12 01:32:07 2022 -0500
@@ -82,6 +82,7 @@
<object class="GtkStack" id="stack">
<property name="visible">True</property>
<property name="can-focus">False</property>
+ <signal name="notify::visible-child" handler="vv_test_switch_page_cb" object="vv" swapped="no"/>
<child>
<object class="PidginConversationPrefs">
<property name="visible">True</property>
@@ -137,6 +138,17 @@
<property name="position">4</property>
</packing>
</child>
+ <child>
+ <object class="PidginVVPrefs" id="vv">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ </object>
+ <packing>
+ <property name="name">vv</property>
+ <property name="title" translatable="yes">Voice/Video</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>