Home | History | Annotate | Download | only in media
      1 // Copyright (c) 2012 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 #ifndef CONTENT_RENDERER_MEDIA_RTC_MEDIA_CONSTRAINTS_H_
      6 #define CONTENT_RENDERER_MEDIA_RTC_MEDIA_CONSTRAINTS_H_
      7 
      8 #include "base/compiler_specific.h"
      9 #include "content/common/content_export.h"
     10 #include "third_party/libjingle/source/talk/app/webrtc/mediaconstraintsinterface.h"
     11 
     12 namespace blink {
     13 class WebMediaConstraints;
     14 }
     15 
     16 namespace content {
     17 
     18 // RTCMediaConstraints acts as a glue layer between WebKits MediaConstraints and
     19 // libjingle webrtc::MediaConstraintsInterface.
     20 // Constraints are used by PeerConnection and getUserMedia API calls.
     21 class CONTENT_EXPORT RTCMediaConstraints
     22     : public NON_EXPORTED_BASE(webrtc::MediaConstraintsInterface) {
     23  public:
     24   RTCMediaConstraints();
     25   explicit RTCMediaConstraints(
     26       const blink::WebMediaConstraints& constraints);
     27   virtual ~RTCMediaConstraints();
     28   virtual const Constraints& GetMandatory() const OVERRIDE;
     29   virtual const Constraints& GetOptional() const OVERRIDE;
     30   void AddOptional(const std::string& key, const std::string& value);
     31   // Adds a mandatory constraint, optionally overriding an existing one.
     32   // If the constraint is already set and |override_if_exists| is false,
     33   // the function will return false, otherwise true.
     34   bool AddMandatory(const std::string& key, const std::string& value,
     35                     bool override_if_exists);
     36 
     37  protected:
     38   Constraints mandatory_;
     39   Constraints optional_;
     40 };
     41 
     42 }  // namespace content
     43 
     44 
     45 #endif  // CONTENT_RENDERER_MEDIA_RTC_MEDIA_CONSTRAINTS_H_
     46