merge the formfield patch from ooo-build
[ooovba.git] / avmedia / source / quicktime / player.hxx
blob6698381e231fdb43b46d23836fbfb89c4b2c7939
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: player.hxx,v $
10 * $Revision: 1.3 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _PLAYER_HXX
32 #define _PLAYER_HXX
34 #include <osl/conditn.h>
35 #include "quicktimecommon.hxx"
37 #ifndef _COM_SUN_STAR_MEDIA_XPLAYER_HDL_
38 #include "com/sun/star/media/XPlayer.hdl"
39 #endif
41 namespace avmedia { namespace quicktime {
44 // ----------
45 // - Player -
46 // ----------
49 class Player : public ::cppu::WeakImplHelper2< ::com::sun::star::media::XPlayer,
50 ::com::sun::star::lang::XServiceInfo >
52 public:
54 Player( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxMgr );
55 ~Player();
57 bool create( const ::rtl::OUString& rURL );
59 // void processMessage( GstMessage *message );
61 // XPlayer
62 virtual void SAL_CALL start( ) throw (::com::sun::star::uno::RuntimeException);
63 virtual void SAL_CALL stop( ) throw (::com::sun::star::uno::RuntimeException);
64 virtual sal_Bool SAL_CALL isPlaying( ) throw (::com::sun::star::uno::RuntimeException);
65 virtual double SAL_CALL getDuration( ) throw (::com::sun::star::uno::RuntimeException);
66 virtual void SAL_CALL setMediaTime( double fTime ) throw (::com::sun::star::uno::RuntimeException);
67 virtual double SAL_CALL getMediaTime( ) throw (::com::sun::star::uno::RuntimeException);
68 virtual void SAL_CALL setStopTime( double fTime ) throw (::com::sun::star::uno::RuntimeException);
69 virtual double SAL_CALL getStopTime( ) throw (::com::sun::star::uno::RuntimeException);
70 virtual void SAL_CALL setRate( double fRate ) throw (::com::sun::star::uno::RuntimeException);
71 virtual double SAL_CALL getRate( ) throw (::com::sun::star::uno::RuntimeException);
72 virtual void SAL_CALL setPlaybackLoop( sal_Bool bSet ) throw (::com::sun::star::uno::RuntimeException);
73 virtual sal_Bool SAL_CALL isPlaybackLoop( ) throw (::com::sun::star::uno::RuntimeException);
74 virtual void SAL_CALL setMute( sal_Bool bSet ) throw (::com::sun::star::uno::RuntimeException);
75 virtual sal_Bool SAL_CALL isMute( ) throw (::com::sun::star::uno::RuntimeException);
76 virtual void SAL_CALL setVolumeDB( sal_Int16 nVolumeDB ) throw (::com::sun::star::uno::RuntimeException);
77 virtual sal_Int16 SAL_CALL getVolumeDB( ) throw (::com::sun::star::uno::RuntimeException);
78 virtual ::com::sun::star::awt::Size SAL_CALL getPreferredPlayerWindowSize( ) throw (::com::sun::star::uno::RuntimeException);
79 virtual ::com::sun::star::uno::Reference< ::com::sun::star::media::XPlayerWindow > SAL_CALL createPlayerWindow( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw (::com::sun::star::uno::RuntimeException);
80 virtual ::com::sun::star::uno::Reference< ::com::sun::star::media::XFrameGrabber > SAL_CALL createFrameGrabber( ) throw (::com::sun::star::uno::RuntimeException);
81 // XServiceInfo
82 virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException);
83 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
84 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
86 QTMovie* getMovie() { return mpMovie; }
88 private:
89 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > mxMgr;
91 ::rtl::OUString maURL;
93 QTMovie *mpMovie; // the Movie object
94 /* GST
95 sal_Bool mbFakeVideo;
97 float mnUnmutedVolume;
98 double mnStopTime;
100 sal_Bool mbMuted;
101 sal_Bool mbLooping;
102 sal_Bool mbInitialized;
104 long mnWindowID;
105 long mnDuration;
106 int mnWidth;
107 int mnHeight;
109 long mnVersion;
110 oslCondition maSizeCondition;
113 } // namespace quicktime
114 } // namespace avmedia
116 #endif // _PLAYER_HXX