Commit Graph

193 Commits (8f892d0f36fda170a5cecf0aea89887d6d0e45ef)

Author SHA1 Message Date
Rick Pasetto 0e234edcc6 EXT-5270: Implement "dynamic" controls based on the selected item in Nearby Media
Review #112
This change adds controls that change state based on the selection in the nearby media panel. There are basically 3 sets:
- Time-based
- Web-based ("Normal")
- Disabled

Again, these change based on what you've got selected in the panel
2010-02-16 15:42:33 -08:00
Tofu Linden a623f852cd EXT-5394 [crashhunters] Crash in LLViewerMediaImpl::calculateInterest() 2010-02-16 14:17:09 +00:00
Rick Pasetto ffd962f3a3 EXT-5267 EXT-5268: Add Parcel Media and Parcel Audio items to nearby media panel
Review #109

This (fairly major) change adds new "items" to the media list for
Parcel Media and Parcel Audio. Since these items are special (before
the items were always MoaP impls), they had to be treated
special. Moreover, actions on all of "media" had to be centralized so
that they would have similar behavior.
2010-02-12 13:38:17 -08:00
Rick Pasetto 234f5a48a7 Code review feedback: add comments, move teleport hook to a callback in llviewermedia
Review #100
2010-02-10 17:31:46 -08:00
Rick Pasetto c680368e19 EXT-5261 EXT-5263 EXT-5265 EXT-5266 EXT-5271 - Reformat NMF and enable behavior of media toggle in chrome
Review #100 http://10.1.19.90:8080/go?page=ReviewDisplay&reviewid=100

This encompasses the first of the behavioral and structural changes for the Nearby Media Floater and the chrome button at the top of the UI. It includes:
- Removal of the Parcel Media and Parcel Audio UI. Still not in the list yet.
- New More/Less button, which doesn't quite work right (see below)
- Changed icon for UI chrome
- Enabled "turning on" and "turning off" media from the chrome and NMF
- Added gear icon to bring up prefs
- XUI changes to the structure of NMF
- Implementation of the "tentative" autoplay flag

This is basically a checkpoint so that Richard can help with the More/Less implementation
2010-02-10 14:28:46 -08:00
Rick Pasetto 3aa7e1b0c1 PARTIAL EXT-5261: add new "MediaTentativeAutoPlay" setting 2010-02-09 13:47:13 -08:00
Rick Pasetto 8fdb199707 Automated merge with ssh://rick@hg.lindenlab.com/viewer/viewer-2-0 2010-02-09 09:49:57 -08:00
Monroe Linden d321c6aa98 Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0 2010-02-08 15:43:07 -08:00
Eugene Mutavchi d60d73a9e0 Fixed major bug EXT-5022 (streaming media first use dialog should be removed)
--HG--
branch : product-engine
2010-02-08 18:32:53 +02:00
Rick Pasetto b8a46c81ee Media classes + A step toward restructuring Nearby Media floater
Several changes here:
- Implemented support for "media classification": see http://docs.google.com/a/lindenlab.com/View?id=ddznhrqn_29vhnr2pg8
- Added settings for auto-playing of said classifications
Nearby Media Floater:
- On/Off buttons are now explicit...no more power buttons
- Parcel Media and Parcel Audio are "lighter weight", with no more on/off
- List now sorts with playing items at top, non-playing below
- There is now a "Show" drop-down that filters the list by classification
- Added checkboxes to the bottom to control auto-play settings

More work is needed, so consider this a checkpoint
2010-02-05 12:06:57 -08:00
Monroe Linden a4aed31ad9 Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0 2010-01-29 14:49:18 -08:00
Monroe Linden 86cab299b0 Fix for EXT-4708 (ressing cursor or modifier keys while MoaP has input focus gives an error in the log "WARNING: ll_apr_warn_status: APR: File exists")
The attempt to create a directory should no longer be necessary with webkit.  This code has been removed.
2010-01-26 17:33:23 -08:00
Rick Pasetto af83fe79d8 "Fix" confusion over media settings
Review #89

