OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef PPAPI_PROXY_VIDEO_DESTINATION_RESOURCE_H_ | 5 #ifndef PPAPI_PROXY_VIDEO_DESTINATION_RESOURCE_H_ |
6 #define PPAPI_PROXY_VIDEO_DESTINATION_RESOURCE_H_ | 6 #define PPAPI_PROXY_VIDEO_DESTINATION_RESOURCE_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "ppapi/c/pp_var.h" | 10 #include "ppapi/c/pp_var.h" |
11 #include "ppapi/proxy/connection.h" | 11 #include "ppapi/proxy/connection.h" |
12 #include "ppapi/proxy/plugin_resource.h" | 12 #include "ppapi/proxy/plugin_resource.h" |
13 #include "ppapi/proxy/ppapi_proxy_export.h" | 13 #include "ppapi/proxy/ppapi_proxy_export.h" |
14 #include "ppapi/thunk/ppb_video_destination_private_api.h" | 14 #include "ppapi/thunk/ppb_video_destination_private_api.h" |
15 | 15 |
16 struct PP_VideoFrame_Private; | 16 struct PP_VideoFrame_Private; |
17 | 17 |
18 namespace ppapi { | 18 namespace ppapi { |
19 | 19 |
20 class TrackedCallback; | 20 class TrackedCallback; |
21 | 21 |
22 namespace proxy { | 22 namespace proxy { |
23 | 23 |
24 class PPAPI_PROXY_EXPORT VideoDestinationResource | 24 class PPAPI_PROXY_EXPORT VideoDestinationResource |
25 : public PluginResource, | 25 : public PluginResource, |
26 public thunk::PPB_VideoDestination_Private_API { | 26 public thunk::PPB_VideoDestination_Private_API { |
27 public: | 27 public: |
28 VideoDestinationResource(Connection connection, | 28 VideoDestinationResource(Connection connection, |
29 PP_Instance instance); | 29 PP_Instance instance); |
30 virtual ~VideoDestinationResource(); | 30 ~VideoDestinationResource() override; |
31 | 31 |
32 // Resource overrides. | 32 // Resource overrides. |
33 virtual thunk::PPB_VideoDestination_Private_API* | 33 thunk::PPB_VideoDestination_Private_API* AsPPB_VideoDestination_Private_API() |
34 AsPPB_VideoDestination_Private_API() override; | 34 override; |
35 | 35 |
36 // PPB_VideoDestination_Private_API implementation. | 36 // PPB_VideoDestination_Private_API implementation. |
37 virtual int32_t Open( | 37 int32_t Open( |
38 const PP_Var& stream_url, | 38 const PP_Var& stream_url, |
39 scoped_refptr<TrackedCallback> callback) override; | 39 scoped_refptr<TrackedCallback> callback) override; |
40 virtual int32_t PutFrame(const PP_VideoFrame_Private& frame) override; | 40 int32_t PutFrame(const PP_VideoFrame_Private& frame) override; |
41 virtual void Close() override; | 41 void Close() override; |
42 | 42 |
43 private: | 43 private: |
44 void OnPluginMsgOpenComplete( | 44 void OnPluginMsgOpenComplete( |
45 const ResourceMessageReplyParams& params); | 45 const ResourceMessageReplyParams& params); |
46 | 46 |
47 scoped_refptr<TrackedCallback> open_callback_; | 47 scoped_refptr<TrackedCallback> open_callback_; |
48 bool is_open_; | 48 bool is_open_; |
49 | 49 |
50 DISALLOW_COPY_AND_ASSIGN(VideoDestinationResource); | 50 DISALLOW_COPY_AND_ASSIGN(VideoDestinationResource); |
51 }; | 51 }; |
52 | 52 |
53 } // namespace proxy | 53 } // namespace proxy |
54 } // namespace ppapi | 54 } // namespace ppapi |
55 | 55 |
56 #endif // PPAPI_PROXY_VIDEO_DESTINATION_RESOURCE_H_ | 56 #endif // PPAPI_PROXY_VIDEO_DESTINATION_RESOURCE_H_ |
OLD | NEW |