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

Side by Side Diff: webrtc/common_video/video_render_frames.h

Issue 1419673014: Remove frame time scheduing in IncomingVideoStream (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Totally disable the functionality Created 5 years, 1 month 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
(Empty)
1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #ifndef WEBRTC_COMMON_VIDEO_VIDEO_RENDER_FRAMES_H_
12 #define WEBRTC_COMMON_VIDEO_VIDEO_RENDER_FRAMES_H_
13
14 #include <stdint.h>
15
16 #include <list>
17
18 #include "webrtc/video_frame.h"
19
20 namespace webrtc {
21
22 // Class definitions
23 class VideoRenderFrames {
24 public:
25 VideoRenderFrames();
26
27 // Add a frame to the render queue
28 int32_t AddFrame(const VideoFrame& new_frame);
29
30 // Get a frame for rendering, or a zero-size frame if it's not time to render.
31 VideoFrame FrameToRender();
32
33 // Releases all frames
34 int32_t ReleaseAllFrames();
35
36 // Returns the number of ms to next frame to render
37 uint32_t TimeToNextFrameRelease();
38
39 // Sets estimates delay in renderer
40 int32_t SetRenderDelay(const uint32_t render_delay);
41
42 private:
43 // 10 seconds for 30 fps.
44 enum { KMaxNumberOfFrames = 300 };
45 // Don't render frames with timestamp older than 500ms from now.
46 enum { KOldRenderTimestampMS = 500 };
47 // Don't render frames with timestamp more than 10s into the future.
48 enum { KFutureRenderTimestampMS = 10000 };
49
50 // Sorted list with framed to be rendered, oldest first.
51 std::list<VideoFrame> incoming_frames_;
52
53 // Estimated delay from a frame is released until it's rendered.
54 uint32_t render_delay_ms_;
55 };
56
57 } // namespace webrtc
58
59 #endif // WEBRTC_COMMON_VIDEO_VIDEO_RENDER_FRAMES_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698