diff options
author | Rick Pasetto <rick@lindenlab.com> | 2009-10-13 10:01:25 -0700 |
---|---|---|
committer | Rick Pasetto <rick@lindenlab.com> | 2009-10-13 10:01:25 -0700 |
commit | 64514057a4daabf068d37db80cbf83fd30e30cf7 (patch) | |
tree | d7e52cb1abc09d42ad49c384e6cc8cf47192874d /indra/media_plugins/quicktime/media_plugin_quicktime.cpp | |
parent | 780719c14c6c2921eaf0a6021a4082b5486efafb (diff) | |
parent | f154a3a23f9dad1e4222ad0f90a40f4f79b38508 (diff) |
Merge from remote repo
Diffstat (limited to 'indra/media_plugins/quicktime/media_plugin_quicktime.cpp')
-rw-r--r-- | indra/media_plugins/quicktime/media_plugin_quicktime.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/indra/media_plugins/quicktime/media_plugin_quicktime.cpp b/indra/media_plugins/quicktime/media_plugin_quicktime.cpp index fbda65120d..556865f771 100644 --- a/indra/media_plugins/quicktime/media_plugin_quicktime.cpp +++ b/indra/media_plugins/quicktime/media_plugin_quicktime.cpp @@ -103,6 +103,7 @@ private: message.setValueReal("current_time", getCurrentTime()); message.setValueReal("duration", getDuration()); message.setValueReal("current_rate", Fix2X(GetMovieRate(mMovieHandle))); + message.setValueReal("loaded_duration", getLoadedDuration()); } sendMessage(message); @@ -593,6 +594,19 @@ private: return (F64)duration / (F64)scale; }; + F64 getLoadedDuration() + { + TimeValue duration; + if(GetMaxLoadedTimeInMovie( mMovieHandle, &duration ) != noErr) + { + // If GetMaxLoadedTimeInMovie returns an error, return the full duration of the movie. + duration = GetMovieDuration( mMovieHandle ); + } + TimeValue scale = GetMovieTimeScale( mMovieHandle ); + + return (F64)duration / (F64)scale; + }; + F64 getCurrentTime() { TimeValue curr_time = GetMovieTime( mMovieHandle, 0 ); |