| // Copyright 2015 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. |
| |
| // https://w3c.github.io/mediacapture-record/MediaRecorder.html#MediaRecorderAPI |
| |
| enum RecordingState { "inactive", "recording", "paused" }; |
| |
| [ |
| GarbageCollected, |
| ActiveDOMObject, |
| Constructor(MediaStream stream, optional MediaRecorderOptions options), |
| ConstructorCallWith=ExecutionContext, |
| RaisesException=Constructor, |
| RuntimeEnabled=MediaRecorder, |
| ] interface MediaRecorder : EventTarget { |
| readonly attribute MediaStream stream; |
| readonly attribute DOMString mimeType; |
| readonly attribute RecordingState state; |
| |
| attribute EventHandler onstart; |
| attribute EventHandler onstop; |
| attribute EventHandler ondataavailable; |
| attribute EventHandler onpause; |
| attribute EventHandler onresume; |
| attribute EventHandler onerror; |
| attribute boolean ignoreMutedMedia; |
| readonly attribute unsigned long videoBitsPerSecond; |
| readonly attribute unsigned long audioBitsPerSecond; |
| |
| [RaisesException] void start(optional long timeslice); |
| [RaisesException] void stop(); |
| [RaisesException] void pause(); |
| [RaisesException] void resume(); |
| [RaisesException] void requestData(); |
| |
| static boolean isTypeSupported(DOMString type); |
| }; |