1 // Copyright 2015 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.
5 #ifndef WebMediaRecorderHandler_h
6 #define WebMediaRecorderHandler_h
12 class WebMediaRecorderHandlerClient
;
16 // Platform interface of a MediaRecorder.
17 class BLINK_PLATFORM_EXPORT WebMediaRecorderHandler
{
19 virtual ~WebMediaRecorderHandler() = default;
20 virtual bool initialize(WebMediaRecorderHandlerClient
* client
, const WebMediaStream
& stream
, const WebString
& mimeType
) { return false; }
21 virtual bool start() { return false; }
22 virtual bool start(int timeslice
) { return false; }
23 virtual void stop() {}
24 virtual void pause() {}
25 virtual void resume() {}
27 // MediaRecorder API canRecordMimeType() is a tristate in which the returned
28 // value 'probably' means that "the user agent is confident that mimeType
29 // represents a type that it can record" [1], but a number of reasons might
30 // prevent a firm answer at this stage, so a boolean is a better option,
31 // because "Implementors are encouraged to return "maybe" unless the type
32 // can be confidently established as being supported or not." [1].
33 // [1] https://w3c.github.io/mediacapture-record/MediaRecorder.html#methods
34 virtual bool canSupportMimeType(const WebString
& mimeType
) { return false; }
39 #endif // WebMediaRecorderHandler_h