diff options
author | Andrey Lihatskiy <alihatskiy@productengine.com> | 2024-05-15 11:16:27 +0300 |
---|---|---|
committer | Andrey Lihatskiy <alihatskiy@productengine.com> | 2024-05-15 11:16:27 +0300 |
commit | bccc10db9a90d365c353baebf443fde2030ce970 (patch) | |
tree | 2c2e1fd94b29667a809f8d7285d049f5ff5d424d /indra/media_plugins/base/media_plugin_base.h | |
parent | 531cd34f670170ade57f8813fe48012b61a1d3c2 (diff) | |
parent | bb3c36f5cbc0c3b542045fd27255eee24e03da22 (diff) |
Merge branch 'main' into marchcat/x-b-merge
# Conflicts:
# autobuild.xml
# indra/cmake/ConfigurePkgConfig.cmake
# indra/cmake/ICU4C.cmake
# indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.cpp
# indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.h
# indra/media_plugins/gstreamer010/llmediaimplgstreamertriviallogging.h
# indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp
# indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.h
# indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp
# indra/newview/llappviewerlinux_api.h
# indra/newview/llappviewerlinux_api_dbus.cpp
# indra/newview/llappviewerlinux_api_dbus.h
# indra/newview/llfloateremojipicker.cpp
# indra/newview/lloutfitslist.cpp
Diffstat (limited to 'indra/media_plugins/base/media_plugin_base.h')
-rw-r--r-- | indra/media_plugins/base/media_plugin_base.h | 118 |
1 files changed, 59 insertions, 59 deletions
diff --git a/indra/media_plugins/base/media_plugin_base.h b/indra/media_plugins/base/media_plugin_base.h index 2e975a5bf2..d5cb5ac550 100644 --- a/indra/media_plugins/base/media_plugin_base.h +++ b/indra/media_plugins/base/media_plugin_base.h @@ -1,4 +1,4 @@ -/** +/** * @file media_plugin_base.h * @brief Media plugin base class for LLMedia API plugin system * @@ -6,21 +6,21 @@ * $LicenseInfo:firstyear=2008&license=viewerlgpl$ * Second Life Viewer Source Code * Copyright (C) 2010, Linden Research, Inc. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License only. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * + * * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ * @endcond @@ -64,93 +64,93 @@ extern SymbolGrabber gSymbolGrabber; class MediaPluginBase { public: - MediaPluginBase(LLPluginInstance::sendMessageFunction host_send_func, void *host_user_data); + MediaPluginBase(LLPluginInstance::sendMessageFunction host_send_func, void *host_user_data); /** Media plugin destructor. */ - virtual ~MediaPluginBase() {} + virtual ~MediaPluginBase() {} /** Handle received message from plugin loader shell. */ - virtual void receiveMessage(const char *message_string) = 0; - - static void staticReceiveMessage(const char *message_string, void **user_data); + virtual void receiveMessage(const char *message_string) = 0; + + static void staticReceiveMessage(const char *message_string, void **user_data); protected: /** Plugin status. */ - typedef enum - { - STATUS_NONE, - STATUS_LOADING, - STATUS_LOADED, - STATUS_ERROR, - STATUS_PLAYING, - STATUS_PAUSED, - STATUS_DONE - } EStatus; + typedef enum + { + STATUS_NONE, + STATUS_LOADING, + STATUS_LOADED, + STATUS_ERROR, + STATUS_PLAYING, + STATUS_PAUSED, + STATUS_DONE + } EStatus; /** Plugin shared memory. */ - class SharedSegmentInfo - { - public: + class SharedSegmentInfo + { + public: /** Shared memory address. */ - void *mAddress; + void *mAddress; /** Shared memory size. */ - size_t mSize; - }; + size_t mSize; + }; + + void sendMessage(const LLPluginMessage &message); + void sendStatus(); + std::string statusString(); + void setStatus(EStatus status); - void sendMessage(const LLPluginMessage &message); - void sendStatus(); - std::string statusString(); - void setStatus(EStatus status); - - /// Note: The quicktime plugin overrides this to add current time and duration to the message. - virtual void setDirty(int left, int top, int right, int bottom); + /// Note: The quicktime plugin overrides this to add current time and duration to the message. + virtual void setDirty(int left, int top, int right, int bottom); /** Map of shared memory names to shared memory. */ - typedef std::map<std::string, SharedSegmentInfo> SharedSegmentMap; + typedef std::map<std::string, SharedSegmentInfo> SharedSegmentMap; + - /** Function to send message from plugin to plugin loader shell. */ - LLPluginInstance::sendMessageFunction mHostSendFunction; + LLPluginInstance::sendMessageFunction mHostSendFunction; /** Message data being sent to plugin loader shell by mHostSendFunction. */ - void *mHostUserData; + void *mHostUserData; /** Flag to delete plugin instance (self). */ - bool mDeleteMe; + bool mDeleteMe; /** Pixel array to display. TODO:DOC are pixels always 24-bit RGB format, aligned on 32-bit boundary? Also: calling this a pixel array may be misleading since 1 pixel > 1 char. */ - unsigned char* mPixels; + unsigned char* mPixels; /** TODO:DOC what's this for -- does a texture have its own piece of shared memory? updated on size_change_request, cleared on shm_remove */ - std::string mTextureSegmentName; + std::string mTextureSegmentName; /** Width of plugin display in pixels. */ - int mWidth; + int mWidth; /** Height of plugin display in pixels. */ - int mHeight; + int mHeight; /** Width of plugin texture. */ - int mTextureWidth; + int mTextureWidth; /** Height of plugin texture. */ - int mTextureHeight; + int mTextureHeight; /** Pixel depth (pixel size in bytes). */ - int mDepth; + int mDepth; /** Current status of plugin. */ - EStatus mStatus; + EStatus mStatus; /** Map of shared memory segments. */ - SharedSegmentMap mSharedSegments; + SharedSegmentMap mSharedSegments; }; /** The plugin <b>must</b> define this function to create its instance. - * It should look something like this: + * It should look something like this: * @code - * { - * MediaPluginFoo *self = new MediaPluginFoo(host_send_func, host_user_data); - * *plugin_send_func = MediaPluginFoo::staticReceiveMessage; - * *plugin_user_data = (void*)self; - * - * return 0; - * } + * { + * MediaPluginFoo *self = new MediaPluginFoo(host_send_func, host_user_data); + * *plugin_send_func = MediaPluginFoo::staticReceiveMessage; + * *plugin_user_data = (void*)self; + * + * return 0; + * } * @endcode */ int init_media_plugin( - LLPluginInstance::sendMessageFunction host_send_func, - void *host_user_data, - LLPluginInstance::sendMessageFunction *plugin_send_func, - void **plugin_user_data); + LLPluginInstance::sendMessageFunction host_send_func, + void *host_user_data, + LLPluginInstance::sendMessageFunction *plugin_send_func, + void **plugin_user_data); |