This implements the changes Sam wanted in order to reduce the confusion over media enabled-ness, in particular:
- "Media Enabled" pref now only controls "AudioStreamingMedia"
- No more "tentative" state
- New "Music Enabled" pref
- First run dialog controls Media and Music (Sam, this is a change from your request...I think it works better)
- Put a reflection of the "Media Enabled" checkbox in the Nearby Media Floater
- Get rid of the "AudioStreamingVideo" setting altogether (whatever used it, it should now obey "AudioStreamingMedia").
2010-01-25 10:04:56 -08:00
Monroe Linden 96721b3ccc Partial fix for EXT-4508 (nearby media floater parcel media button breaks rtsp)
This is actually two seperate issues:

1) After disabling parcel media from the nearby media floater, it can't be re-enabled
2) When you disable parcel media from the nearby media floater, faces displaying it don't revert to their original texture

This change fixes issue (1), by forcing the priority of the inworld media instance to normal in LLViewerMedia::updateMedia() so it will always get reloaded instead of possibly being kept unloaded due to already-loaded prim media.

Issue (2) is still under investigation.  In addition to the case where you disable parcel media from the nearby media floater, it also doesn't restore the textures when you leave the parcel, and I think I've even seen it when unloading
2010-01-21 15:39:14 -08:00
Rick Pasetto 72684c15f7 FIX EXT-4172: encode all URLs navigated by the plugin API 2010-01-19 12:24:50 -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
richard 109b79e9ad merge 2010-01-15 10:15:57 -08:00
Monroe Linden 3b55ac4fbb Fix for EXT-4207 (Viewer crash clicking on an object that starts a script that navigates in a while(1) loop)
Don't allow LLViewerMediaImpl to process a navigateInternal during the call to LLPluginClassMedia::idle().  This prevents untimely destruction of the LLPluginClassMedia and LLPluginMessagePipe objects, which was causing the crash.

Reviewed by Rick.
2010-01-14 16:35:33 -08:00
angela 82b073be87 Automated merge with ssh://angela@hg.lindenlab.com/james/gooey 2010-01-14 11:40:58 +08:00
angela 433eb89473 EXT-3795 First run messages still display (click & drag on map, Build tools open, movement controlled, etc) 2010-01-14 09:38:46 +08:00
Monroe Linden 3b2697cb93 Fix for black/grey look at login screen and backspace going back in search/help windows. This should address EXT-4097.
Added a notion of "background color" to LLViewerMediaImpl and LLPluginClassMedia.
Added background color parameters to the size_change message.
Webkit plugin now sets the background color of the instance from the supplied background color, and navigates to a data: url with that background color instead of about:blank as its initial navigate.
Webkit plugin now no longer waits for the first onPageChanged event
LLViewerMediaImpl now clears the texture to the background color when initializing it.
Made LLMediaCtrl fill with its opaque background color when the media impl isn't set up yet.
Removed the initial data URL from the search and help floaters, since what it was doing is now handled internally by the new background color code.

