Home | History | Annotate | Download | only in media
      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