1eb7664d6SHerbert Dürr /************************************************************** 2eb7664d6SHerbert Dürr * 3eb7664d6SHerbert Dürr * Licensed to the Apache Software Foundation (ASF) under one 4eb7664d6SHerbert Dürr * or more contributor license agreements. See the NOTICE file 5eb7664d6SHerbert Dürr * distributed with this work for additional information 6eb7664d6SHerbert Dürr * regarding copyright ownership. The ASF licenses this file 7eb7664d6SHerbert Dürr * to you under the Apache License, Version 2.0 (the 8eb7664d6SHerbert Dürr * "License"); you may not use this file except in compliance 9eb7664d6SHerbert Dürr * with the License. You may obtain a copy of the License at 10eb7664d6SHerbert Dürr * 11eb7664d6SHerbert Dürr * http://www.apache.org/licenses/LICENSE-2.0 12eb7664d6SHerbert Dürr * 13eb7664d6SHerbert Dürr * Unless required by applicable law or agreed to in writing, 14eb7664d6SHerbert Dürr * software distributed under the License is distributed on an 15eb7664d6SHerbert Dürr * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16eb7664d6SHerbert Dürr * KIND, either express or implied. See the License for the 17eb7664d6SHerbert Dürr * specific language governing permissions and limitations 18eb7664d6SHerbert Dürr * under the License. 19eb7664d6SHerbert Dürr * 20eb7664d6SHerbert Dürr *************************************************************/ 21eb7664d6SHerbert Dürr 22eb7664d6SHerbert Dürr 23e8649ecdSHerbert Dürr #ifndef MACAVF_FRAMEGRABBER_HXX 24e8649ecdSHerbert Dürr #define MACAVF_FRAMEGRABBER_HXX 25eb7664d6SHerbert Dürr 26e8649ecdSHerbert Dürr #include "macavf_common.hxx" 27eb7664d6SHerbert Dürr 28eb7664d6SHerbert Dürr #include "com/sun/star/media/XFrameGrabber.hdl" 29eb7664d6SHerbert Dürr 30eb7664d6SHerbert Dürr namespace avmedia { namespace macavf { 31eb7664d6SHerbert Dürr 32eb7664d6SHerbert Dürr // ---------------- 33eb7664d6SHerbert Dürr // - FrameGrabber - 34eb7664d6SHerbert Dürr // ---------------- 35eb7664d6SHerbert Dürr 36eb7664d6SHerbert Dürr class FrameGrabber : public ::cppu::WeakImplHelper2 < ::com::sun::star::media::XFrameGrabber, 37eb7664d6SHerbert Dürr ::com::sun::star::lang::XServiceInfo > 38eb7664d6SHerbert Dürr { 39eb7664d6SHerbert Dürr public: 40eb7664d6SHerbert Dürr 41eb7664d6SHerbert Dürr explicit FrameGrabber( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& ); 42eb7664d6SHerbert Dürr virtual ~FrameGrabber(); 43eb7664d6SHerbert Dürr 44eb7664d6SHerbert Dürr bool create( const ::rtl::OUString& rURL ); 45*32322404SHerbert Dürr bool create( AVAsset* pMovie ); 46eb7664d6SHerbert Dürr 47eb7664d6SHerbert Dürr // XFrameGrabber 48eb7664d6SHerbert Dürr virtual ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic > SAL_CALL grabFrame( double fMediaTime ) throw (::com::sun::star::uno::RuntimeException); 49eb7664d6SHerbert Dürr 50eb7664d6SHerbert Dürr // XServiceInfo 51eb7664d6SHerbert Dürr virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException); 52eb7664d6SHerbert Dürr virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException); 53eb7664d6SHerbert Dürr virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException); 54eb7664d6SHerbert Dürr 55eb7664d6SHerbert Dürr private: 56eb7664d6SHerbert Dürr 57eb7664d6SHerbert Dürr ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > mxMgr; 58eb7664d6SHerbert Dürr 59eb7664d6SHerbert Dürr AVAssetImageGenerator* mpImageGen; 60eb7664d6SHerbert Dürr }; 61eb7664d6SHerbert Dürr 62eb7664d6SHerbert Dürr } // namespace macavf 63eb7664d6SHerbert Dürr } // namespace avmedia 64eb7664d6SHerbert Dürr 65e8649ecdSHerbert Dürr #endif // MACAVF_FRAMEGRABBER_HXX 66eb7664d6SHerbert Dürr 67