Reviewed by callum and rick.
2010-01-11 17:54:05 -08:00
Rick Pasetto 0b63977570 Fix build issue with ba93e704bd4f 2010-01-11 09:53:24 -08:00
Monroe Linden b88563b23b Made AudioStreamingMedia setting control loading of prim media as well as parcel media.
Moved the media first-run dialog code from llviewerparcelmedia.cpp to llviewermedia.cpp, and made it come up for both prim and parcel media.
2010-01-08 17:33:44 -08:00
Monroe Linden 2978609575 Fix for EXT-3730 (Current (temporary) Find URL returns an HTTP status code of 500 (Internal server error))
We now no longer check the error code returned from the MIME type probe.
If we have a mime type, use it, regardless of the status.  If not, default to the web plugin and let it handle error reporting.
2010-01-06 11:38:00 -08:00
Tofu Linden 0c91cfc49c Lots of fixes to parcel audio playing/stopping/autoplaying/firstuse policy. 2010-01-05 19:04:45 -08:00
Monroe Linden 34191fcc2c Fix for EXT-3664/DEV-43374 (MEDIA SETTINGS Reset button does not work if current URL is a quicktime movie)
LLViewerMediaImpl::initializeMedia() was assuming an invalid invariant (that mMimeType was associated with the currently loaded plugin).  Fixed by adding a new member variable, mCurrentMimeType, which reflects the MIME type that caused the currently loaded plugin to be loaded, and using that instead of mMimeType when determining whether to reload the plugin.
2010-01-05 16:16:57 -08:00
Callum Prentice 9f5187d338 Fix for EXT-3758 (DEV-44584) - media will not display join.secondlife.com
Reviewed by CB
2009-12-29 12:30:33 -08:00
callum dd1fb1568e Fix for EXT-3730 (HTTP response code of 500 from Find floater URL breaks it)
Reviewed by Sam
2009-12-28 13:25:48 -08:00
Rick Pasetto f8f9e5a7fb merge 2009-12-17 13:53:44 -08:00
Monroe Linden 3f165e1766 Turned debug spam in LLViewerMedia::isInterestingEnough() down to lldebugs. 2009-12-17 12:11:23 -08:00
Monroe Linden 2475335994 Rearranged the handling of error status codes in LLMimeDiscoveryResponder. We should now deal with many more classes of subtly misbehaving web servers, and will use the returned MIME type for 4xx errors instead of guessing text/html. 2009-12-17 12:08:44 -08:00
Rick Pasetto 20e51aa3aa Quiet some logging, make sure if 1024 is lowest we still load it 2009-12-17 11:52:15 -08:00
Monroe Linden 0f7e49dea1 Set an explicit "Accept" header when doing the MIME type probe. This prevents LLHTTPClient from adding an "Accept: application/llsd+xml", which is just wrong. 2009-12-17 11:11:45 -08:00
Monroe Linden 1f377c6b53 Made LLPanelLogin tell the browser plugin to clear its cache before opening the login screen.
Added clearCache() functions to LLViewerMediaImpl and LLMediaCtrl to facilitate this.
2009-12-17 11:10:03 -08:00
Rick Pasetto c0eb697a53 Change LLViewerMedia::isInterestingEnough() to also check selection
If the object is in the selection, its interesting.  Load its media data
ASAP.

Conceptually reviewed by monroe
2009-12-14 17:39:24 -08:00
Monroe Linden 2078125f9a Only do the "lowest interest loadable" calculation if we've already hit the PluginInstancesTotal cap. Otherwise, we always need to load the top media data item. 2009-12-14 16:44:22 -08:00
Monroe Linden 38483348ee Made LLViewerMedia::isInterestingEnough() take the performance manager's priority list list into account. 2009-12-14 15:15:08 -08:00
Rick Pasetto da3ca7c5b9 Allow selection of media faces even if there is no impl. We record
the target object and use that fact to raise its interest level.

This is mostly a pass-off for monroe to take and run with
2009-12-14 12:03:44 -08:00
skolb f0da8a7420 Merge media back into viewer 2-0 2009-12-11 09:07:39 -08:00
skolb 6542ffe2f0 Merge viewer 2-0 into media 2009-12-11 08:49:37 -08:00
Monroe Linden 8eb2f3bd0f Fix for the last case in DEV-43052.
In proximity_comparitor(), if the impls have exactly the same distance, return the result of comparing the impl pointers.  This will give them a completely arbitrary ordering, but it will be stable...
2009-12-10 15:17:32 -08:00
Tofu Linden 197de032e1 DEV-43948 viewer2 is writing session data into the 'read-only' installation tree (mostly media stuff)
propagate the parent app's OSUserAppDir (i.e. ~/.secondlife/) all the way down to plugins, if they need persistant user data/settings (like the webkit plugin needs a place to put its cache).
2009-12-09 12:57:10 -08:00
Monroe Linden ce18034e65 Performance improvements for the nearby media floater when lots of media is present.
Added LLViewerMediaImpl::mInNearbyMediaList for LLFloaterNearbyMedia::refreshList() to use to keep track of which elements it's seen -- this allows us to remove a linear search in an inner loop.

Added a map from texture ID to media impl pointer in LLViewerMedia/LLViewerMediaImpl.  This allows LLViewerMedia::getMediaImplFromTextureID() to be a std::map lookup instead of a linear search.

