| Index: remoting/codec/video_encoder_helper.h
|
| diff --git a/remoting/codec/video_encoder_helper.h b/remoting/codec/video_encoder_helper.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c33fdb994f4c9bdba04ef8ad2ca1094e8dce9e93
|
| --- /dev/null
|
| +++ b/remoting/codec/video_encoder_helper.h
|
| @@ -0,0 +1,46 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef REMOTING_CODEC_VIDEO_ENCODER_HELPER_H_
|
| +#define REMOTING_CODEC_VIDEO_ENCODER_HELPER_H_
|
| +
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
|
| +
|
| +namespace webrtc {
|
| +class DesktopFrame;
|
| +class DesktopRegion;
|
| +}
|
| +
|
| +namespace remoting {
|
| +
|
| +class VideoPacket;
|
| +
|
| +class VideoEncoderHelper {
|
| + public:
|
| + VideoEncoderHelper();
|
| +
|
| + // Returns a new VideoPacket with common fields (e.g. capture_time_ms, rects
|
| + // list, frame shape if any) initialized based on the supplied |frame|.
|
| + // Screen width and height will be set iff |frame|'s size differs from that
|
| + // of the previously-supplied frame.
|
| + scoped_ptr<VideoPacket> CreateVideoPacket(const webrtc::DesktopFrame& frame);
|
| +
|
| + // Returns a new VideoPacket with the common fields populated from |frame|,
|
| + // but the updated rects overridden by |updated_region|. This is useful for
|
| + // encoders which alter the updated region e.g. by expanding it to macroblock
|
| + // boundaries.
|
| + scoped_ptr<VideoPacket> CreateVideoPacketWithUpdatedRegion(
|
| + const webrtc::DesktopFrame& frame,
|
| + const webrtc::DesktopRegion& updated_region);
|
| + private:
|
| + // The most recent screen size. Used to detect screen size changes.
|
| + webrtc::DesktopSize screen_size_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(VideoEncoderHelper);
|
| +};
|
| +
|
| +} // namespace remoting
|
| +
|
| +#endif // REMOTING_CODEC_VIDEO_ENCODER_HELPER_H_
|
|
|