ppb_media_stream_video_track_api.h revision 010d83a9304c5a91596085d917d248abff47903a
1// Copyright 2014 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 PPAPI_THUNK_PPB_MEDIA_STREAM_VIDEO_TRACK_API_H_
6#define PPAPI_THUNK_PPB_MEDIA_STREAM_VIDEO_TRACK_API_H_
7
8#include "ppapi/c/ppb_media_stream_video_track.h"
9
10namespace ppapi {
11namespace thunk {
12
13class PPAPI_THUNK_EXPORT PPB_MediaStreamVideoTrack_API {
14 public:
15  virtual ~PPB_MediaStreamVideoTrack_API() {}
16  virtual PP_Var GetId() = 0;
17  virtual PP_Bool HasEnded() = 0;
18  virtual int32_t Configure(const int32_t attrib_list[],
19                            scoped_refptr<ppapi::TrackedCallback> callback) = 0;
20  virtual int32_t GetAttrib(PP_MediaStreamVideoTrack_Attrib attrib,
21                            int32_t* value) = 0;
22  virtual int32_t GetFrame(PP_Resource* frame,
23                           scoped_refptr<ppapi::TrackedCallback> callback) = 0;
24  virtual int32_t RecycleFrame(PP_Resource frame) = 0;
25  virtual void Close() = 0;
26  virtual int32_t GetEmptyFrame(
27      PP_Resource* frame,
28      scoped_refptr<ppapi::TrackedCallback> callback) = 0;
29  virtual int32_t PutFrame(PP_Resource frame) = 0;
30};
31
32}  // namespace thunk
33}  // namespace ppapi
34
35#endif  // PPAPI_THUNK_PPB_MEDIA_STREAM_VIDEO_TRACK_API_H_
36