In LLFloaterNearbyMedia, call sortByColumnIndex in postBuild instead of in addMediaItem().  The latter was causing some unnecessary re-sorting.


Hf: Enter commit message.  Lines beginning with 'HG:' are removed.
2009-12-08 18:17:32 -08:00
callum b37fab7a5d Web teams needs us to support 403 response codes for some trickery they are doing with Help pages. 2009-12-08 17:25:00 -08:00
Lynx Linden 98111a40ec DEV-43439: Created new LLVersionInfo API.
Renamed llviewerversion to llversioninfo, to avoid confusion with
llversionviewer in llcommon (llversion is already used by llwindow).

Created new LLVersionInfo class with the following methods:

        static S32 getMajor();
        static S32 getMinor();
        static S32 getPatch();
        static S32 getBuild();
        static const std::string &getVersion();
        static const std::string &getShortVersion();
        static const std::string &getChannel();

All viewer code has been updated to use this API. Viewer code no
longer directly includes llversionviewer.h from llcommon.
2009-12-08 14:56:19 +00:00
Lynx Linden 24cba353a4 DEV-43439: Rename llviewerbuild.{cpp|h} -> llviewerversion.{cpp|h}
This module now contains general viewer version routines, not just
access to the viewer build number, so I've renamed it from
llviewerbuild to llviewerversion.
2009-12-07 20:30:29 +00:00
Lynx Linden de2f8212f0 DEV-43439: Added calls to query the viewer version.
Rather than copy/paste the same version string formatting pattern
again, I added new string-based version routines:

/// return the full viewer version as a string like "2.0.0.200030"
const std::string &llGetViewerVersion();

/// return the viewer version as a string like "2.0.0"
const std::string &llGetViewerShortVersion();

/// return the viewer build version as a string, e.g., "200130"
const std::string &llGetViewerBuildVersion();
2009-12-07 20:05:52 +00:00
Monroe Linden cfe5ac7684 Fix for DEV-43696 (media streams should have hard limit of 8)
This was just an off-by-one error in the hard limit calculation (> instead of >=).
2009-12-03 11:34:53 -08:00
skolb 469f17f9c2 local merge 2009-12-02 18:20:27 -08:00
skolb 533988ee86 unify the two media auto play preferences into one. The ParcelMediaAutoPlayEnable flag now controls both (horribly named, but must be preserved for legacy purposes). 2009-12-02 18:12:30 -08:00
Monroe Linden 44d5fcb776 Changed the behavior of LLViewerMediaImpl::setDisabled() to interact more predictably with auto-play.
Disabling and re-enabling media should work much more like teleporting away and teleporting back -- media will respect the auto-play flag when reloading, instead of returning to its previous load state.
2009-12-02 17:34:27 -08:00
Rick Pasetto 4c3d08b665 Minor changes from review feedback
get rid of thunk function
2009-12-02 12:16:49 -08:00
Rick Pasetto b92fe4351c Automated merge with ssh://rick@hg.lindenlab.com/skolb/media 2009-12-01 18:45:40 -08:00
Monroe Linden f4e40360e5 Fix for EXT-2892/DEV-43568 (if a face is set to show multiple texture repeats, only one of the repeats is interactive)
Added LLViewerMediaImpl::scaleTextureCoords() function to encapsulate the code that maps from texture coordinates to media coordinates.

Made scaleTextureCoords() wrap the texture coordinate to the range [0.0, 1.0) before converting to media coordinates.
2009-12-01 16:55:35 -08:00
Rick Pasetto 659dc5224e DEV-42989: Adjust media priority based on app minimization and focus
Review #49

