summaryrefslogtreecommitdiff
path: root/indra/media_plugins/quicktime/media_plugin_quicktime.cpp
diff options
context:
space:
mode:
authorRick Pasetto <rick@lindenlab.com>2009-10-13 10:01:25 -0700
committerRick Pasetto <rick@lindenlab.com>2009-10-13 10:01:25 -0700
commit64514057a4daabf068d37db80cbf83fd30e30cf7 (patch)
treed7e52cb1abc09d42ad49c384e6cc8cf47192874d /indra/media_plugins/quicktime/media_plugin_quicktime.cpp
parent780719c14c6c2921eaf0a6021a4082b5486efafb (diff)
parentf154a3a23f9dad1e4222ad0f90a40f4f79b38508 (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.cpp14
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 );