summaryrefslogtreecommitdiff
path: root/indra/test_apps/llplugintest/llmediaplugintest.cpp
AgeCommit message (Collapse)Author
2011-07-15Merge from viewer-developmentXiaohong Bao
2011-04-22merge changes for storm-1187Oz Linden
2011-04-12EXP-681 : Add MEDIA_EVENT_NAVIGATE_ERROR_PAGE case in LLMediaPluginTest so ↵Merov Linden
to pass build on Mac
2011-04-12Fix gcc 4.2 warning about incomplete case coverage in switchMonty Brandenberg
statement for plugin events. This becomes an error in the build so I'm adding a default: case to cover the enumeration.
2011-02-23MergeXiaohong Bao
2011-02-09Additional fix for llmediaplugintest compilation failure after fix for VWR-21275callum
2011-02-05Introduces a LLThreadLocalData class that can beAleric Inglewood
accessed through the static LLThread::tldata(). Currently this object contains two (public) thread-local objects: a LLAPRRootPool and a LLVolatileAPRPool. The first is the general memory pool used by this thread (and this thread alone), while the second is intended for short lived memory allocations (needed for APR). The advantages of not mixing those two is that the latter is used most frequently, and as a result of it's nature can be destroyed and reconstructed on a "regular" basis. This patch adds LLAPRPool (completely replacing the old one), which is a wrapper around apr_pool_t* and has complete thread-safity checking. Whenever an apr call requires memory for some resource, a memory pool in the form of an LLAPRPool object can be created with the same life-time as this resource; assuring clean up of the memory no sooner, but also not much later than the life-time of the resource that needs the memory. Many, many function calls and constructors had the pool parameter simply removed (it is no longer the concern of the developer, if you don't write code that actually does an libapr call then you are no longer bothered with memory pools at all). However, I kept the notion of short-lived and long-lived allocations alive (see my remark in the jira here: https://jira.secondlife.com/browse/STORM-864?focusedCommentId=235356&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-235356 which requires that the LLAPRFile API needs to allow the user to specify how long they think a file will stay open. By choosing 'short_lived' as default for the constructor that immediately opens a file, the number of instances where this needs to be specified is drastically reduced however (obviously, any automatic LLAPRFile is short lived). *** Addressed Boroondas remarks in https://codereview.secondlife.com/r/99/ regarding (doxygen) comments. This patch effectively only changes comments. Includes some 'merge' stuff that ended up in llvocache.cpp (while starting as a bug fix, now only resulting in a cleanup). *** Added comment 'The use of apr_pool_t is OK here'. Added this comment on every line where apr_pool_t is correctly being used. This should make it easier to spot (future) errors where someone started to use apr_pool_t; you can just grep all sources for 'apr_pool_t' and immediately see where it's being used while LLAPRPool should have been used. Note that merging this patch is very easy: If there are no other uses of apr_pool_t in the code (one grep) and it compiles, then it will work. *** Second Merge (needed to remove 'delete mCreationMutex' from LLImageDecodeThread::~LLImageDecodeThread). *** Added back #include <apr_pools.h>. Apparently that is needed on libapr version 1.2.8., the version used by Linden Lab, for calls to apr_queue_*. This is a bug in libapr (we also include <apr_queue.h>, that is fixed in (at least) 1.3.7. Note that 1.2.8 is VERY old. Even 1.3.x is old. *** License fixes (GPL -> LGPL). And typo in comments. Addresses merov's comments on the review board. *** Added Merov's compile fixes for windows.
2010-12-01SOCIAL-311 PARTIAL FIX (2) Media browser has too many oddities to be useful ↵callum
for viewer web apps Latest traunch of fixes to new Web only content floater Also removed line in test app that fails to build - have a note to fix later
2010-12-01OCIAL-231 FIX Enable tooltips (for links and images)Monroe Linden
Added the necessary plumbing to get link_hovered events from the webkit plugin through to the viewer UI. This requires a llqtwebkit library built from revision 1799a899e06d or later in http://hg.secondlife.com/llqtwebkit to function. The viewer source changes are backwards-compatible with earlier versions of llqtwebkit, it just won't see any link_hovered events with previous revisions. Reviewed by Callum.
2010-11-16SOCIAL-266 WIP HTTP AUTH dialogs no longer work in LLQtWebKit 4.7.1Monroe Linden
Added support to the webkit media plugin and llpluginclassmedia for passing through the auth request/response. We still need an updated build of llqtwebkit for all platforms, as well as some UI work in the viewer to actually display the auth dialog.
2010-09-23Fixed some build errors in llmediaplugintest.cpp.Monroe Linden
Reviewed by Richard.
2010-09-15Enable web popups to specify size and position of the Media Browser window ↵Monroe Linden
from javascript. This includes a Mac build of llqtwebkit from the following sources: revision aacdf69cbf5aa12d77c179296e31ef643ed1ef4a of http://qt.gitorious.org/+lindenqt/qt/lindenqt (currently head of the 'lindenqt' branch) revision 81ab5ae326f0 of http://hg.secondlife.com/llqtwebkit (currently head of the default branch) Reviewed by Callum.
2010-09-10Added support for a media plugin message that asks the viewer to open a file ↵Monroe Linden
picker on the plugin's behalf. Reviewed by Callum.
2010-08-27Post-convert merge by convert_monolith.py from ./viewer-experienceMonroe Linden
2010-08-17Viewer side changes to support javascript window.close handling.Monroe Linden
2010-08-10Added support for targeted links opening new windows to llmediaplugintest.Monroe Linden
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-04-27Architectural changes to LLPlugin message processing.Monroe Linden
LLPluginProcessParent can now optionally use a separate thread for reading messages from plugin sockets. If this is enabled, it will spawn a single thread and use apr_pollset_poll to wake up the thread when incoming data arrives instead of polling all the descriptors round-robin every frame. This should be somewhat more efficient, and should also allow blocking requests from plugins to be serviced much more quickly (once we start using them). This is currently disabled by default, until it's had a bit more focused testing on multiple platforms. Hooked up the switch to use the message read thread to the PluginUseReadThread debug setting and an item in the Advanced menu in the viewer, and to a checkbox in the UI in llmediaplugintest. Updated some debug logging in the plugin system to have appropriate tags and not log dire-looking warnings during normal operation. LLPluginProcessParent now once again explicitly kills plugin processes (instead of just closing their sockets and waiting for them to exit). The problem we were attempting to solve by not doing the kill (letting the webkit plugin write its cookie file on exit) has been solved another way. LLPluginProcessParent::sendMessage() now attempts to write the outgoing message to the socket immediately instead of waiting for the next frame. This should reduce the latency of sending plugin messages. Added a separate fast timer for LLViewerMedia::updateMedia().
2010-03-29EXT-3075 : Remove swear words from comments across viewerLoren Shih
This bugs me in a minor way. Did a search-and-cleanup on various swear words.
2010-03-16Added an "init" message in LLPLUGIN_MESSAGE_CLASS_MEDIA, and made ↵Monroe Linden
LLPluginClassMedia queue it up before initializing its LLPluginProcessParent. Made all existing plugins send their texture_params message from this init message instead of the LLPLUGIN_MESSAGE_CLASS_BASE "init" message. (This ensures that they won't start to receive 'size_change' messages until after the init has happened.) Added "set_user_data_path" and "set_language_code" messages to LLPluginClassMedia. Made webkit plugin deal with the new messages, when they're sent before it receives the media "init". Removed the user_data_path and language_code arguments from the init function calls throughout the hierarchy. Made LLViewerMediaImpl queue up the language code and user data path messages before initializing the media. Reviewed by Callum at http://codereview.lindenlab.com/687006 .
2010-03-05Fix Mac llmediaplugintest build breakage.Nat Goodspeed
A viewport array passed to glGetIntegerv() and gluUnProject() was declared as 'int'. This compiles on Windows, but fails on Mac. Declaring as 'GLint' works.
2010-03-04Changes to plugin test app in preparation for work on positional per-process ↵Callum Prentice
audio for media. Not part of the client and nothing here is deployed - internal testing only.
2010-01-18Added getNativeKeyData() function to LLWindow and LLWindowMacOSX.Monroe Linden
Added an LLSD argument to LLPluginClassMedia::keyEvent() and LLPluginClassMedia::textInput() which contains the native key data. Made LLViewerMediaImpl retrieve the native key data and pass it to keyEvent and textInput. Added a native_key_data parameter to the text_event and key_event messages. Made the webkit plugin extract the native_key_data parameter and pass it to the internal keyEvent() and unicodeInput() functions. Fixed LLMediaPluginTest to match function signature change to LLPluginClassMedia::keyEvent().
2009-12-10Fix llmediaplugintest.cpp for non-Windows platformsNat Goodspeed
2009-12-09last blind fixup for llmediaplugintest.Tofu Linden
2009-12-09get llmediaplugintest compiling on win32, dumbly.Tofu Linden
2009-12-09blindly fix-up llmediaplugintest.cpp with respect to the recent API change.Tofu Linden
2009-11-16Restore a minor change to the media test mule that was checked in by mistakecallum
2009-11-16Merge with tipcallum
2009-10-30Adds an example plugin and corresponding changes tocallum
LLMediaPluginTest test app. We do not copy over the example plugin to the Second Life client plugin dir.
2009-10-26Fixed up mouseEvent function to reflect mouse buttoncallum
2009-10-15https://jira.lindenlab.com/jira/browse/DEV-40711callum
Implement name fetching capabilities for Webkit and Quicktime plugins Adds support for new PluginAPI message (MEDIA_EVENT_NAME_CHANGED) that updates the "title" of the media. In WebKit plugin this is the contents of the <title> tag. In The QuickTime plugin it is the "display name" from the movie meta data
2009-10-12Changed llmediaplugintest into a bundled app on the mac, to solve some ↵Monroe Linden
issues around the newly-dynamic libllcommon.dylib. This includes making it set the current working directory to a known location inside its bundle on launch. Changed indra/test_apps/llplugintest/CMakeLists.txt to copy various bits now needed inside the app bundle on the mac.
2009-10-05Fixes for a different class of plugin failures (where loading the plugin dll ↵Monroe Linden
fails) causing an error message loop: Made LLPluginProcessParent differentiate between failures launching/loading the plugin and failures after the plugin has been loaded. This allows us to handle launch failures differently, since retrying is unlikely to fix them. Added new media event MEDIA_EVENT_PLUGIN_FAILED_LAUNCH to indicate a launch failure. Added a case for the new event to LLViewerMediaImpl::handleMediaEvent() that sets the "failed init" flag to prevent retries.
2009-09-03build issue - const invariance in llplugintest/llmediaplugintestBrian McGroarty
2009-08-31Removed some final dependencies to Awesomium and Flash ActiveX (mostly ↵Sam Kolb
porting over Callum's change: r132166) DEV-39138 build process on parabuild fails due to missing flash activex plugin
2009-08-31svn merge -r130875:131962 ↵Adam Moss
svn+ssh://svn.lindenlab.com/svn/linden/branches/pluginapi/pluginapi_05_newllqtwebkit DEV-31438 Rename LLMozLib (Qt/WebKit) to something else - LLQtWebKit
2009-08-27svn merge -r 129841:129910 ↵Monroe Williams
svn+ssh://svn.lindenlab.com/svn/linden/branches/moss/pluginapi_05-merge@129910 svn merge -r 129913:131718 svn+ssh://svn.lindenlab.com/svn/linden/branches/pluginapi/pluginapi_05 Some branch shenannigans in the pluginapi_05 branch caused this to become a two-part merge.