summaryrefslogtreecommitdiff
path: root/avmedia
diff options
context:
space:
mode:
authorRadek Doulik <rodo@novell.com>2010-09-16 15:17:37 +0200
committerRadek Doulik <rodo@novell.com>2010-09-16 15:17:37 +0200
commit81d602da2a5c443ed83323cec2bac81af938c053 (patch)
tree12ae04a6f1e33c46f6a5495c2abb3ec9642df84e /avmedia
parent002eb0bd4b6b43f7a1e4899f35838cb0254a98e4 (diff)
patches/gstreamer/gstreamer-avmedia.diff: gstreamer integration, avmedia part
Diffstat (limited to 'avmedia')
-rw-r--r--avmedia/prj/build.lst3
-rw-r--r--avmedia/source/inc/mediamisc.hxx4
-rw-r--r--avmedia/source/viewer/mediawindow_impl.cxx50
-rw-r--r--avmedia/source/viewer/mediawindow_impl.hxx8
4 files changed, 62 insertions, 3 deletions
diff --git a/avmedia/prj/build.lst b/avmedia/prj/build.lst
index 1ef04ca0f7..9e3f9ea098 100644
--- a/avmedia/prj/build.lst
+++ b/avmedia/prj/build.lst
@@ -8,4 +8,5 @@ av avmedia\source\win nmake - all av_win NULL
av avmedia\source\java nmake - all av_java NULL
av avmedia\source\xine nmake - all av_xine NULL
av avmedia\source\quicktime nmake - all av_quicktime NULL
-av avmedia\util nmake - all av_util av_viewer av_framework av_win av_java av_quicktime av_xine NULL
+av avmedia\source\gstreamer nmake - all av_gstreamer NULL
+av avmedia\util nmake - all av_util av_viewer av_framework av_win av_java av_quicktime av_xine av_gstreamer NULL
diff --git a/avmedia/source/inc/mediamisc.hxx b/avmedia/source/inc/mediamisc.hxx
index db5a72d925..cc4f4ca74e 100644
--- a/avmedia/source/inc/mediamisc.hxx
+++ b/avmedia/source/inc/mediamisc.hxx
@@ -29,6 +29,9 @@ class ResMgr;
#define AVMEDIA_RESID( nId ) ResId( nId, * ::avmedia::GetResMgr() )
+#ifdef GSTREAMER
+#define AVMEDIA_MANAGER_SERVICE_NAME "com.sun.star.media.Manager_GStreamer"
+#else
#ifdef WNT
#define AVMEDIA_MANAGER_SERVICE_NAME "com.sun.star.media.Manager_DirectX"
#else
@@ -38,6 +41,7 @@ class ResMgr;
#define AVMEDIA_MANAGER_SERVICE_NAME "com.sun.star.media.Manager_Java"
#endif
#endif
+#endif
namespace avmedia
{
diff --git a/avmedia/source/viewer/mediawindow_impl.cxx b/avmedia/source/viewer/mediawindow_impl.cxx
index 24d17abe4d..4b006afb2c 100644
--- a/avmedia/source/viewer/mediawindow_impl.cxx
+++ b/avmedia/source/viewer/mediawindow_impl.cxx
@@ -36,6 +36,11 @@
#include <osl/mutex.hxx>
#include <tools/time.hxx>
#include <vcl/svapp.hxx>
+#ifdef UNX
+#ifndef _SV_SYSDATA_HXX
+#include <vcl/sysdata.hxx>
+#endif
+#endif
#ifndef _COM_SUN_STAR_AWT_SYSTEMPOINTER_HDL_
#include <com/sun/star/awt/SystemPointer.hdl>
@@ -94,7 +99,11 @@ void MediaWindowControl::execute( const MediaItem& rItem )
// --------------------
MediaChildWindow::MediaChildWindow( Window* pParent ) :
+#ifdef GSTREAMER
+ SystemChildWindow( pParent, WB_CLIPCHILDREN )
+#else
JavaChildWindow( pParent, WB_CLIPCHILDREN )
+#endif
{
}
@@ -111,7 +120,11 @@ void MediaChildWindow::MouseMove( const MouseEvent& rMEvt )
const MouseEvent aTransformedEvent( GetParent()->ScreenToOutputPixel( OutputToScreenPixel( rMEvt.GetPosPixel() ) ),
rMEvt.GetClicks(), rMEvt.GetMode(), rMEvt.GetButtons(), rMEvt.GetModifier() );
+#ifdef GSTREAMER
+ SystemChildWindow::MouseMove( rMEvt );
+#else
JavaChildWindow::MouseMove( rMEvt );
+#endif
GetParent()->MouseMove( aTransformedEvent );
}
@@ -122,7 +135,11 @@ void MediaChildWindow::MouseButtonDown( const MouseEvent& rMEvt )
const MouseEvent aTransformedEvent( GetParent()->ScreenToOutputPixel( OutputToScreenPixel( rMEvt.GetPosPixel() ) ),
rMEvt.GetClicks(), rMEvt.GetMode(), rMEvt.GetButtons(), rMEvt.GetModifier() );
+#ifdef GSTREAMER
+ SystemChildWindow::MouseButtonDown( rMEvt );
+#else
JavaChildWindow::MouseButtonDown( rMEvt );
+#endif
GetParent()->MouseButtonDown( aTransformedEvent );
}
@@ -132,8 +149,12 @@ void MediaChildWindow::MouseButtonUp( const MouseEvent& rMEvt )
{
const MouseEvent aTransformedEvent( GetParent()->ScreenToOutputPixel( OutputToScreenPixel( rMEvt.GetPosPixel() ) ),
rMEvt.GetClicks(), rMEvt.GetMode(), rMEvt.GetButtons(), rMEvt.GetModifier() );
-
+
+#ifdef GSTREAMER
+ SystemChildWindow::MouseButtonUp( rMEvt );
+#else
JavaChildWindow::MouseButtonUp( rMEvt );
+#endif
GetParent()->MouseButtonUp( aTransformedEvent );
}
@@ -141,7 +162,11 @@ void MediaChildWindow::MouseButtonUp( const MouseEvent& rMEvt )
void MediaChildWindow::KeyInput( const KeyEvent& rKEvt )
{
+#ifdef GSTREAMER
+ SystemChildWindow::KeyInput( rKEvt );
+#else
JavaChildWindow::KeyInput( rKEvt );
+#endif
GetParent()->KeyInput( rKEvt );
}
@@ -149,7 +174,11 @@ void MediaChildWindow::KeyInput( const KeyEvent& rKEvt )
void MediaChildWindow::KeyUp( const KeyEvent& rKEvt )
{
+#ifdef GSTREAMER
+ SystemChildWindow::KeyUp( rKEvt );
+#else
JavaChildWindow::KeyUp( rKEvt );
+#endif
GetParent()->KeyUp( rKEvt );
}
@@ -160,7 +189,11 @@ void MediaChildWindow::Command( const CommandEvent& rCEvt )
const CommandEvent aTransformedEvent( GetParent()->ScreenToOutputPixel( OutputToScreenPixel( rCEvt.GetMousePosPixel() ) ),
rCEvt.GetCommand(), rCEvt.IsMouseEvent(), rCEvt.GetData() );
+#ifdef GSTREAMER
+ SystemChildWindow::Command( rCEvt );
+#else
JavaChildWindow::Command( rCEvt );
+#endif
GetParent()->Command( aTransformedEvent );
}
@@ -229,18 +262,31 @@ void MediaWindowImpl::onURLChanged()
{
if( getPlayer().is() )
{
- uno::Sequence< uno::Any > aArgs( 2 );
+ uno::Sequence< uno::Any > aArgs( 3 );
uno::Reference< media::XPlayerWindow > xPlayerWindow;
const Point aPoint;
const Size aSize( maChildWindow.GetSizePixel() );
+#ifndef GSTREAMER
const sal_IntPtr nWndHandle = static_cast< sal_IntPtr >( maChildWindow.getParentWindowHandleForJava() );
+#else
+ const sal_Int32 nWndHandle = 0;
+#endif
aArgs[ 0 ] = uno::makeAny( nWndHandle );
aArgs[ 1 ] = uno::makeAny( awt::Rectangle( aPoint.X(), aPoint.Y(), aSize.Width(), aSize.Height() ) );
+#ifdef GSTREAMER
+ const SystemEnvData *pSystemData = maChildWindow.GetSystemData();
+ OSL_TRACE( "MediaWindowImpl::onURLChanged xwindow id: %ld", pSystemData->aWindow );
+ aArgs[ 2 ] = uno::makeAny( pSystemData->aWindow );
+#endif
try
{
+#ifdef GSTREAMER
+ if( pSystemData->aWindow != 0 )
+#else
if( nWndHandle != 0 )
+#endif
xPlayerWindow = getPlayer()->createPlayerWindow( aArgs );
}
catch( uno::RuntimeException )
diff --git a/avmedia/source/viewer/mediawindow_impl.hxx b/avmedia/source/viewer/mediawindow_impl.hxx
index 1b6f8c60b7..7bbe96d062 100644
--- a/avmedia/source/viewer/mediawindow_impl.hxx
+++ b/avmedia/source/viewer/mediawindow_impl.hxx
@@ -29,7 +29,11 @@
#define _AVMEDIA_MEDIAWINDOW_IMPL_HXX
#include <svtools/transfer.hxx>
+#ifdef GSTREAMER
+#include <vcl/syschild.hxx>
+#else
#include <vcl/javachild.hxx>
+#endif
#include "mediawindowbase_impl.hxx"
#include "mediacontrol.hxx"
@@ -61,7 +65,11 @@ namespace avmedia
// - MediaChildWindow -
// --------------------
+#ifdef GSTREAMER
+ class MediaChildWindow : public SystemChildWindow
+#else
class MediaChildWindow : public JavaChildWindow
+#endif
{
public: