equal
deleted
inserted
replaced
17 |
17 |
18 |
18 |
19 // INCLUDE FILES |
19 // INCLUDE FILES |
20 #include <imageconversion.h> |
20 #include <imageconversion.h> |
21 #include <cvtimageconverter.h> |
21 #include <cvtimageconverter.h> |
22 #include <rphcltserver.h> |
22 #include <RPhCltServer.h> |
23 #include <cphcltimagehandler.h> |
23 #include <CPhCltImageHandler.h> |
24 #include <bautils.h> |
24 #include <bautils.h> |
25 |
25 |
26 #include "cmultiframeprovider.h" |
26 #include "cmultiframeprovider.h" |
27 #include "cmultiframeloopao.h" |
27 #include "cmultiframeloopao.h" |
28 #include "cmultiframedataao.h" |
28 #include "cmultiframedataao.h" |
231 delete iGSBitmap; iGSBitmap = NULL; |
231 delete iGSBitmap; iGSBitmap = NULL; |
232 iGSBitmap = temp; |
232 iGSBitmap = temp; |
233 } |
233 } |
234 iGSImage = ETrue; |
234 iGSImage = ETrue; |
235 iCount = 1; |
235 iCount = 1; |
236 iActiveWaitInit->InitializeWaiter( &CMultiframeProvider::ConversionFinished ); |
236 iActiveWaitInit->InitializeWaiter( &ConversionFinished ); |
237 iActiveWaitInit->Signal( KErrNone ); |
237 iActiveWaitInit->Signal( KErrNone ); |
238 } |
238 } |
239 else |
239 else |
240 { // default still image prepared by using file handle |
240 { // default still image prepared by using file handle |
241 InitializeL( NULL ); |
241 InitializeL( NULL ); |
273 CleanupStack::PushL( tempBitmap ); |
273 CleanupStack::PushL( tempBitmap ); |
274 iScaled = CVtImageBitmap::NewL( tempBitmap->Handle() ); |
274 iScaled = CVtImageBitmap::NewL( tempBitmap->Handle() ); |
275 CleanupStack::PopAndDestroy(); // tempBitmap |
275 CleanupStack::PopAndDestroy(); // tempBitmap |
276 tempBitmap = 0; |
276 tempBitmap = 0; |
277 |
277 |
278 iActiveWaitInit->InitializeWaiter( &CMultiframeProvider::BMSScalingFinished ); |
278 iActiveWaitInit->InitializeWaiter( &BMSScalingFinished ); |
279 iActiveWaitInit->Signal( KErrNone ); |
279 iActiveWaitInit->Signal( KErrNone ); |
280 __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::IniatializeBlank() <<"), RThread().Id().operator TUint())); |
280 __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::IniatializeBlank() <<"), RThread().Id().operator TUint())); |
281 } |
281 } |
282 // ----------------------------------------------------------------------------- |
282 // ----------------------------------------------------------------------------- |
283 // CVSStillImageDataProvider::CreateBlankBitmapL( |
283 // CVSStillImageDataProvider::CreateBlankBitmapL( |
515 } |
515 } |
516 // no harm done if other than this used, handle would already be 0 |
516 // no harm done if other than this used, handle would already be 0 |
517 iDefaultImageFile.Close(); |
517 iDefaultImageFile.Close(); |
518 if ( aError == KErrNone ) |
518 if ( aError == KErrNone ) |
519 { |
519 { |
520 iActiveWaitInitScale->InitializeWaiter( &CMultiframeProvider::BMSScalingFinished ); |
520 iActiveWaitInitScale->InitializeWaiter( &BMSScalingFinished ); |
521 if ( iGSImage ) |
521 if ( iGSImage ) |
522 { |
522 { |
523 __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ConversionFinished() scale GS "), RThread().Id().operator TUint())); |
523 __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ConversionFinished() scale GS "), RThread().Id().operator TUint())); |
524 iVtImageScalerInit->Scale( *iGSBitmap, *iScaled ); |
524 iVtImageScalerInit->Scale( *iGSBitmap, *iScaled ); |
525 } |
525 } |
577 iVtImageScalerInit->Scale( *iConverted, *iScaled ); |
577 iVtImageScalerInit->Scale( *iConverted, *iScaled ); |
578 } |
578 } |
579 } |
579 } |
580 // Allways inform Decoding problems |
580 // Allways inform Decoding problems |
581 else |
581 else |
582 { |
582 { |
583 iObserver->NotifyImageHandlingError( aError ); |
583 iObserver->NotifyImageHandlingError( aError ); |
584 delete iTempBM; |
584 delete iTempBM; |
585 delete iMask; |
585 delete iMask; |
586 iMask = NULL; |
586 iMask = NULL; |
587 iTempBM = NULL; |
587 iTempBM = NULL; |
588 // GIF used when error happen |
588 // GIF used when error happen |
589 if ( iCount > 1 ) |
589 if ( iCount > 1 ) |
590 { |
590 { |
591 iCount = 1; |
591 iCount = 1; |
592 } |
592 } |
684 } |
684 } |
685 else |
685 else |
686 { |
686 { |
687 //ScaleCopy is not running, Jump ScaleCopy |
687 //ScaleCopy is not running, Jump ScaleCopy |
688 __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::VFScalingReady()jump ScaleCopy>>"), RThread().Id().operator TUint())); |
688 __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::VFScalingReady()jump ScaleCopy>>"), RThread().Id().operator TUint())); |
689 iActiveWaitScale->InitializeWaiter( &CMultiframeProvider::VFRescalingFinished ); |
689 iActiveWaitScale->InitializeWaiter( &VFRescalingFinished ); |
690 iActiveWaitScale->Signal(KErrNone); |
690 iActiveWaitScale->Signal(KErrNone); |
691 } |
691 } |
692 } |
692 } |
693 else |
693 else |
694 { |
694 { |
727 iWantedVFSize = aSize; |
727 iWantedVFSize = aSize; |
728 } |
728 } |
729 else |
729 else |
730 { |
730 { |
731 __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::ScaleCopy(): scaling NOW"), RThread().Id().operator TUint())); |
731 __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::ScaleCopy(): scaling NOW"), RThread().Id().operator TUint())); |
732 iActiveWaitScale->InitializeWaiter( &CMultiframeProvider::VFRescalingFinished ); |
732 iActiveWaitScale->InitializeWaiter( &VFRescalingFinished ); |
733 TInt result( iVFbitmap->Bitmap().Resize( aSize ) ); |
733 TInt result( iVFbitmap->Bitmap().Resize( aSize ) ); |
734 __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::ScaleCopy() result %d <<"), RThread().Id().operator TUint(), result)); |
734 __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::ScaleCopy() result %d <<"), RThread().Id().operator TUint(), result)); |
735 if ( result != KErrNone ) |
735 if ( result != KErrNone ) |
736 { |
736 { |
737 iActiveWaitScale->Signal( result ); |
737 iActiveWaitScale->Signal( result ); |
809 // ----------------------------------------------------------------------------- |
809 // ----------------------------------------------------------------------------- |
810 // |
810 // |
811 void CMultiframeProvider::ScaleVF( const TSize& aSize ) |
811 void CMultiframeProvider::ScaleVF( const TSize& aSize ) |
812 { |
812 { |
813 __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ScaleVF() >>"), RThread().Id().operator TUint())); |
813 __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ScaleVF() >>"), RThread().Id().operator TUint())); |
814 iActiveWaitScale->InitializeWaiter( &CMultiframeProvider::VFRescalingFinished ); |
814 iActiveWaitScale->InitializeWaiter( &VFRescalingFinished ); |
815 TInt result( iVFbitmap->Bitmap().Resize( aSize ) ); |
815 TInt result( iVFbitmap->Bitmap().Resize( aSize ) ); |
816 ClearVFScalingTargetSize(); |
816 ClearVFScalingTargetSize(); |
817 if ( result != KErrNone ) |
817 if ( result != KErrNone ) |
818 { |
818 { |
819 iActiveWaitScale->Signal( result ); |
819 iActiveWaitScale->Signal( result ); |