Commit Graph

37 Commits (8f892d0f36fda170a5cecf0aea89887d6d0e45ef)

Author SHA1 Message Date
Monroe Linden dacc5afbf0 Architectural changes to LLPlugin message processing.
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-04-27 17:25:01 -07:00
Loren Shih b1b5a11bb0 EXT-3075 : Remove swear words from comments across viewer
This bugs me in a minor way.  Did a search-and-cleanup on various swear words.
2010-03-29 15:33:48 -04:00
Monroe Linden ce242821dc Added an "init" message in LLPLUGIN_MESSAGE_CLASS_MEDIA, and made 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-16 16:42:31 -07:00
Monroe Linden ec0a2b9849 The movie URLs we were using on movies.apple.com now need to be accessed as trailers.apple.com instead. 2010-03-16 16:16:04 -07:00
Nat Goodspeed 65ecde210e Fix Mac llmediaplugintest build breakage.
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-05 16:29:37 -05:00
Callum Prentice 34c8f6f7fa Changes to plugin test app in preparation for work on positional per-process audio for media.
Not part of the client and nothing here is deployed - internal testing only.
2010-03-04 14:32:24 -08:00
Monroe Linden fae9c8fe86 Added getNativeKeyData() function to LLWindow and LLWindowMacOSX.
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().
2010-01-18 17:58:12 -08:00
callum b910de4ad7 Client changes to pick up new version of Qt 4.6 with codecs for default text encoding. 2009-12-18 18:44:43 -08:00
callum b7747a815f Merge with tip before push 2009-12-15 17:53:03 -08:00
callum f923f896bc client changes to work with new version of Qt (4.6) and to do some cleanup at plugin exit so that cookies more betterer than what they did before. 2009-12-15 17:50:16 -08:00
Monroe Linden b418328083 When building llmediaplugintest on the mac, copy the llcommon dylib so it can actually run. 2009-12-11 10:50:48 -08:00
Nat Goodspeed 466a8d2664 Fix llmediaplugintest.cpp for non-Windows platforms 2009-12-10 14:10:10 -05:00
Tofu Linden 9abe779c8a last blind fixup for llmediaplugintest. 2009-12-09 14:55:45 -08:00
Tofu Linden 9b0825be5c get llmediaplugintest compiling on win32, dumbly. 2009-12-09 14:48:36 -08:00
Tofu Linden 204ae550d8 blindly fix-up llmediaplugintest.cpp with respect to the recent API change. 2009-12-09 13:59:51 -08:00
callum f693e70c24 Restore a minor change to the media test mule that was checked in by mistake 2009-11-16 19:47:35 -08:00
callum 18eab4a026 Merge with tip 2009-11-16 18:42:35 -08:00
palange ec32310c86 Removed search_dirs and dst_path arguments from ll_deploy_sharedlibs_command()
Fixed mac breakage.
2009-11-05 17:51:50 -08:00
Mark Palange (Mani) 9e69702fe7 Added calls to ll_deploy_sharedlibs_command
Using viewer_manifest.py for windows dependency deployment during build.
Added SHARED_LIBS_REL_PATH var to cmake cache.
2009-11-05 08:52:07 -08:00
callum 91b54876b7 Adds an example plugin and corresponding changes to
LLMediaPluginTest test app. We do not copy over the
example plugin to the Second Life client plugin dir.
2009-10-30 10:48:10 -07:00
callum d8ed8489b0 Fixed up mouseEvent function to reflect mouse button 2009-10-26 09:27:56 -07:00
callum 3008b3fdc0 Main change is pointing install.xml for Windows to new version of LLQtWebKit that has DLLs with no manifest as per recent build change.
Tweaked bookamrks for test app too.
Finally, added fix for DEV-41392 (Home URL Preview should be next to the Home URL)
2009-10-23 16:19:04 -07:00
callum 318e4784d2 No Jira - added some new bookmarks to include Flash based sites
for testing purposes.
2009-10-22 18:09:38 -07:00
callum 4347096803 https://jira.lindenlab.com/jira/browse/DEV-40711
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-15 11:26:52 -07:00
Monroe Linden f154a3a23f Changed llmediaplugintest into a bundled app on the mac, to solve some 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-12 19:47:39 -07:00
brad kittenbrink 50247533f9 Merged latest viewer/login-api with latest viewer/viewer-20 2009-10-07 17:51:28 -07:00
Monroe Linden 374deb8da1 Fixes for a different class of plugin failures (where loading the plugin dll 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-10-05 15:48:00 -07:00
Mark Palange (Mani) 719d369f5a Added copy of llcommon related dlls to llmediaplugintest. 2009-09-28 18:23:04 -07:00
Mark Palange (Mani) 6f4b9d63f8 Added dependcies to create_app_config_file.
Further Clean up of dll copying merge mess.
2009-09-18 19:29:18 -07:00
brad kittenbrink bb1d4592bd Merged latest viewer/viewer-20 into login-api. 2009-09-18 15:22:25 -04:00
Jiao Li bc106b1b4b fix media test app -- reviewed by james 2009-09-09 07:26:56 +00:00
Brian McGroarty ae6c3d7d6c build issue - const invariance in llplugintest/llmediaplugintest 2009-09-03 02:57:14 +00:00
brad kittenbrink bae94e4340 Merged login-api with viewer-2.0.0-3 up through r132290. 2009-09-01 12:21:51 -04:00
Sam Kolb 410e2228fd Removed some final dependencies to Awesomium and Flash ActiveX (mostly porting over Callum's change: r132166)
DEV-39138 build process on parabuild fails due to missing flash activex plugin
2009-08-31 23:08:06 +00:00
brad kittenbrink abf683fe6f Post-merge cleanups (stage_third_party_libs is the new copy_win_libs) 2009-08-31 18:42:28 -04:00
Adam Moss 158946668a svn merge -r130875:131962 svn+ssh://svn.lindenlab.com/svn/linden/branches/pluginapi/pluginapi_05_newllqtwebkit
DEV-31438 Rename LLMozLib (Qt/WebKit) to something else - LLQtWebKit
2009-08-31 17:16:21 +00:00
Monroe Williams 745845f799 svn merge -r 129841:129910 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.
2009-08-27 19:00:18 +00:00