OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 VCMTiming& _timing; | 58 VCMTiming& _timing; |
59 VCMTimestampMap _timestampMap; // Guarded by |_critSect|. | 59 VCMTimestampMap _timestampMap; // Guarded by |_critSect|. |
60 uint64_t _lastReceivedPictureID; | 60 uint64_t _lastReceivedPictureID; |
61 }; | 61 }; |
62 | 62 |
63 | 63 |
64 class VCMGenericDecoder | 64 class VCMGenericDecoder |
65 { | 65 { |
66 friend class VCMCodecDataBase; | 66 friend class VCMCodecDataBase; |
67 public: | 67 public: |
68 VCMGenericDecoder(VideoDecoder* decoder, bool external); | 68 VCMGenericDecoder(VideoDecoder& decoder, bool isExternal = false); |
69 ~VCMGenericDecoder(); | 69 ~VCMGenericDecoder(); |
70 | 70 |
71 /** | 71 /** |
72 * Initialize the decoder with the information from the VideoCodec | 72 * Initialize the decoder with the information from the VideoCodec |
73 */ | 73 */ |
74 int32_t InitDecode(const VideoCodec* settings, | 74 int32_t InitDecode(const VideoCodec* settings, |
75 int32_t numberOfCores); | 75 int32_t numberOfCores); |
76 | 76 |
77 /** | 77 /** |
78 * Decode to a raw I420 frame, | 78 * Decode to a raw I420 frame, |
(...skipping 16 matching lines...) Expand all Loading... |
95 * Set decode callback. Deregistering while decoding is illegal. | 95 * Set decode callback. Deregistering while decoding is illegal. |
96 */ | 96 */ |
97 int32_t RegisterDecodeCompleteCallback(VCMDecodedFrameCallback* callback); | 97 int32_t RegisterDecodeCompleteCallback(VCMDecodedFrameCallback* callback); |
98 | 98 |
99 bool External() const; | 99 bool External() const; |
100 | 100 |
101 private: | 101 private: |
102 VCMDecodedFrameCallback* _callback; | 102 VCMDecodedFrameCallback* _callback; |
103 VCMFrameInformation _frameInfos[kDecoderFrameMemoryLength]; | 103 VCMFrameInformation _frameInfos[kDecoderFrameMemoryLength]; |
104 uint32_t _nextFrameInfoIdx; | 104 uint32_t _nextFrameInfoIdx; |
105 VideoDecoder* const _decoder; | 105 VideoDecoder& _decoder; |
106 VideoCodecType _codecType; | 106 VideoCodecType _codecType; |
107 bool _isExternal; | 107 bool _isExternal; |
108 bool _keyFrameDecoded; | 108 bool _keyFrameDecoded; |
109 }; | 109 }; |
110 | 110 |
111 } // namespace webrtc | 111 } // namespace webrtc |
112 | 112 |
113 #endif // WEBRTC_MODULES_VIDEO_CODING_GENERIC_DECODER_H_ | 113 #endif // WEBRTC_MODULES_VIDEO_CODING_GENERIC_DECODER_H_ |
OLD | NEW |