| Index: media/cast/sender/vp8_encoder.h
|
| diff --git a/media/cast/sender/vp8_encoder.h b/media/cast/sender/vp8_encoder.h
|
| index 0437dbc2f51a2307537ba828dae62bc4750140f9..abe5eebb88320b9cb0eb8d28acc9a6df768fa962 100644
|
| --- a/media/cast/sender/vp8_encoder.h
|
| +++ b/media/cast/sender/vp8_encoder.h
|
| @@ -55,6 +55,16 @@ class Vp8Encoder : public SoftwareVideoEncoder {
|
| kNoBuffer = 3 // Note: must be last.
|
| };
|
|
|
| + enum Vp8BufferState {
|
| + kBufferStartState,
|
| + kBufferSent,
|
| + kBufferAcked
|
| + };
|
| + struct BufferState {
|
| + uint32 frame_id;
|
| + Vp8BufferState state;
|
| + };
|
| +
|
| void InitEncode(int number_of_cores);
|
|
|
| // Calculate the max target in % for a keyframe.
|
| @@ -63,11 +73,9 @@ class Vp8Encoder : public SoftwareVideoEncoder {
|
| // Calculate which next Vp8 buffers to update with the next frame.
|
| Vp8Buffers GetNextBufferToUpdate();
|
|
|
| - // Calculate which previous frame to reference.
|
| - uint32 GetLatestFrameIdToReference();
|
| -
|
| // Get encoder flags for our referenced encoder buffers.
|
| - void GetCodecReferenceFlags(vpx_codec_flags_t* flags);
|
| + // Return which previous frame to reference.
|
| + uint32 GetCodecReferenceFlags(vpx_codec_flags_t* flags);
|
|
|
| // Get encoder flags for our encoder buffers to update with next frame.
|
| void GetCodecUpdateFlags(Vp8Buffers buffer_to_update,
|
| @@ -75,7 +83,6 @@ class Vp8Encoder : public SoftwareVideoEncoder {
|
|
|
| const VideoSenderConfig cast_config_;
|
| const bool use_multiple_video_buffers_;
|
| - const int max_number_of_repeated_buffers_in_a_row_;
|
|
|
| // VP8 internal objects.
|
| scoped_ptr<vpx_codec_enc_cfg_t> config_;
|
| @@ -86,10 +93,10 @@ class Vp8Encoder : public SoftwareVideoEncoder {
|
| bool first_frame_received_;
|
| base::TimeDelta first_frame_timestamp_;
|
| uint32 last_encoded_frame_id_;
|
| - uint32 used_buffers_frame_id_[kNumberOfVp8VideoBuffers];
|
| - bool acked_frame_buffers_[kNumberOfVp8VideoBuffers];
|
| - Vp8Buffers last_used_vp8_buffer_;
|
| - int number_of_repeated_buffers_;
|
| + uint32 last_acked_frame_id_;
|
| + uint32 frame_id_to_reference_;
|
| + uint32 undroppable_frames_;
|
| + BufferState buffer_state_[kNumberOfVp8VideoBuffers];
|
|
|
| // This is bound to the thread where Initialize() is called.
|
| base::ThreadChecker thread_checker_;
|
|
|