summaryrefslogtreecommitdiff
path: root/indra/media_plugins
diff options
context:
space:
mode:
authorMaki <maki@hotmilk.space>2024-04-20 18:34:09 -0400
committerMaki <maki@hotmilk.space>2024-04-20 18:34:09 -0400
commitd09ec5e87bfd892306ccdba56944583bd9213aaf (patch)
tree82d9b57d7c3ea4ee7807ba8e31d174c4c6a02d9b /indra/media_plugins
parent90cf3ee30bd082d1352a3182f598bc0d3860ef8b (diff)
Rework macro magic for symbol grabber
Diffstat (limited to 'indra/media_plugins')
-rw-r--r--indra/media_plugins/base/media_plugin_base.h6
-rwxr-xr-xindra/media_plugins/cef/linux/volume_catcher_pipewire.cpp2
-rw-r--r--indra/media_plugins/cef/linux/volume_catcher_pipewire_syms.inc42
-rwxr-xr-xindra/media_plugins/cef/linux/volume_catcher_pulseaudio.cpp6
-rwxr-xr-xindra/media_plugins/cef/linux/volume_catcher_pulseaudio_glib_syms.inc10
-rwxr-xr-xindra/media_plugins/cef/linux/volume_catcher_pulseaudio_syms.inc48
-rw-r--r--indra/media_plugins/gstreamer10/llmediaimplgstreamer_syms_raw.inc122
-rw-r--r--indra/media_plugins/gstreamer10/media_plugin_gstreamer10.cpp8
8 files changed, 128 insertions, 116 deletions
diff --git a/indra/media_plugins/base/media_plugin_base.h b/indra/media_plugins/base/media_plugin_base.h
index 571dd3bd1b..10c3b67235 100644
--- a/indra/media_plugins/base/media_plugin_base.h
+++ b/indra/media_plugins/base/media_plugin_base.h
@@ -60,11 +60,9 @@ extern SymbolGrabber gSymbolGrabber;
// extern SymbolGrabber gSymbolGrabber;
-#define LL_SYMBOL_GRABBER gSymbolGrabber
-
-#define LL_GRAB_SYM(REQUIRED, SYMBOL_NAME, RETURN, ...) \
+#define LL_GRAB_SYM(SYMBOL_GRABBER, REQUIRED, SYMBOL_NAME, RETURN, ...) \
RETURN (*ll##SYMBOL_NAME)(__VA_ARGS__) = nullptr; \
- size_t gRegistered##SYMBOL_NAME = LL_SYMBOL_GRABBER.registerSymbol( \
+ size_t gRegistered##SYMBOL_NAME = SYMBOL_GRABBER.registerSymbol( \
{ REQUIRED, #SYMBOL_NAME , (apr_dso_handle_sym_t*)&ll##SYMBOL_NAME} \
);
diff --git a/indra/media_plugins/cef/linux/volume_catcher_pipewire.cpp b/indra/media_plugins/cef/linux/volume_catcher_pipewire.cpp
index 213efbfcfb..ca1808d63c 100755
--- a/indra/media_plugins/cef/linux/volume_catcher_pipewire.cpp
+++ b/indra/media_plugins/cef/linux/volume_catcher_pipewire.cpp
@@ -45,8 +45,6 @@ extern "C" {
}
SymbolGrabber pwSymbolGrabber;
-#undef LL_SYMBOL_GRABBER
-#define LL_SYMBOL_GRABBER pwSymbolGrabber
#include "volume_catcher_pipewire_syms.inc"
diff --git a/indra/media_plugins/cef/linux/volume_catcher_pipewire_syms.inc b/indra/media_plugins/cef/linux/volume_catcher_pipewire_syms.inc
index 14e4a42f1d..dbc0f5f169 100644
--- a/indra/media_plugins/cef/linux/volume_catcher_pipewire_syms.inc
+++ b/indra/media_plugins/cef/linux/volume_catcher_pipewire_syms.inc
@@ -1,22 +1,26 @@
+#define G pwSymbolGrabber
+
// required symbols to grab
-LL_GRAB_SYM(true, pw_init, void, int *argc, char **argv[]);
-// LL_GRAB_SYM(true, pw_main_loop_new, struct pw_main_loop *, const struct spa_dict *props);
-// LL_GRAB_SYM(true, pw_main_loop_get_loop, struct pw_loop *, struct pw_main_loop *loop);
-// LL_GRAB_SYM(true, pw_main_loop_destroy, void, struct pw_main_loop *loop);
-// LL_GRAB_SYM(true, pw_main_loop_run, void, struct pw_main_loop *loop);
-LL_GRAB_SYM(true, pw_context_new, struct pw_context *, struct pw_loop *main_loop, struct pw_properties *props, size_t user_data_size);
-LL_GRAB_SYM(true, pw_context_destroy, void, struct pw_context *context);
-LL_GRAB_SYM(true, pw_context_connect, struct pw_core *, struct pw_context *context, struct pw_properties *properties, size_t user_data_size);
-LL_GRAB_SYM(true, pw_thread_loop_new, struct pw_thread_loop *, const char *name, const struct spa_dict *props);
-LL_GRAB_SYM(true, pw_thread_loop_destroy, void, struct pw_thread_loop *loop);
-LL_GRAB_SYM(true, pw_thread_loop_get_loop, struct pw_loop *, struct pw_thread_loop *loop);
-LL_GRAB_SYM(true, pw_thread_loop_start, int, struct pw_thread_loop *loop);
-LL_GRAB_SYM(true, pw_thread_loop_stop, void, struct pw_thread_loop *loop);
-LL_GRAB_SYM(true, pw_thread_loop_lock, void, struct pw_thread_loop *loop);
-LL_GRAB_SYM(true, pw_thread_loop_unlock, void, struct pw_thread_loop *loop);
-LL_GRAB_SYM(true, pw_proxy_add_listener, void, struct pw_proxy *proxy, struct spa_hook *listener, const struct pw_proxy_events *events, void *data);
-LL_GRAB_SYM(true, pw_proxy_destroy, void, struct pw_proxy *proxy);
-LL_GRAB_SYM(true, pw_proxy_get_user_data, void *, struct pw_proxy *proxy);
-LL_GRAB_SYM(true, pw_core_disconnect, int, struct pw_core *core);
+LL_GRAB_SYM(G, true, pw_init, void, int *argc, char **argv[]);
+// LL_GRAB_SYM(G, true, pw_main_loop_new, struct pw_main_loop *, const struct spa_dict *props);
+// LL_GRAB_SYM(G, true, pw_main_loop_get_loop, struct pw_loop *, struct pw_main_loop *loop);
+// LL_GRAB_SYM(G, true, pw_main_loop_destroy, void, struct pw_main_loop *loop);
+// LL_GRAB_SYM(G, true, pw_main_loop_run, void, struct pw_main_loop *loop);
+LL_GRAB_SYM(G, true, pw_context_new, struct pw_context *, struct pw_loop *main_loop, struct pw_properties *props, size_t user_data_size);
+LL_GRAB_SYM(G, true, pw_context_destroy, void, struct pw_context *context);
+LL_GRAB_SYM(G, true, pw_context_connect, struct pw_core *, struct pw_context *context, struct pw_properties *properties, size_t user_data_size);
+LL_GRAB_SYM(G, true, pw_thread_loop_new, struct pw_thread_loop *, const char *name, const struct spa_dict *props);
+LL_GRAB_SYM(G, true, pw_thread_loop_destroy, void, struct pw_thread_loop *loop);
+LL_GRAB_SYM(G, true, pw_thread_loop_get_loop, struct pw_loop *, struct pw_thread_loop *loop);
+LL_GRAB_SYM(G, true, pw_thread_loop_start, int, struct pw_thread_loop *loop);
+LL_GRAB_SYM(G, true, pw_thread_loop_stop, void, struct pw_thread_loop *loop);
+LL_GRAB_SYM(G, true, pw_thread_loop_lock, void, struct pw_thread_loop *loop);
+LL_GRAB_SYM(G, true, pw_thread_loop_unlock, void, struct pw_thread_loop *loop);
+LL_GRAB_SYM(G, true, pw_proxy_add_listener, void, struct pw_proxy *proxy, struct spa_hook *listener, const struct pw_proxy_events *events, void *data);
+LL_GRAB_SYM(G, true, pw_proxy_destroy, void, struct pw_proxy *proxy);
+LL_GRAB_SYM(G, true, pw_proxy_get_user_data, void *, struct pw_proxy *proxy);
+LL_GRAB_SYM(G, true, pw_core_disconnect, int, struct pw_core *core);
// optional symbols to grab
+
+#undef G
diff --git a/indra/media_plugins/cef/linux/volume_catcher_pulseaudio.cpp b/indra/media_plugins/cef/linux/volume_catcher_pulseaudio.cpp
index 20a6458ea3..f7f64ef76c 100755
--- a/indra/media_plugins/cef/linux/volume_catcher_pulseaudio.cpp
+++ b/indra/media_plugins/cef/linux/volume_catcher_pulseaudio.cpp
@@ -49,8 +49,6 @@ extern "C" {
}
SymbolGrabber paSymbolGrabber;
-#undef LL_SYMBOL_GRABBER
-#define LL_SYMBOL_GRABBER paSymbolGrabber
#include "volume_catcher_pulseaudio_syms.inc"
#include "volume_catcher_pulseaudio_glib_syms.inc"
@@ -95,7 +93,9 @@ void VolumeCatcherPulseAudio::init()
// probably be loaded separately. Our Linux DSO framework needs refactoring,
// we do this sort of thing a lot with practically identical logic...
mGotSyms = loadsyms("libpulse-mainloop-glib.so.0");
- if (!mGotSyms) mGotSyms = loadsyms("libpulse.so.0");
+
+ if (!mGotSyms)
+ mGotSyms = loadsyms("libpulse.so.0");
if (!mGotSyms)
return;
diff --git a/indra/media_plugins/cef/linux/volume_catcher_pulseaudio_glib_syms.inc b/indra/media_plugins/cef/linux/volume_catcher_pulseaudio_glib_syms.inc
index 5fba60c188..e9b7196e51 100755
--- a/indra/media_plugins/cef/linux/volume_catcher_pulseaudio_glib_syms.inc
+++ b/indra/media_plugins/cef/linux/volume_catcher_pulseaudio_glib_syms.inc
@@ -1,6 +1,10 @@
+#define G paSymbolGrabber
+
// required symbols to grab
-LL_GRAB_SYM(true, pa_glib_mainloop_free, void, pa_glib_mainloop* g)
-LL_GRAB_SYM(true, pa_glib_mainloop_get_api, pa_mainloop_api*, pa_glib_mainloop* g)
-LL_GRAB_SYM(true, pa_glib_mainloop_new, pa_glib_mainloop *, GMainContext *c)
+LL_GRAB_SYM(G, true, pa_glib_mainloop_free, void, pa_glib_mainloop* g)
+LL_GRAB_SYM(G, true, pa_glib_mainloop_get_api, pa_mainloop_api*, pa_glib_mainloop* g)
+LL_GRAB_SYM(G, true, pa_glib_mainloop_new, pa_glib_mainloop *, GMainContext *c)
// optional symbols to grab
+
+#undef G
diff --git a/indra/media_plugins/cef/linux/volume_catcher_pulseaudio_syms.inc b/indra/media_plugins/cef/linux/volume_catcher_pulseaudio_syms.inc
index fe4ad084b6..4859a34405 100755
--- a/indra/media_plugins/cef/linux/volume_catcher_pulseaudio_syms.inc
+++ b/indra/media_plugins/cef/linux/volume_catcher_pulseaudio_syms.inc
@@ -1,25 +1,29 @@
+#define G paSymbolGrabber
+
// required symbols to grab
-LL_GRAB_SYM(true, pa_context_connect, int, pa_context *c, const char *server, pa_context_flags_t flags, const pa_spawn_api *api)
-LL_GRAB_SYM(true, pa_context_disconnect, void, pa_context *c)
-LL_GRAB_SYM(true, pa_context_get_sink_input_info, pa_operation*, pa_context *c, uint32_t idx, pa_sink_input_info_cb_t cb, void *userdata)
-LL_GRAB_SYM(true, pa_context_get_sink_input_info_list, pa_operation*, pa_context *c, pa_sink_input_info_cb_t cb, void *userdata)
-LL_GRAB_SYM(true, pa_context_get_state, pa_context_state_t, pa_context *c)
-LL_GRAB_SYM(true, pa_context_new_with_proplist, pa_context*, pa_mainloop_api *mainloop, const char *name, pa_proplist *proplist)
-LL_GRAB_SYM(true, pa_context_set_sink_input_volume, pa_operation*, pa_context *c, uint32_t idx, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata)
-LL_GRAB_SYM(true, pa_context_set_state_callback, void, pa_context *c, pa_context_notify_cb_t cb, void *userdata)
-LL_GRAB_SYM(true, pa_context_set_subscribe_callback, void, pa_context *c, pa_context_subscribe_cb_t cb, void *userdata)
-LL_GRAB_SYM(true, pa_context_subscribe, pa_operation*, pa_context *c, pa_subscription_mask_t m, pa_context_success_cb_t cb, void *userdata)
-LL_GRAB_SYM(true, pa_context_unref, void, pa_context *c)
-LL_GRAB_SYM(true, pa_cvolume_set, pa_cvolume*, pa_cvolume *a, unsigned channels, pa_volume_t v)
-LL_GRAB_SYM(true, pa_operation_unref, void, pa_operation *o)
-LL_GRAB_SYM(true, pa_proplist_free, void, pa_proplist* p)
-LL_GRAB_SYM(true, pa_proplist_gets, const char*, pa_proplist *p, const char *key)
-LL_GRAB_SYM(true, pa_proplist_new, pa_proplist*, void)
-LL_GRAB_SYM(true, pa_proplist_sets, int, pa_proplist *p, const char *key, const char *value)
-LL_GRAB_SYM(true, pa_sw_volume_from_linear, pa_volume_t, double v)
-// LL_GRAB_SYM(true, pa_mainloop_free, void, pa_mainloop *m)
-// LL_GRAB_SYM(true, pa_mainloop_get_api, pa_mainloop_api *, pa_mainloop *m)
-// LL_GRAB_SYM(true, pa_mainloop_iterate, int, pa_mainloop *m, int block, int *retval)
-// LL_GRAB_SYM(true, pa_mainloop_new, pa_mainloop *, void)
+LL_GRAB_SYM(G, true, pa_context_connect, int, pa_context *c, const char *server, pa_context_flags_t flags, const pa_spawn_api *api)
+LL_GRAB_SYM(G, true, pa_context_disconnect, void, pa_context *c)
+LL_GRAB_SYM(G, true, pa_context_get_sink_input_info, pa_operation*, pa_context *c, uint32_t idx, pa_sink_input_info_cb_t cb, void *userdata)
+LL_GRAB_SYM(G, true, pa_context_get_sink_input_info_list, pa_operation*, pa_context *c, pa_sink_input_info_cb_t cb, void *userdata)
+LL_GRAB_SYM(G, true, pa_context_get_state, pa_context_state_t, pa_context *c)
+LL_GRAB_SYM(G, true, pa_context_new_with_proplist, pa_context*, pa_mainloop_api *mainloop, const char *name, pa_proplist *proplist)
+LL_GRAB_SYM(G, true, pa_context_set_sink_input_volume, pa_operation*, pa_context *c, uint32_t idx, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata)
+LL_GRAB_SYM(G, true, pa_context_set_state_callback, void, pa_context *c, pa_context_notify_cb_t cb, void *userdata)
+LL_GRAB_SYM(G, true, pa_context_set_subscribe_callback, void, pa_context *c, pa_context_subscribe_cb_t cb, void *userdata)
+LL_GRAB_SYM(G, true, pa_context_subscribe, pa_operation*, pa_context *c, pa_subscription_mask_t m, pa_context_success_cb_t cb, void *userdata)
+LL_GRAB_SYM(G, true, pa_context_unref, void, pa_context *c)
+LL_GRAB_SYM(G, true, pa_cvolume_set, pa_cvolume*, pa_cvolume *a, unsigned channels, pa_volume_t v)
+LL_GRAB_SYM(G, true, pa_operation_unref, void, pa_operation *o)
+LL_GRAB_SYM(G, true, pa_proplist_free, void, pa_proplist* p)
+LL_GRAB_SYM(G, true, pa_proplist_gets, const char*, pa_proplist *p, const char *key)
+LL_GRAB_SYM(G, true, pa_proplist_new, pa_proplist*, void)
+LL_GRAB_SYM(G, true, pa_proplist_sets, int, pa_proplist *p, const char *key, const char *value)
+LL_GRAB_SYM(G, true, pa_sw_volume_from_linear, pa_volume_t, double v)
+// LL_GRAB_SYM(G, true, pa_mainloop_free, void, pa_mainloop *m)
+// LL_GRAB_SYM(G, true, pa_mainloop_get_api, pa_mainloop_api *, pa_mainloop *m)
+// LL_GRAB_SYM(G, true, pa_mainloop_iterate, int, pa_mainloop *m, int block, int *retval)
+// LL_GRAB_SYM(G, true, pa_mainloop_new, pa_mainloop *, void)
// optional symbols to grab
+
+#undef G
diff --git a/indra/media_plugins/gstreamer10/llmediaimplgstreamer_syms_raw.inc b/indra/media_plugins/gstreamer10/llmediaimplgstreamer_syms_raw.inc
index e5abf22203..6f5bb04bdf 100644
--- a/indra/media_plugins/gstreamer10/llmediaimplgstreamer_syms_raw.inc
+++ b/indra/media_plugins/gstreamer10/llmediaimplgstreamer_syms_raw.inc
@@ -1,67 +1,71 @@
-LL_GRAB_SYM(true, gst_buffer_new, GstBuffer*, void)
-LL_GRAB_SYM(true, gst_structure_set_value, void, GstStructure *, const gchar *, const GValue*)
-LL_GRAB_SYM(true, gst_init_check, gboolean, int *argc, char **argv[], GError ** err)
-LL_GRAB_SYM(true, gst_message_get_type, GType, void)
-LL_GRAB_SYM(true, gst_message_type_get_name, const gchar*, GstMessageType type)
-LL_GRAB_SYM(true, gst_message_parse_error, void, GstMessage *message, GError **gerror, gchar **debug)
-LL_GRAB_SYM(true, gst_message_parse_warning, void, GstMessage *message, GError **gerror, gchar **debug)
-LL_GRAB_SYM(true, gst_message_parse_state_changed, void, GstMessage *message, GstState *oldstate, GstState *newstate, GstState *pending)
-LL_GRAB_SYM(true, gst_element_set_state, GstStateChangeReturn, GstElement *element, GstState state)
-LL_GRAB_SYM(true, gst_object_unref, void, gpointer object)
-LL_GRAB_SYM(true, gst_object_get_type, GType, void)
-LL_GRAB_SYM(true, gst_pipeline_get_type, GType, void)
-LL_GRAB_SYM(true, gst_pipeline_get_bus, GstBus*, GstPipeline *pipeline)
-LL_GRAB_SYM(true, gst_bus_add_watch, guint, GstBus * bus, GstBusFunc func, gpointer user_data)
-LL_GRAB_SYM(true, gst_element_factory_make, GstElement*, const gchar *factoryname, const gchar *name)
-LL_GRAB_SYM(true, gst_element_get_type, GType, void)
-LL_GRAB_SYM(true, gst_static_pad_template_get, GstPadTemplate*, GstStaticPadTemplate *pad_template)
-LL_GRAB_SYM(true, gst_element_class_add_pad_template, void, GstElementClass *klass, GstPadTemplate *temp)
-LL_GRAB_SYM(true, gst_caps_from_string, GstCaps *, const gchar *string)
-LL_GRAB_SYM(true, gst_caps_get_structure, GstStructure *, const GstCaps *caps, guint index)
-LL_GRAB_SYM(true, gst_element_register, gboolean, GstPlugin *plugin, const gchar *name, guint rank, GType type)
-LL_GRAB_SYM(true, gst_structure_get_int, gboolean, const GstStructure *structure, const gchar *fieldname, gint *value)
-LL_GRAB_SYM(true, gst_structure_get_value, const GValue *, const GstStructure *structure, const gchar *fieldname)
-LL_GRAB_SYM(true, gst_value_get_fraction_numerator, gint, const GValue *value)
-LL_GRAB_SYM(true, gst_value_get_fraction_denominator, gint, const GValue *value)
-LL_GRAB_SYM(true, gst_structure_get_name, const gchar *, const GstStructure *structure)
-LL_GRAB_SYM(true, gst_element_seek, bool, GstElement *, gdouble, GstFormat, GstSeekFlags, GstSeekType, gint64, GstSeekType, gint64)
+#define G gstSymbolGrabber
-LL_GRAB_SYM(false, gst_registry_fork_set_enabled, void, gboolean enabled)
-LL_GRAB_SYM(false, gst_segtrap_set_enabled, void, gboolean enabled)
-LL_GRAB_SYM(false, gst_message_parse_buffering, void, GstMessage *message, gint *percent)
-LL_GRAB_SYM(false, gst_message_parse_info, void, GstMessage *message, GError **gerror, gchar **debug)
-LL_GRAB_SYM(false, gst_element_query_position, gboolean, GstElement *element, GstFormat *format, gint64 *cur)
-LL_GRAB_SYM(false, gst_version, void, guint *major, guint *minor, guint *micro, guint *nano)
+LL_GRAB_SYM(G, true, gst_buffer_new, GstBuffer*, void)
+LL_GRAB_SYM(G, true, gst_structure_set_value, void, GstStructure *, const gchar *, const GValue*)
+LL_GRAB_SYM(G, true, gst_init_check, gboolean, int *argc, char **argv[], GError ** err)
+LL_GRAB_SYM(G, true, gst_message_get_type, GType, void)
+LL_GRAB_SYM(G, true, gst_message_type_get_name, const gchar*, GstMessageType type)
+LL_GRAB_SYM(G, true, gst_message_parse_error, void, GstMessage *message, GError **gerror, gchar **debug)
+LL_GRAB_SYM(G, true, gst_message_parse_warning, void, GstMessage *message, GError **gerror, gchar **debug)
+LL_GRAB_SYM(G, true, gst_message_parse_state_changed, void, GstMessage *message, GstState *oldstate, GstState *newstate, GstState *pending)
+LL_GRAB_SYM(G, true, gst_element_set_state, GstStateChangeReturn, GstElement *element, GstState state)
+LL_GRAB_SYM(G, true, gst_object_unref, void, gpointer object)
+LL_GRAB_SYM(G, true, gst_object_get_type, GType, void)
+LL_GRAB_SYM(G, true, gst_pipeline_get_type, GType, void)
+LL_GRAB_SYM(G, true, gst_pipeline_get_bus, GstBus*, GstPipeline *pipeline)
+LL_GRAB_SYM(G, true, gst_bus_add_watch, guint, GstBus * bus, GstBusFunc func, gpointer user_data)
+LL_GRAB_SYM(G, true, gst_element_factory_make, GstElement*, const gchar *factoryname, const gchar *name)
+LL_GRAB_SYM(G, true, gst_element_get_type, GType, void)
+LL_GRAB_SYM(G, true, gst_static_pad_template_get, GstPadTemplate*, GstStaticPadTemplate *pad_template)
+LL_GRAB_SYM(G, true, gst_element_class_add_pad_template, void, GstElementClass *klass, GstPadTemplate *temp)
+LL_GRAB_SYM(G, true, gst_caps_from_string, GstCaps *, const gchar *string)
+LL_GRAB_SYM(G, true, gst_caps_get_structure, GstStructure *, const GstCaps *caps, guint index)
+LL_GRAB_SYM(G, true, gst_element_register, gboolean, GstPlugin *plugin, const gchar *name, guint rank, GType type)
+LL_GRAB_SYM(G, true, gst_structure_get_int, gboolean, const GstStructure *structure, const gchar *fieldname, gint *value)
+LL_GRAB_SYM(G, true, gst_structure_get_value, const GValue *, const GstStructure *structure, const gchar *fieldname)
+LL_GRAB_SYM(G, true, gst_value_get_fraction_numerator, gint, const GValue *value)
+LL_GRAB_SYM(G, true, gst_value_get_fraction_denominator, gint, const GValue *value)
+LL_GRAB_SYM(G, true, gst_structure_get_name, const gchar *, const GstStructure *structure)
+LL_GRAB_SYM(G, true, gst_element_seek, bool, GstElement *, gdouble, GstFormat, GstSeekFlags, GstSeekType, gint64, GstSeekType, gint64)
-LL_GRAB_SYM( true, gst_message_parse_tag, void, GstMessage *, GstTagList **)
-LL_GRAB_SYM( true, gst_tag_list_foreach, void, const GstTagList *, GstTagForeachFunc, gpointer)
-LL_GRAB_SYM( true, gst_tag_list_get_tag_size, guint, const GstTagList *, const gchar *)
-LL_GRAB_SYM( true, gst_tag_list_get_value_index, const GValue *, const GstTagList *, const gchar *, guint)
+LL_GRAB_SYM(G, false, gst_registry_fork_set_enabled, void, gboolean enabled)
+LL_GRAB_SYM(G, false, gst_segtrap_set_enabled, void, gboolean enabled)
+LL_GRAB_SYM(G, false, gst_message_parse_buffering, void, GstMessage *message, gint *percent)
+LL_GRAB_SYM(G, false, gst_message_parse_info, void, GstMessage *message, GError **gerror, gchar **debug)
+LL_GRAB_SYM(G, false, gst_element_query_position, gboolean, GstElement *element, GstFormat *format, gint64 *cur)
+LL_GRAB_SYM(G, false, gst_version, void, guint *major, guint *minor, guint *micro, guint *nano)
-LL_GRAB_SYM( true, gst_caps_new_simple, GstCaps*, const char *, const char*, ... )
+LL_GRAB_SYM(G, true, gst_message_parse_tag, void, GstMessage *, GstTagList **)
+LL_GRAB_SYM(G, true, gst_tag_list_foreach, void, const GstTagList *, GstTagForeachFunc, gpointer)
+LL_GRAB_SYM(G, true, gst_tag_list_get_tag_size, guint, const GstTagList *, const gchar *)
+LL_GRAB_SYM(G, true, gst_tag_list_get_value_index, const GValue *, const GstTagList *, const gchar *, guint)
-LL_GRAB_SYM( true, gst_sample_get_caps, GstCaps*, GstSample* )
-LL_GRAB_SYM( true, gst_sample_get_buffer, GstBuffer*, GstSample* )
-LL_GRAB_SYM( true, gst_buffer_map, gboolean, GstBuffer*, GstMapInfo*, GstMapFlags )
-LL_GRAB_SYM( true, gst_buffer_unmap, void, GstBuffer*, GstMapInfo* )
+LL_GRAB_SYM(G, true, gst_caps_new_simple, GstCaps*, const char *, const char*, ... )
-LL_GRAB_SYM( true, gst_app_sink_set_caps, void, GstAppSink*, GstCaps const* )
-LL_GRAB_SYM( true, gst_app_sink_pull_sample, GstSample*, GstAppSink* )
+LL_GRAB_SYM(G, true, gst_sample_get_caps, GstCaps*, GstSample* )
+LL_GRAB_SYM(G, true, gst_sample_get_buffer, GstBuffer*, GstSample* )
+LL_GRAB_SYM(G, true, gst_buffer_map, gboolean, GstBuffer*, GstMapInfo*, GstMapFlags )
+LL_GRAB_SYM(G, true, gst_buffer_unmap, void, GstBuffer*, GstMapInfo* )
-LL_GRAB_SYM( true, g_free, void, gpointer )
-LL_GRAB_SYM( true, g_error_free, void, GError* )
+LL_GRAB_SYM(G, true, gst_app_sink_set_caps, void, GstAppSink*, GstCaps const* )
+LL_GRAB_SYM(G, true, gst_app_sink_pull_sample, GstSample*, GstAppSink* )
-LL_GRAB_SYM( true, g_main_context_pending, gboolean, GMainContext* )
-LL_GRAB_SYM( true, g_main_loop_get_context, GMainContext*, GMainLoop* )
-LL_GRAB_SYM( true, g_main_context_iteration, gboolean, GMainContext*, gboolean )
-LL_GRAB_SYM( true, g_main_loop_new, GMainLoop*, GMainContext*, gboolean )
-LL_GRAB_SYM( true, g_main_loop_quit, void, GMainLoop* )
-LL_GRAB_SYM( true, gst_mini_object_unref, void, GstMiniObject* )
-LL_GRAB_SYM( true, g_object_set, void, gpointer, gchar const*, ... )
-LL_GRAB_SYM( true, g_source_remove, gboolean, guint )
-LL_GRAB_SYM( true, g_value_get_string, gchar const*, GValue const* )
+LL_GRAB_SYM(G, true, g_free, void, gpointer )
+LL_GRAB_SYM(G, true, g_error_free, void, GError* )
-LL_GRAB_SYM( true, gst_debug_set_active, void, gboolean )
-LL_GRAB_SYM( true, gst_debug_add_log_function, void, GstLogFunction, gpointer, GDestroyNotify )
-LL_GRAB_SYM( true, gst_debug_set_default_threshold, void, GstDebugLevel )
-LL_GRAB_SYM( true, gst_debug_message_get , gchar const*, GstDebugMessage * ) \ No newline at end of file
+LL_GRAB_SYM(G, true, g_main_context_pending, gboolean, GMainContext* )
+LL_GRAB_SYM(G, true, g_main_loop_get_context, GMainContext*, GMainLoop* )
+LL_GRAB_SYM(G, true, g_main_context_iteration, gboolean, GMainContext*, gboolean )
+LL_GRAB_SYM(G, true, g_main_loop_new, GMainLoop*, GMainContext*, gboolean )
+LL_GRAB_SYM(G, true, g_main_loop_quit, void, GMainLoop* )
+LL_GRAB_SYM(G, true, gst_mini_object_unref, void, GstMiniObject* )
+LL_GRAB_SYM(G, true, g_object_set, void, gpointer, gchar const*, ... )
+LL_GRAB_SYM(G, true, g_source_remove, gboolean, guint )
+LL_GRAB_SYM(G, true, g_value_get_string, gchar const*, GValue const* )
+
+LL_GRAB_SYM(G, true, gst_debug_set_active, void, gboolean )
+LL_GRAB_SYM(G, true, gst_debug_add_log_function, void, GstLogFunction, gpointer, GDestroyNotify )
+LL_GRAB_SYM(G, true, gst_debug_set_default_threshold, void, GstDebugLevel )
+LL_GRAB_SYM(G, true, gst_debug_message_get , gchar const*, GstDebugMessage * )
+
+#undef G
diff --git a/indra/media_plugins/gstreamer10/media_plugin_gstreamer10.cpp b/indra/media_plugins/gstreamer10/media_plugin_gstreamer10.cpp
index dbc544d96b..3f636915ea 100644
--- a/indra/media_plugins/gstreamer10/media_plugin_gstreamer10.cpp
+++ b/indra/media_plugins/gstreamer10/media_plugin_gstreamer10.cpp
@@ -41,9 +41,9 @@
extern "C" {
#include <gst/gst.h>
#include <gst/app/gstappsink.h>
-
}
-SymbolGrabber gSymbolGrabber;
+
+SymbolGrabber gstSymbolGrabber;
#include "llmediaimplgstreamer_syms_raw.inc"
@@ -650,7 +650,7 @@ bool MediaPluginGStreamer10::startup()
vctDSONames.push_back( "libgstapp-1.0.so.0" );
vctDSONames.push_back( "libglib-2.0.so.0" );
vctDSONames.push_back( "libgobject-2.0.so" );
- if( !gSymbolGrabber.grabSymbols( vctDSONames ) )
+ if( !gstSymbolGrabber.grabSymbols( vctDSONames ) )
return false;
if (llgst_segtrap_set_enabled)
@@ -712,7 +712,7 @@ bool MediaPluginGStreamer10::closedown()
if (!mDoneInit)
return false; // error
- gSymbolGrabber.ungrabSymbols();
+ gstSymbolGrabber.ungrabSymbols();
mDoneInit = false;
return true;