OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 22 matching lines...) Expand all Loading... |
33 | 33 |
34 #include "WebCallbacks.h" | 34 #include "WebCallbacks.h" |
35 #include "WebCanvas.h" | 35 #include "WebCanvas.h" |
36 #include "WebContentDecryptionModule.h" | 36 #include "WebContentDecryptionModule.h" |
37 #include "WebMediaSource.h" | 37 #include "WebMediaSource.h" |
38 #include "WebSetSinkIdCallbacks.h" | 38 #include "WebSetSinkIdCallbacks.h" |
39 #include "WebString.h" | 39 #include "WebString.h" |
40 #include "WebTimeRange.h" | 40 #include "WebTimeRange.h" |
41 #include "third_party/skia/include/core/SkXfermode.h" | 41 #include "third_party/skia/include/core/SkXfermode.h" |
42 | 42 |
| 43 namespace gpu { |
| 44 namespace gles2 { |
| 45 class GLES2Interface; |
| 46 } |
| 47 } |
| 48 |
43 namespace blink { | 49 namespace blink { |
44 | 50 |
45 class WebAudioSourceProvider; | 51 class WebAudioSourceProvider; |
46 class WebContentDecryptionModule; | 52 class WebContentDecryptionModule; |
47 class WebSecurityOrigin; | 53 class WebSecurityOrigin; |
48 class WebString; | 54 class WebString; |
49 class WebURL; | 55 class WebURL; |
50 struct WebRect; | 56 struct WebRect; |
51 struct WebSize; | 57 struct WebSize; |
52 class WebGraphicsContext3D; | |
53 | 58 |
54 class WebMediaPlayer { | 59 class WebMediaPlayer { |
55 public: | 60 public: |
56 enum NetworkState { | 61 enum NetworkState { |
57 NetworkStateEmpty, | 62 NetworkStateEmpty, |
58 NetworkStateIdle, | 63 NetworkStateIdle, |
59 NetworkStateLoading, | 64 NetworkStateLoading, |
60 NetworkStateLoaded, | 65 NetworkStateLoaded, |
61 NetworkStateFormatError, | 66 NetworkStateFormatError, |
62 NetworkStateNetworkError, | 67 NetworkStateNetworkError, |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 | 160 |
156 virtual unsigned decodedFrameCount() const = 0; | 161 virtual unsigned decodedFrameCount() const = 0; |
157 virtual unsigned droppedFrameCount() const = 0; | 162 virtual unsigned droppedFrameCount() const = 0; |
158 virtual unsigned corruptedFrameCount() const { return 0; } | 163 virtual unsigned corruptedFrameCount() const { return 0; } |
159 virtual size_t audioDecodedByteCount() const = 0; | 164 virtual size_t audioDecodedByteCount() const = 0; |
160 virtual size_t videoDecodedByteCount() const = 0; | 165 virtual size_t videoDecodedByteCount() const = 0; |
161 | 166 |
162 virtual void paint(WebCanvas*, const WebRect&, unsigned char alpha, SkXfermo
de::Mode) = 0; | 167 virtual void paint(WebCanvas*, const WebRect&, unsigned char alpha, SkXfermo
de::Mode) = 0; |
163 | 168 |
164 // TODO(dshwang): remove non-|target| version. crbug.com/349871 | 169 // TODO(dshwang): remove non-|target| version. crbug.com/349871 |
165 virtual bool copyVideoTextureToPlatformTexture(WebGraphicsContext3D*, unsign
ed texture, unsigned internalFormat, unsigned type, bool premultiplyAlpha, bool
flipY) { return false; } | 170 virtual bool copyVideoTextureToPlatformTexture(gpu::gles2::GLES2Interface*,
unsigned texture, unsigned internalFormat, unsigned type, bool premultiplyAlpha,
bool flipY) { return false; } |
166 | 171 |
167 // Do a GPU-GPU textures copy. If the copy is impossible or fails, it return
s false. | 172 // Do a GPU-GPU textures copy. If the copy is impossible or fails, it return
s false. |
168 virtual bool copyVideoTextureToPlatformTexture(WebGraphicsContext3D*, unsign
ed target, | 173 virtual bool copyVideoTextureToPlatformTexture(gpu::gles2::GLES2Interface*,
unsigned target, |
169 unsigned texture, unsigned internalFormat, unsigned type, int level, | 174 unsigned texture, unsigned internalFormat, unsigned type, int level, |
170 bool premultiplyAlpha, bool flipY) { return false; } | 175 bool premultiplyAlpha, bool flipY) { return false; } |
171 // Copy sub video frame texture to |texture|. If the copy is impossible or f
ails, it returns false. | 176 // Copy sub video frame texture to |texture|. If the copy is impossible or f
ails, it returns false. |
172 virtual bool copyVideoSubTextureToPlatformTexture(WebGraphicsContext3D*, uns
igned target, | 177 virtual bool copyVideoSubTextureToPlatformTexture(gpu::gles2::GLES2Interface
*, unsigned target, |
173 unsigned texture, int level, int xoffset, int yoffset, bool premultiplyA
lpha, | 178 unsigned texture, int level, int xoffset, int yoffset, bool premultiplyA
lpha, |
174 bool flipY) { return false; } | 179 bool flipY) { return false; } |
175 | 180 |
176 virtual WebAudioSourceProvider* getAudioSourceProvider() { return nullptr; } | 181 virtual WebAudioSourceProvider* getAudioSourceProvider() { return nullptr; } |
177 | 182 |
178 virtual void setContentDecryptionModule(WebContentDecryptionModule* cdm, Web
ContentDecryptionModuleResult result) { result.completeWithError(WebContentDecry
ptionModuleExceptionNotSupportedError, 0, "ERROR"); } | 183 virtual void setContentDecryptionModule(WebContentDecryptionModule* cdm, Web
ContentDecryptionModuleResult result) { result.completeWithError(WebContentDecry
ptionModuleExceptionNotSupportedError, 0, "ERROR"); } |
179 | 184 |
180 // Sets the poster image URL. | 185 // Sets the poster image URL. |
181 virtual void setPoster(const WebURL& poster) { } | 186 virtual void setPoster(const WebURL& poster) { } |
182 | 187 |
183 // Whether the WebMediaPlayer supports overlay fullscreen video mode. When | 188 // Whether the WebMediaPlayer supports overlay fullscreen video mode. When |
184 // this is true, the video layer will be removed from the layer tree when | 189 // this is true, the video layer will be removed from the layer tree when |
185 // entering fullscreen, and the WebMediaPlayer is responsible for displaying | 190 // entering fullscreen, and the WebMediaPlayer is responsible for displaying |
186 // the video in enteredFullscreen(). | 191 // the video in enteredFullscreen(). |
187 virtual bool supportsOverlayFullscreenVideo() { return false; } | 192 virtual bool supportsOverlayFullscreenVideo() { return false; } |
188 // Inform WebMediaPlayer when the element has entered/exited fullscreen. | 193 // Inform WebMediaPlayer when the element has entered/exited fullscreen. |
189 virtual void enteredFullscreen() { } | 194 virtual void enteredFullscreen() { } |
190 virtual void exitedFullscreen() { } | 195 virtual void exitedFullscreen() { } |
191 | 196 |
192 virtual void enabledAudioTracksChanged(const WebVector<TrackId>& enabledTrac
kIds) { } | 197 virtual void enabledAudioTracksChanged(const WebVector<TrackId>& enabledTrac
kIds) { } |
193 // |selectedTrackId| is null if no track is selected. | 198 // |selectedTrackId| is null if no track is selected. |
194 virtual void selectedVideoTrackChanged(TrackId* selectedTrackId) { } | 199 virtual void selectedVideoTrackChanged(TrackId* selectedTrackId) { } |
195 }; | 200 }; |
196 | 201 |
197 } // namespace blink | 202 } // namespace blink |
198 | 203 |
199 #endif | 204 #endif |
OLD | NEW |