1 // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 // All rights reserved. |
2 // All rights reserved. |
3 // This component and the accompanying materials are made available |
3 // This component and the accompanying materials are made available |
4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members |
4 // under the terms of "Eclipse Public License v1.0" |
5 // which accompanies this distribution, and is available |
5 // which accompanies this distribution, and is available |
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 // |
7 // |
8 // Initial Contributors: |
8 // Initial Contributors: |
9 // Nokia Corporation - initial contribution. |
9 // Nokia Corporation - initial contribution. |
10 // |
10 // |
11 // Contributors: |
11 // Contributors: |
169 set to point to the real video buffer memory data area by the user). |
169 set to point to the real video buffer memory data area by the user). |
170 */ |
170 */ |
171 IMPORT_C TVideoInputBuffer(); |
171 IMPORT_C TVideoInputBuffer(); |
172 |
172 |
173 public: |
173 public: |
|
174 /** |
|
175 */ |
174 enum TVideoBufferOptions |
176 enum TVideoBufferOptions |
175 { |
177 { |
176 /** The sequence number field is valid. */ |
178 /** The sequence number field is valid. */ |
177 ESequenceNumber = 0x00000001, |
179 ESequenceNumber = 0x00000001, |
178 /** The decoding timestamp field is valid */ |
180 /** The decoding timestamp field is valid */ |
179 EDecodingTimestamp = 0x00000002, |
181 EDecodingTimestamp = 0x00000002, |
180 /** The presentation timestamp field is valid.*/ |
182 /** The presentation timestamp field is valid.*/ |
181 EPresentationTimestamp = 0x00000004 |
183 EPresentationTimestamp = 0x00000004, |
|
184 /** Content protected pictures cannot be displayed on unprotected |
|
185 external displays such as TV-out. |
|
186 */ |
|
187 EContentProtected = 0x00000008 |
182 }; |
188 }; |
183 |
189 |
184 /** |
190 /** |
185 Pointer to the video data. |
191 Pointer to the video data. |
186 */ |
192 */ |
431 The array must be created and destroyed by the caller." |
437 The array must be created and destroyed by the caller." |
432 @leave "KErrNotSupported if the secondary screen display is not supported in Multimedia Framework. |
438 @leave "KErrNotSupported if the secondary screen display is not supported in Multimedia Framework. |
433 KErrNoMemory when there is no memory to expand the list." |
439 KErrNoMemory when there is no memory to expand the list." |
434 */ |
440 */ |
435 IMPORT_C void GetSupportedScreensL(RArray<TInt>& aSupportedScreens) const; |
441 IMPORT_C void GetSupportedScreensL(RArray<TInt>& aSupportedScreens) const; |
|
442 |
|
443 /** Sets a flag indicating whether the PostProcessor supports per picture content protection. |
|
444 E.g. Where content protection within a video stream can alter. |
|
445 @param "aSetting" "Set to TRUE to indicate PostProcessor supports content protection. |
|
446 @See TVideoPicture::TVideoPictureOptions::EContentProtected |
|
447 @See TVideoInputBuffer::TVideoBufferOptions::EContentProtected |
|
448 */ |
|
449 IMPORT_C void SetSupportsContentProtected(const TBool aSetting); |
|
450 |
|
451 /** Returns whether the PostProcessor supports per picture content protection. |
|
452 E.g. Where content protection within a video stream can alter. |
|
453 @return "True if the PostProcessor supports Content Protection." |
|
454 @See TVideoPicture::TVideoPictureOptions::EContentProtected |
|
455 @See TVideoInputBuffer::TVideoBufferOptions::EContentProtected |
|
456 */ |
|
457 IMPORT_C TBool SupportsContentProtected() const; |
|
458 |
436 private: |
459 private: |
437 CPostProcessorInfo(TUid aUid, |
460 CPostProcessorInfo(TUid aUid, |
438 TVersion aVersion, |
461 TVersion aVersion, |
439 TBool aAccelerated, |
462 TBool aAccelerated, |
440 TBool aSupportDirectDisplay, |
463 TBool aSupportDirectDisplay, |
463 HBufC8* iImplementationSpecificInfo; |
486 HBufC8* iImplementationSpecificInfo; |
464 RArray<TUncompressedVideoFormat> iSupportedFormats; |
487 RArray<TUncompressedVideoFormat> iSupportedFormats; |
465 RArray<TUint32> iSupportedCombinations; |
488 RArray<TUint32> iSupportedCombinations; |
466 RArray<TScaleFactor> iSupportedScaleFactors; |
489 RArray<TScaleFactor> iSupportedScaleFactors; |
467 RArray<TInt> iSupportedScreens; |
490 RArray<TInt> iSupportedScreens; |
|
491 TBool iSupportsContentProtected; |
468 }; |
492 }; |
469 |
493 |
470 |
494 |
471 /** |
495 /** |
472 This class contains information about a single video decoder. Although it mainly contains static data, |
496 This class contains information about a single video decoder. Although it mainly contains static data, |
666 The array must be created and destroyed by the caller." |
690 The array must be created and destroyed by the caller." |
667 @leave "KErrNotSupported if the secondary screen display is not supported in Multimedia Framework. |
691 @leave "KErrNotSupported if the secondary screen display is not supported in Multimedia Framework. |
668 KErrNoMemory when there is no memory to expand the list." |
692 KErrNoMemory when there is no memory to expand the list." |
669 */ |
693 */ |
670 IMPORT_C void GetSupportedScreensL(RArray<TInt>& aSupportedScreens) const; |
694 IMPORT_C void GetSupportedScreensL(RArray<TInt>& aSupportedScreens) const; |
|
695 |
|
696 /** Sets a flag indicating whether the Decoder supports per picture content protection. |
|
697 E.g. Where content protection within a video stream can alter. |
|
698 @param "aSetting" "Set to TRUE to indicate decoder supports content protection. |
|
699 @See TVideoPicture::TVideoPictureOptions::EContentProtected |
|
700 @See TVideoInputBuffer::TVideoBufferOptions::EContentProtected |
|
701 */ |
|
702 IMPORT_C void SetSupportsContentProtected(const TBool aSetting); |
|
703 |
|
704 /** Returns whether the Decoder supports per picture content protection. |
|
705 E.g. Where content protection within a video stream can alter. |
|
706 @return "True if the Decoder supports Content Protection." |
|
707 @See TVideoPicture::TVideoPictureOptions::EContentProtected |
|
708 @See TVideoInputBuffer::TVideoBufferOptions::EContentProtected |
|
709 */ |
|
710 IMPORT_C TBool SupportsContentProtected() const; |
|
711 |
671 private: |
712 private: |
672 CVideoDecoderInfo(TUid aUid, |
713 CVideoDecoderInfo(TUid aUid, |
673 TVersion aVersion, |
714 TVersion aVersion, |
674 TBool aAccelerated, |
715 TBool aAccelerated, |
675 TBool aSupportsDirectDisplay, |
716 TBool aSupportsDirectDisplay, |
698 RPointerArray<CCompressedVideoFormat> iSupportedFormats; |
739 RPointerArray<CCompressedVideoFormat> iSupportedFormats; |
699 RArray<TPictureRateAndSize> iMaxPictureRates; |
740 RArray<TPictureRateAndSize> iMaxPictureRates; |
700 HBufC8* iCodingStandardSpecificInfo; |
741 HBufC8* iCodingStandardSpecificInfo; |
701 HBufC8* iImplementationSpecificInfo; |
742 HBufC8* iImplementationSpecificInfo; |
702 RArray<TInt> iSupportedScreens; |
743 RArray<TInt> iSupportedScreens; |
|
744 TBool iSupportsContentProtected; |
703 }; |
745 }; |
704 |
746 |
705 |
747 |
706 |
748 |
707 |
749 |