• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 //
5 // This file contains commonly used definitions of video capture.
6 
7 #ifndef CONTENT_COMMON_MEDIA_VIDEO_CAPTURE_H_
8 #define CONTENT_COMMON_MEDIA_VIDEO_CAPTURE_H_
9 
10 #include "base/time/time.h"
11 #include "media/base/video_frame.h"
12 #include "media/video/capture/video_capture_types.h"
13 
14 namespace content {
15 
16 // Current status of the video capture device. It's used by multiple classes
17 // in browser process and renderer process.
18 // Browser process sends information about the current capture state and
19 // error to the renderer process using this type.
20 enum VideoCaptureState {
21   VIDEO_CAPTURE_STATE_STARTING,
22   VIDEO_CAPTURE_STATE_STARTED,
23   VIDEO_CAPTURE_STATE_PAUSED,
24   VIDEO_CAPTURE_STATE_STOPPING,
25   VIDEO_CAPTURE_STATE_STOPPED,
26   VIDEO_CAPTURE_STATE_ERROR,
27   VIDEO_CAPTURE_STATE_ENDED,
28   VIDEO_CAPTURE_STATE_LAST = VIDEO_CAPTURE_STATE_ENDED
29 };
30 
31 typedef base::Callback<void(VideoCaptureState)>
32     VideoCaptureStateUpdateCB;
33 typedef base::Callback<void(const media::VideoCaptureFormats&)>
34     VideoCaptureDeviceFormatsCB;
35 
36 }  // namespace content
37 
38 #endif  // CONTENT_COMMON_MEDIA_VIDEO_CAPTURE_H_
39