This change adjusts each media's priority based on whether the viewer is minimized (media priority becomes HIDDEN) or unfocused (media priority becomes LOW). However, due to the fact that updateMedia() was no longer being called when minimized, I moved its call out of LLViewerTextureList::updateImages() (a seemingly odd place anyway) and into its own idle callback.
2009-12-01 15:38:09 -08:00
callum 55f4ad3dc8 Fix for "DEV-43581 - EXT-2901: [BSI] Can't access twitter pages directly via MoaP" 2009-12-01 11:47:38 -08:00
James Cook 957055396d merge in changes from viewer-2-0, manually fixed conflict in llviewermessages.cpp 2009-11-25 12:31:24 -08:00
James Cook cbc0783cd1 Created lightweight LLNotificationsUtil::add(), switched most alerts to use it
Cuts number of includes of llnotifications.h from 300+ to 40.
2009-11-25 01:15:50 -08:00
callum fdf80d2af3 Fix for DEV-42997 404s result in blank page
Also needs a tweak to LLQtWebKit that stops navigation to
404 URL specified in code if the URL is empty.
2009-11-23 17:35:47 -08:00
Monroe Linden 20bcd7efeb Hopefully, really fix DEV-42093. 2009-11-20 15:07:48 -08:00
Rick Pasetto a8b603f33e Push the policy that "back", "forward" and "stop" do different things out of LLViewerMedia.
Now, LLViewerMedia has explicit skipBack() and skipForward()
functions, and the buttons in LLPanelPrimMediaControls now map
onto those functions neatly.
2009-11-19 18:34:37 -08:00
callum 16fa3a40e3 Fix for usual signed/unsigned int error from Mac developed changes.. 2009-11-16 18:41:53 -08:00
Monroe Linden d504efe301 Made nearby media list sort on distance from avatar instead of priority.
When the MediaPerformanceManagerDebug debug setting is enabled, the list will sort by priority the way it used to.
2009-11-16 16:52:43 -08:00
Monroe Linden a58dd26b20 Tweaks to media priority calculation.
Enabled CPU limit setting by default (set to 100% of 1 CPU).

Lowered default limits on plugin priorities: 2 normal+, 4 low, 8 total.

Limit on total number of instances now only applies to inworld media -- media instances in the UI (such as the help browser and search) don't count toward the limit.  UI media will still bump inworld media down from normal/low priority, though.

Several improvements to plugin manager debug code in the nearby media list.

Don't load unloaded instances that are at PRIORITY_SLIDESHOW or PRIORITY_HIDDEN (they don't get unloaded, they just won't be loaded unless they're at higher priority).

Added LLViewerMediaImpl::isPlayable(), which indicates whether an instance would be loaded if it were high enough in the priority list (taking into account autoplay and current load state).  Priority algorithm now takes this into account.

Fixed a couple of issues with approximate texture interest calculation and its use in setting priorities.

Adjusted sleep times on low and normal priorities to be more friendly.
2009-11-13 18:15:35 -08:00
Rick Pasetto 4ca8b32bce Automated merge with ssh://rick@hg.lindenlab.com/viewer/viewer-2-0/ 2009-11-13 15:11:10 -08:00
Monroe Linden d191143cbc Special-case a "401" status ("auth required") in LLMimeDiscoveryResponder::error() to be treated as a mime type of "text/html" instead of a failure. 2009-11-13 13:47:18 -08:00
Monroe Linden 39c53fcf0e Clear the media texture to black instead of almost-black. 2009-11-13 13:05:56 -08:00
Rick Pasetto 2e70e4e2d7 Add functionality to nearby media floater: parcel media & autoplay
This change implements the enabling/disabling of parcel media,
as well as setting the user's autoplay preference.  I still
am quite confused by this UI, so we'll need to play with it a bit
to ensure it is what we want to present to users.

This adds a few helpers to llviewerparcelmedia to get the name and URL
of media.
2009-11-13 12:59:17 -08:00
Monroe Linden 4a020b2a1a Couple LLMimeDiscoveryResponder more tightly with LLViewerMediaImpl. This should fix DEV-41596, as well as other potential problems. 2009-11-12 18:25:42 -08:00
Monroe Linden 8ec85a68ac Fix for DEV-42328 (Muting then Unmuting All Nearby Media resets nearby media to Home URL).
Fixed by having LLViewerMedia::updateMediaImpl() copy the media entry's current URL into the media impl's mMediaURL in the case where the impl has a non-empty media URL but the function doesn't do a navigate.
2009-11-10 18:47:03 -08:00
Monroe Linden 9d2102519d Fix for DEV-42400 (Mouse pointer location does not map correctly to non-square media faces). 2009-11-10 16:49:57 -08:00
Monroe Linden 2fd31363f7 Added PluginAttachDebuggerToPlugins debug setting.
Added accessors to get platform-specific process ID from LLProcessLauncher.

