diff options
author | Radek Doulik <rodo@novell.com> | 2010-09-16 15:17:37 +0200 |
---|---|---|
committer | Radek Doulik <rodo@novell.com> | 2010-09-16 15:17:37 +0200 |
commit | 81d602da2a5c443ed83323cec2bac81af938c053 (patch) | |
tree | 12ae04a6f1e33c46f6a5495c2abb3ec9642df84e /avmedia | |
parent | 002eb0bd4b6b43f7a1e4899f35838cb0254a98e4 (diff) |
patches/gstreamer/gstreamer-avmedia.diff: gstreamer integration, avmedia part
Diffstat (limited to 'avmedia')
-rw-r--r-- | avmedia/prj/build.lst | 3 | ||||
-rw-r--r-- | avmedia/source/inc/mediamisc.hxx | 4 | ||||
-rw-r--r-- | avmedia/source/viewer/mediawindow_impl.cxx | 50 | ||||
-rw-r--r-- | avmedia/source/viewer/mediawindow_impl.hxx | 8 |
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: |