summaryrefslogtreecommitdiff
path: root/indra/newview/llviewermedia.cpp
AgeCommit message (Collapse)Author
2010-02-09PARTIAL EXT-5261: add new "MediaTentativeAutoPlay" settingRick Pasetto
2010-02-09Automated merge with ssh://rick@hg.lindenlab.com/viewer/viewer-2-0Rick Pasetto
2010-02-08Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0Monroe Linden
2010-02-08Fixed major bug EXT-5022 (streaming media first use dialog should be removed)Eugene Mutavchi
--HG-- branch : product-engine
2010-02-05Media classes + A step toward restructuring Nearby Media floaterRick Pasetto
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-01-29Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0Monroe Linden
2010-01-26Fix for EXT-4708 (ressing cursor or modifier keys while MoaP has input focus ↵Monroe Linden
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-25"Fix" confusion over media settingsRick Pasetto
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-21Partial fix for EXT-4508 (nearby media floater parcel media button breaks rtsp)Monroe Linden
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-19FIX EXT-4172: encode all URLs navigated by the plugin APIRick Pasetto
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().
2010-01-15mergerichard
2010-01-14Fix for EXT-4207 (Viewer crash clicking on an object that starts a script ↵Monroe Linden
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-14Automated merge with ssh://angela@hg.lindenlab.com/james/gooeyangela
2010-01-14EXT-3795 First run messages still display (click & drag on map, Build tools ↵angela
open, movement controlled, etc)
2010-01-11Fix for black/grey look at login screen and backspace going back in ↵Monroe Linden
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-11Fix build issue with ba93e704bd4fRick Pasetto
2010-01-08Made AudioStreamingMedia setting control loading of prim media as well as ↵Monroe Linden
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-06Fix for EXT-3730 (Current (temporary) Find URL returns an HTTP status code ↵Monroe Linden
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-05Lots of fixes to parcel audio playing/stopping/autoplaying/firstuse policy.Tofu Linden
2010-01-05Fix for EXT-3664/DEV-43374 (MEDIA SETTINGS Reset button does not work if ↵Monroe Linden
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.
2009-12-29Fix for EXT-3758 (DEV-44584) - media will not display join.secondlife.comCallum Prentice
Reviewed by CB
2009-12-28Fix for EXT-3730 (HTTP response code of 500 from Find floater URL breaks it)callum
Reviewed by Sam
2009-12-17mergeRick Pasetto
2009-12-17Turned debug spam in LLViewerMedia::isInterestingEnough() down to lldebugs.Monroe Linden
2009-12-17Rearranged the handling of error status codes in LLMimeDiscoveryResponder. ↵Monroe Linden
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-17Quiet some logging, make sure if 1024 is lowest we still load itRick Pasetto
2009-12-17Set an explicit "Accept" header when doing the MIME type probe. This ↵Monroe Linden
prevents LLHTTPClient from adding an "Accept: application/llsd+xml", which is just wrong.
2009-12-17Made LLPanelLogin tell the browser plugin to clear its cache before opening ↵Monroe Linden
the login screen. Added clearCache() functions to LLViewerMediaImpl and LLMediaCtrl to facilitate this.
2009-12-14Change LLViewerMedia::isInterestingEnough() to also check selectionRick Pasetto
If the object is in the selection, its interesting. Load its media data ASAP. Conceptually reviewed by monroe
2009-12-14Only do the "lowest interest loadable" calculation if we've already hit the ↵Monroe Linden
PluginInstancesTotal cap. Otherwise, we always need to load the top media data item.
2009-12-14Made LLViewerMedia::isInterestingEnough() take the performance manager's ↵Monroe Linden
priority list list into account.
2009-12-14Allow selection of media faces even if there is no impl. We recordRick Pasetto
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-11Merge media back into viewer 2-0skolb
2009-12-11Merge viewer 2-0 into mediaskolb
2009-12-10Fix for the last case in DEV-43052.Monroe Linden
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-09DEV-43948 viewer2 is writing session data into the 'read-only' installation ↵Tofu Linden
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-08Performance improvements for the nearby media floater when lots of media is ↵Monroe Linden
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-08Web teams needs us to support 403 response codes for some trickery they are ↵callum
doing with Help pages.
2009-12-08DEV-43439: Created new LLVersionInfo API.Lynx Linden
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-07DEV-43439: Rename llviewerbuild.{cpp|h} -> llviewerversion.{cpp|h}Lynx Linden
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-07DEV-43439: Added calls to query the viewer version.Lynx Linden
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-03Fix for DEV-43696 (media streams should have hard limit of 8)Monroe Linden
This was just an off-by-one error in the hard limit calculation (> instead of >=).
2009-12-02local mergeskolb
2009-12-02unify the two media auto play preferences into one. The ↵skolb
ParcelMediaAutoPlayEnable flag now controls both (horribly named, but must be preserved for legacy purposes).
2009-12-02Changed the behavior of LLViewerMediaImpl::setDisabled() to interact more ↵Monroe Linden
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-02Minor changes from review feedbackRick Pasetto
get rid of thunk function
2009-12-01Automated merge with ssh://rick@hg.lindenlab.com/skolb/mediaRick Pasetto
2009-12-01Fix for EXT-2892/DEV-43568 (if a face is set to show multiple texture ↵Monroe Linden
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-01DEV-42989: Adjust media priority based on app minimization and focusRick Pasetto
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.