Added an optional "debug" argument to LLPluginClassMedia::init() and LLPluginProcessParent::init() (defaults to false).

Mac only: made the state machine in LLPluginProcessParent::idle() open a new window in Terminal.app with a gdb session attached to the plugin process upon successful launch.
2009-11-10 15:57:26 -08:00
Monroe Linden ca1356d465 LLViewerMediaImpl now keeps track of which instance is the current parcel media instance.
The active parcel media instance always gets priority over other inworld media.
2009-11-09 18:41:55 -08:00
Monroe Linden 312e7d21a4 Refinement to my previous commit:
Created LLViewerMediaImpl::unload(), which unloads the media and clears internal state (such as the last-navigated URL) to keep it from getting reloaded.

LLViewerMedia::updateMediaImpl() now calls unload() on the impl instead of just using destroyMediaSource().
2009-11-09 17:11:13 -08:00
Monroe Linden caadf0be39 Fix for DEV-42029 (changing media on multiple faces can make a zombie SLPlugin).
Made LLViewerMedia::updateMediaImpl() unload the impl's media plugin when the current URL goes empty.

Made LLVOVolume::syncMediaData() call removeMediaImpl() if the media data gets deleted.
2009-11-09 16:19:33 -08:00
Monroe Linden 81192236ac Fix for DEV-39258.
When the amount of the texture that's being drawn by the plugin shrinks in either width or height, reallocate the texture (which clears it).
2009-11-05 16:08:04 -08:00
Monroe Linden 7d23b84327 Hook up LLViewerMediaImpl::getName() to call through to LLPluginClassMedia::getMediaName() as it should. 2009-11-02 10:55:25 -08:00
Monroe Linden 9e602de33a On a double-click in the nearby media list, try to focus/zoom in on the prim holding the media. 2009-10-30 17:46:48 -07:00
Monroe Linden 123db56856 Initial pass at filling in the list in the nearby media floater. 2009-10-30 17:32:23 -07:00
Rick Pasetto 9abcf6684e Add implementation for adding and removing items to and from the nearby media list scroll control 2009-10-30 16:08:49 -07:00
Monroe Linden 1fbacbaa9a Partial implementation of LLFloaterNearbyMedia::refreshList(), with many TODO sections and a bit of ifdef-ed out pseudocode.
Initial pass at LLViewerMediaImpl::getProximity().  Currently it just returns the position in the priority list, but that will change.
2009-10-30 14:52:33 -07:00
Monroe Linden d6363c6c7a Fixed a couple problems with getPriorityList(). 2009-10-30 14:07:23 -07:00
Monroe Linden 130fe8184d Fix a couple other build issues with my previous commit. 2009-10-30 12:48:44 -07:00
Monroe Linden 043d2d1f9d Hooks for the "nearby media" UI.
Added LLViewerMediaImpl::set/getDisabled(), which will prevent a media instance from loading.

Added LLViewerMedia::set/getInWorldMediaDisabled(), which will disable all inworld media fom loading.

Added LLViewerMedia::getPriorityList() and made the priority comparitor public.
2009-10-30 12:33:25 -07:00
Monroe Linden 8357fe51aa Added LLViewerMediaImpl::scrollWheel() to route scroll wheel events through the media impl.
The horizontal scroll arrows in the media controls now send horizontal scrollwheel events instead of arrow keys.
2009-10-29 16:10:37 -07:00
Monroe Linden 4d1a2ef2d1 Fix for DEV-41978 (media controls URL is incorrect after whitelist bounces webpage back).
Added LLViewerMediaImpl::getCurrentMediaURL(), which reflects the most recent url either set with navigateTo or received from the plugin via locationChanged/navigateComplete.  LLViewerMediaImpl now uses this when reload() is called.

