xref: /AOO41X/main/avmedia/source/macavf/macavf_framegrabber.hxx (revision 6a7d45efb49169f8345719aa163722d8b8f2c22f)
14ba16609SHerbert Dürr /**************************************************************
24ba16609SHerbert Dürr  *
34ba16609SHerbert Dürr  * Licensed to the Apache Software Foundation (ASF) under one
44ba16609SHerbert Dürr  * or more contributor license agreements.  See the NOTICE file
54ba16609SHerbert Dürr  * distributed with this work for additional information
64ba16609SHerbert Dürr  * regarding copyright ownership.  The ASF licenses this file
74ba16609SHerbert Dürr  * to you under the Apache License, Version 2.0 (the
84ba16609SHerbert Dürr  * "License"); you may not use this file except in compliance
94ba16609SHerbert Dürr  * with the License.  You may obtain a copy of the License at
104ba16609SHerbert Dürr  *
114ba16609SHerbert Dürr  *   http://www.apache.org/licenses/LICENSE-2.0
124ba16609SHerbert Dürr  *
134ba16609SHerbert Dürr  * Unless required by applicable law or agreed to in writing,
144ba16609SHerbert Dürr  * software distributed under the License is distributed on an
154ba16609SHerbert Dürr  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
164ba16609SHerbert Dürr  * KIND, either express or implied.  See the License for the
174ba16609SHerbert Dürr  * specific language governing permissions and limitations
184ba16609SHerbert Dürr  * under the License.
194ba16609SHerbert Dürr  *
204ba16609SHerbert Dürr  *************************************************************/
214ba16609SHerbert Dürr 
224ba16609SHerbert Dürr 
234ba16609SHerbert Dürr #ifndef MACAVF_FRAMEGRABBER_HXX
244ba16609SHerbert Dürr #define MACAVF_FRAMEGRABBER_HXX
254ba16609SHerbert Dürr 
264ba16609SHerbert Dürr #include "macavf_common.hxx"
274ba16609SHerbert Dürr 
284ba16609SHerbert Dürr #include "com/sun/star/media/XFrameGrabber.hdl"
294ba16609SHerbert Dürr 
304ba16609SHerbert Dürr namespace avmedia { namespace macavf {
314ba16609SHerbert Dürr 
324ba16609SHerbert Dürr // ----------------
334ba16609SHerbert Dürr // - FrameGrabber -
344ba16609SHerbert Dürr // ----------------
354ba16609SHerbert Dürr 
364ba16609SHerbert Dürr class FrameGrabber : public ::cppu::WeakImplHelper2 < ::com::sun::star::media::XFrameGrabber,
374ba16609SHerbert Dürr                                                       ::com::sun::star::lang::XServiceInfo >
384ba16609SHerbert Dürr {
394ba16609SHerbert Dürr public:
404ba16609SHerbert Dürr 
414ba16609SHerbert Dürr     explicit FrameGrabber( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& );
424ba16609SHerbert Dürr     virtual  ~FrameGrabber();
434ba16609SHerbert Dürr 
444ba16609SHerbert Dürr     bool    create( const ::rtl::OUString& rURL );
45*6a7d45efSHerbert Dürr     bool    create( AVAsset* pMovie );
464ba16609SHerbert Dürr 
474ba16609SHerbert Dürr     // XFrameGrabber
484ba16609SHerbert Dürr     virtual ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic > SAL_CALL grabFrame( double fMediaTime ) throw (::com::sun::star::uno::RuntimeException);
494ba16609SHerbert Dürr 
504ba16609SHerbert Dürr     // XServiceInfo
514ba16609SHerbert Dürr     virtual ::rtl::OUString SAL_CALL getImplementationName(  ) throw (::com::sun::star::uno::RuntimeException);
524ba16609SHerbert Dürr     virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
534ba16609SHerbert Dürr     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames(  ) throw (::com::sun::star::uno::RuntimeException);
544ba16609SHerbert Dürr 
554ba16609SHerbert Dürr private:
564ba16609SHerbert Dürr 
574ba16609SHerbert Dürr     ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >    mxMgr;
584ba16609SHerbert Dürr 
594ba16609SHerbert Dürr     AVAssetImageGenerator* mpImageGen;
604ba16609SHerbert Dürr };
614ba16609SHerbert Dürr 
624ba16609SHerbert Dürr } // namespace macavf
634ba16609SHerbert Dürr } // namespace avmedia
644ba16609SHerbert Dürr 
654ba16609SHerbert Dürr #endif // MACAVF_FRAMEGRABBER_HXX
664ba16609SHerbert Dürr 
67