Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Side by Side Diff: ppapi/cpp/media_stream_video_track.cc

Issue 107083004: [PPAPI] API definition for video media stream artifacts (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: Fix build warnings Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ppapi/cpp/media_stream_video_track.h ('k') | ppapi/cpp/video_frame.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "ppapi/cpp/media_stream_video_track.h"
6
7 #include "ppapi/c/pp_errors.h"
8 #include "ppapi/c/ppb_media_stream_video_track.h"
9 #include "ppapi/cpp/completion_callback.h"
10 #include "ppapi/cpp/module_impl.h"
11 #include "ppapi/cpp/var.h"
12 #include "ppapi/cpp/video_frame.h"
13
14 namespace pp {
15
16 namespace {
17
18 template <> const char* interface_name<PPB_MediaStreamVideoTrack_0_1>() {
19 return PPB_MEDIASTREAMVIDEOTRACK_INTERFACE_0_1;
20 }
21
22 } // namespace
23
24 MediaStreamVideoTrack::MediaStreamVideoTrack() {
25 }
26
27 MediaStreamVideoTrack::MediaStreamVideoTrack(
28 const MediaStreamVideoTrack& other) : Resource(other) {
29 }
30
31 MediaStreamVideoTrack::MediaStreamVideoTrack(const Resource& resource)
32 : Resource(resource) {
33 PP_DCHECK(IsMediaStreamVideoTrack(resource));
34 }
35
36 MediaStreamVideoTrack::MediaStreamVideoTrack(PassRef, PP_Resource resource)
37 : Resource(PASS_REF, resource) {
38 }
39
40 MediaStreamVideoTrack::~MediaStreamVideoTrack() {
41 }
42
43 int32_t MediaStreamVideoTrack::Configure(uint32_t frame_buffer_size) {
44 if (has_interface<PPB_MediaStreamVideoTrack_0_1>()) {
45 return get_interface<PPB_MediaStreamVideoTrack_0_1>()->Configure(
46 pp_resource(), frame_buffer_size);
47 }
48 return PP_ERROR_NOINTERFACE;
49 }
50
51 std::string MediaStreamVideoTrack::GetId() const {
52 if (has_interface<PPB_MediaStreamVideoTrack_0_1>()) {
53 pp::Var id(PASS_REF, get_interface<PPB_MediaStreamVideoTrack_0_1>()->GetId(
54 pp_resource()));
55 if (id.is_string())
56 return id.AsString();
57 }
58 return std::string();
59 }
60
61 bool MediaStreamVideoTrack::HasEnded() const {
62 if (has_interface<PPB_MediaStreamVideoTrack_0_1>()) {
63 return PP_ToBool(get_interface<PPB_MediaStreamVideoTrack_0_1>()->HasEnded(
64 pp_resource()));
65 }
66 return true;
67 }
68
69 int32_t MediaStreamVideoTrack::GetFrame(
70 const CompletionCallbackWithOutput<VideoFrame>& cc) {
71 if (has_interface<PPB_MediaStreamVideoTrack_0_1>()) {
72 return get_interface<PPB_MediaStreamVideoTrack_0_1>()->GetFrame(
73 pp_resource(), cc.output(), cc.pp_completion_callback());
74 }
75 return cc.MayForce(PP_ERROR_NOINTERFACE);
76 }
77
78 int32_t MediaStreamVideoTrack::RecycleFrame(const VideoFrame& frame) {
79 if (has_interface<PPB_MediaStreamVideoTrack_0_1>()) {
80 return get_interface<PPB_MediaStreamVideoTrack_0_1>()->RecycleFrame(
81 pp_resource(), frame.pp_resource());
82 }
83 return PP_ERROR_NOINTERFACE;
84 }
85
86 void MediaStreamVideoTrack::Close() {
87 if (has_interface<PPB_MediaStreamVideoTrack_0_1>())
88 get_interface<PPB_MediaStreamVideoTrack_0_1>()->Close(pp_resource());
89 }
90
91 bool MediaStreamVideoTrack::IsMediaStreamVideoTrack(const Resource& resource) {
92 if (has_interface<PPB_MediaStreamVideoTrack_0_1>()) {
93 return PP_ToBool(get_interface<PPB_MediaStreamVideoTrack_0_1>()->
94 IsMediaStreamVideoTrack(resource.pp_resource()));
95 }
96 return false;
97 }
98
99 } // namespace pp
OLDNEW
« no previous file with comments | « ppapi/cpp/media_stream_video_track.h ('k') | ppapi/cpp/video_frame.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698