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