[Libreoffice-commits] core.git: Branch 'libreoffice-4-3-0' - avmedia/source
Zolnai Tamás
tamas.zolnai at collabora.com
Mon Jul 14 04:30:26 PDT 2014
avmedia/source/opengl/oglframegrabber.cxx | 7 ++++++-
avmedia/source/opengl/oglwindow.cxx | 7 ++++++-
2 files changed, 12 insertions(+), 2 deletions(-)
New commits:
commit aa2085accb9fe7b20b36109340ee03b8a16fd43f
Author: Zolnai Tamás <tamas.zolnai at collabora.com>
Date: Mon Jul 14 00:21:55 2014 +0200
glTF: More rendering related error handling
If any error occurs related to glTF rendering, a question
mark is displayed at the place of the OpenGL window
(Question mark is a general concept of media objects).
Change-Id: Id7df5a47a4dd6832e640b3a7cb3c7712ebfb4408
(cherry picked from commit 58fd5a6dd6d5d599df88c9fd4ed5257577562bd9)
Reviewed-on: https://gerrit.libreoffice.org/10276
Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/avmedia/source/opengl/oglframegrabber.cxx b/avmedia/source/opengl/oglframegrabber.cxx
index cca8cc0..2f76436 100644
--- a/avmedia/source/opengl/oglframegrabber.cxx
+++ b/avmedia/source/opengl/oglframegrabber.cxx
@@ -38,7 +38,12 @@ uno::Reference< css::graphic::XGraphic > SAL_CALL OGLFrameGrabber::grabFrame( do
{
boost::scoped_array<sal_uInt8> pBuffer(new sal_uInt8[m_rHandle.viewport.width * m_rHandle.viewport.height * 4]);
glTFHandle* pHandle = &m_rHandle;
- gltf_renderer_get_bitmap(&pHandle, 1, (char*)pBuffer.get(), GL_BGRA);
+ int nRet = gltf_renderer_get_bitmap(&pHandle, 1, (char*)pBuffer.get(), GL_BGRA);
+ if( nRet != 0 )
+ {
+ SAL_WARN("avmedia.opengl", "Error occured while rendering to bitmap! Error code: " << nRet);
+ return uno::Reference< css::graphic::XGraphic >();
+ }
BitmapEx aBitmap = OpenGLHelper::ConvertBGRABufferToBitmapEx(pBuffer.get(), m_rHandle.viewport.width, m_rHandle.viewport.height);
return Graphic( aBitmap ).GetXGraphic();
}
diff --git a/avmedia/source/opengl/oglwindow.cxx b/avmedia/source/opengl/oglwindow.cxx
index c748ca1..e02051c 100644
--- a/avmedia/source/opengl/oglwindow.cxx
+++ b/avmedia/source/opengl/oglwindow.cxx
@@ -34,7 +34,12 @@ OGLWindow::~OGLWindow()
void SAL_CALL OGLWindow::update() throw (css::uno::RuntimeException, std::exception)
{
m_rContext.makeCurrent();
- gltf_prepare_renderer(&m_rHandle);
+ int nRet = gltf_prepare_renderer(&m_rHandle);
+ if( nRet != 0 )
+ {
+ SAL_WARN("avmedia.opengl", "Error occured while preparing for rendering! Error code: " << nRet);
+ return;
+ }
gltf_renderer(&m_rHandle);
gltf_complete_renderer(&m_rHandle);
m_rContext.swapBuffers();
More information about the Libreoffice-commits
mailing list