LLPanelPrimMediaControls now uses getCurrentMediaURL() to get the url it displays in the URL input bar and opens with the pop-out control.
2009-10-29 16:09:27 -07:00
Monroe Linden 8ae2f388b6 Fixes for DEV-41791 and DEV-41920.
Reworked some of the autoplay logic in LLViewerMediaImpl to try and make it more consistent when media is unloaded and reloaded by the performance manager.

LLViewerMediaImpl will now keep track of the media state and current time of media that it unloads for performance reasons, and attempt to restore playing or paused media to the same playhead time and state (playing or paused) when it reloads.

Added "done" status that time-based media plugins can use to indicate that they've reached the end of the media and stopped.

Added logging of priority transitions, for use in debugging issues with the peformance manager.
2009-10-28 17:34:03 -07:00
Monroe Linden b2a64d204d Fake a key-up event after each key-down sent to a plugin. 2009-10-27 17:51:24 -07:00
Monroe Linden 9423f756e0 When media impls crash, don't auto-reload them without some trigger (such as clicking on the object again or an incoming NAVIGATE event). This should fix the crash-reload loop issue.
Also, be smarter about counting media impls for the hard cap (never count impls that aren't loaded).
2009-10-27 16:15:26 -07:00
Monroe Linden cb9d4e5401 Change some logging in LLViewerMediaImpl::navigateTo() to be more explicit about what's happening. 2009-10-27 15:06:03 -07:00
Monroe Linden ea020bea59 Fix for DEV-41435 and DEV-41434 (unload media instances associated with muted objects/object owners)
Unloading based on object owner isn't completely reliable, because the viewer doesn't have owner data for all objects it knows about.
2009-10-27 14:27:48 -07:00
Monroe Linden 7f25433ccb Volume controls in the media HUD should now work -- this fixes DEV-41746, DEV-41748, and DEV-40782.
Added LLPluginClassMedia::getVolume().

Added setVolume/getVolumeupdateVolume methods to LLViewerMediaImpl.

LLViewerMedia::setVolume() now no longer overrides the volume settings on all media instances -- it now sets a "global volume" value which is multiplied by all instances' volumes to modulate them.

Cleaned up volume/mute handling in LLPanelMediaHUD (made it go through the LLViewerMediaImpl interface instead of directly through LLPluginClassMedia, and removed the mMediaVolume member variable, since the media impl now stores that state).
2009-10-26 17:13:38 -07:00
callum 62e0e51b43 Merge 2009-10-23 17:08:36 -07:00
skolb 913786a62b DEV-41787 Media Auto Play controls were removed from prefs. Also made auto play override prim settings. 2009-10-23 15:29:00 -07:00
Monroe Linden 376deff7a3 Changes to match new version of llqtwebkit -- passing modifier keys through to most user events and using new scroll wheel event. 2009-10-23 14:28:21 -07:00
Monroe Linden c1583be773 Fix for DEV-41542 (hitting Tab at google login on MoaP inserts a character into the password field).
Moved some special-case handling from LLMediaCtrl::handleKeyHere/handleUnicodeCharHere to LLViewerMediaImpl::handleKeyHere/handleUnicodeCharHere so that the key handling for LLViewerMediaFocus gets the benefit of it as well.
2009-10-21 17:34:07 -07:00
Monroe Linden 19d23352bd Fix for DEV-41567 (MoaP lags from "WARNING: LLViewerMediaImpl::calculateInterest: no texture!" log spam).
This log statement used to be an anomaly, but now that media can be unloaded it's a relatively common case.
2009-10-20 19:37:48 -07:00
Monroe Linden 6b4b69c234 Fix for clicking "home" or "reload" on a web media prim causing a flash of the underlying texture. 2009-10-20 19:36:46 -07:00
Monroe Linden b583bfd3a0 Fix for a case where the webkit plugin never generates a LOCATION_CHANGED event at all. 2009-10-19 17:17:39 -07:00
angela@angelas-macbook-pro.local fce7032853 make callbacks for media hud control data driven, add whitelist indicator , add secure browsing indicator 2009-10-19 19:00:59 +08:00