summaryrefslogtreecommitdiff
path: root/slideshow
diff options
context:
space:
mode:
authorZolnai Tamás <tamas.zolnai@collabora.com>2014-07-15 16:57:43 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2014-07-15 16:03:43 +0000
commit595d56b22d3b2ddc11c5c142139311c594170691 (patch)
tree309b634d6c7b5a055cd1d8d69ca9f3ef969d0e98 /slideshow
parentf899e508c35b6170bc11fc2eb4a74ec58d895625 (diff)
Optimize media rendering during slideshow: save one grabFrame() call
'FallbackGraphic' property introduced in: b862a216f769d10e726ad759762b5e6a412acdaf contains the previously called grabFrame's result, so we can use that instead of render the media frame again (it affects glTF models too). In case of huge glTF models it can avoid run out of memory problem. (cherry picked from commit 358d6006f1d9652aaf01661ea8dba4d7ec46d508) Change-Id: Ia93e771e92cc7630480c665dea66fbf571dfa2a0 Reviewed-on: https://gerrit.libreoffice.org/10337 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'slideshow')
-rw-r--r--slideshow/source/engine/shapes/viewmediashape.cxx8
1 files changed, 3 insertions, 5 deletions
diff --git a/slideshow/source/engine/shapes/viewmediashape.cxx b/slideshow/source/engine/shapes/viewmediashape.cxx
index 45e29f70aca9..283930075b8e 100644
--- a/slideshow/source/engine/shapes/viewmediashape.cxx
+++ b/slideshow/source/engine/shapes/viewmediashape.cxx
@@ -196,16 +196,14 @@ namespace slideshow
if( !mpMediaWindow.get() && !mxPlayerWindow.is() )
{
- OUString sURL;
- OUString sMimeType;
+ uno::Reference< graphic::XGraphic > xGraphic;
uno::Reference< beans::XPropertySet > xPropSet( mxShape, uno::UNO_QUERY );
if (xPropSet.is())
{
- xPropSet->getPropertyValue("PrivateTempFileURL") >>= sURL;
- xPropSet->getPropertyValue("MediaMimeType") >>= sMimeType;
+ xPropSet->getPropertyValue("FallbackGraphic") >>= xGraphic;
}
- const Graphic aGraphic(avmedia::MediaWindow::grabFrame(sURL,"",sMimeType));
+ Graphic aGraphic(xGraphic);
const BitmapEx aBmp = aGraphic.GetBitmapEx();
uno::Reference< rendering::XBitmap > xBitmap(vcl::unotools::xBitmapFromBitmapEx(