Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(441)

Side by Side Diff: content/renderer/media/rtc_video_decoder.h

Issue 1817573004: Handle HW decode failures in RTCVideoDecoder (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: mcasas@ comments. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_RENDERER_MEDIA_RTC_VIDEO_DECODER_H_ 5 #ifndef CONTENT_RENDERER_MEDIA_RTC_VIDEO_DECODER_H_
6 #define CONTENT_RENDERER_MEDIA_RTC_VIDEO_DECODER_H_ 6 #define CONTENT_RENDERER_MEDIA_RTC_VIDEO_DECODER_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 DECODE_ERROR, // Decoding error happened. 201 DECODE_ERROR, // Decoding error happened.
202 }; 202 };
203 203
204 static const int32_t ID_LAST; // maximum bitstream buffer id 204 static const int32_t ID_LAST; // maximum bitstream buffer id
205 static const int32_t ID_HALF; // half of the maximum bitstream buffer id 205 static const int32_t ID_HALF; // half of the maximum bitstream buffer id
206 static const int32_t ID_INVALID; // indicates Reset or Release never occurred 206 static const int32_t ID_INVALID; // indicates Reset or Release never occurred
207 207
208 // The hardware video decoder. 208 // The hardware video decoder.
209 scoped_ptr<media::VideoDecodeAccelerator> vda_; 209 scoped_ptr<media::VideoDecodeAccelerator> vda_;
210 210
211 media::VideoCodecProfile vda_codec_profile_;
212
213 // Number of time that |vda_| notified of an error.
mcasas 2016/03/28 18:15:20 s/time/times/
emircan 2016/03/29 01:50:50 Done.
214 uint32_t num_vda_errors_;
215
211 // The video codec type, as reported by WebRTC. 216 // The video codec type, as reported by WebRTC.
212 const webrtc::VideoCodecType video_codec_type_; 217 const webrtc::VideoCodecType video_codec_type_;
213 218
214 // The size of the incoming video frames. 219 // The size of the incoming video frames.
215 gfx::Size frame_size_; 220 gfx::Size frame_size_;
216 221
217 media::GpuVideoAcceleratorFactories* const factories_; 222 media::GpuVideoAcceleratorFactories* const factories_;
218 223
219 // The texture target used for decoded pictures. 224 // The texture target used for decoded pictures.
220 uint32_t decoder_texture_target_; 225 uint32_t decoder_texture_target_;
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 // Must be destroyed, or invalidated, on |vda_loop_proxy_| 286 // Must be destroyed, or invalidated, on |vda_loop_proxy_|
282 // NOTE: Weak pointers must be invalidated before all other member variables. 287 // NOTE: Weak pointers must be invalidated before all other member variables.
283 base::WeakPtrFactory<RTCVideoDecoder> weak_factory_; 288 base::WeakPtrFactory<RTCVideoDecoder> weak_factory_;
284 289
285 DISALLOW_COPY_AND_ASSIGN(RTCVideoDecoder); 290 DISALLOW_COPY_AND_ASSIGN(RTCVideoDecoder);
286 }; 291 };
287 292
288 } // namespace content 293 } // namespace content
289 294
290 #endif // CONTENT_RENDERER_MEDIA_RTC_VIDEO_DECODER_H_ 295 #endif // CONTENT_RENDERER_MEDIA_RTC_VIDEO_DECODER_H_
OLDNEW
« no previous file with comments | « no previous file | content/renderer/media/rtc_video_decoder.cc » ('j') | content/renderer/media/rtc_video_decoder.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698