summaryrefslogtreecommitdiff
path: root/indra/newview/llviewermedia.cpp
AgeCommit message (Collapse)Author
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.
2009-12-01Fix for "DEV-43581 - EXT-2901: [BSI] Can't access twitter pages directly via ↵callum
MoaP"
2009-11-25merge in changes from viewer-2-0, manually fixed conflict in ↵James Cook
llviewermessages.cpp
2009-11-25Created lightweight LLNotificationsUtil::add(), switched most alerts to use itJames Cook
Cuts number of includes of llnotifications.h from 300+ to 40.
2009-11-23Fix for DEV-42997 404s result in blank pagecallum
Also needs a tweak to LLQtWebKit that stops navigation to 404 URL specified in code if the URL is empty.
2009-11-20Hopefully, really fix DEV-42093.Monroe Linden
2009-11-19Push the policy that "back", "forward" and "stop" do different things out of ↵Rick Pasetto
LLViewerMedia. Now, LLViewerMedia has explicit skipBack() and skipForward() functions, and the buttons in LLPanelPrimMediaControls now map onto those functions neatly.
2009-11-16Fix for usual signed/unsigned int error from Mac developed changes..callum
2009-11-16Made nearby media list sort on distance from avatar instead of priority.Monroe Linden
When the MediaPerformanceManagerDebug debug setting is enabled, the list will sort by priority the way it used to.
2009-11-13Tweaks to media priority calculation.Monroe Linden
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-13Automated merge with ssh://rick@hg.lindenlab.com/viewer/viewer-2-0/Rick Pasetto
2009-11-13Special-case a "401" status ("auth required") in ↵Monroe Linden
LLMimeDiscoveryResponder::error() to be treated as a mime type of "text/html" instead of a failure.
2009-11-13Clear the media texture to black instead of almost-black.Monroe Linden
2009-11-13Add functionality to nearby media floater: parcel media & autoplayRick Pasetto
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-12Couple LLMimeDiscoveryResponder more tightly with LLViewerMediaImpl. This ↵Monroe Linden
should fix DEV-41596, as well as other potential problems.
2009-11-10Fix for DEV-42328 (Muting then Unmuting All Nearby Media resets nearby media ↵Monroe Linden
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-10Fix for DEV-42400 (Mouse pointer location does not map correctly to ↵Monroe Linden
non-square media faces).
2009-11-10Added PluginAttachDebuggerToPlugins debug setting.Monroe Linden
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-09LLViewerMediaImpl now keeps track of which instance is the current parcel ↵Monroe Linden
media instance. The active parcel media instance always gets priority over other inworld media.
2009-11-09Refinement to my previous commit:Monroe Linden
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-09Fix for DEV-42029 (changing media on multiple faces can make a zombie SLPlugin).Monroe Linden
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-05Fix for DEV-39258.Monroe Linden
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).