Chromium Code Reviews| 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 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 98 enum LoadType { | 98 enum LoadType { |
| 99 LoadTypeURL = 0, | 99 LoadTypeURL = 0, |
| 100 LoadTypeMediaSource = 1, | 100 LoadTypeMediaSource = 1, |
| 101 LoadTypeMediaStream = 2, | 101 LoadTypeMediaStream = 2, |
| 102 LoadTypeMax = LoadTypeMediaStream, | 102 LoadTypeMax = LoadTypeMediaStream, |
| 103 }; | 103 }; |
| 104 | 104 |
| 105 typedef WebString TrackId; | 105 typedef WebString TrackId; |
| 106 enum TrackType { TextTrack, AudioTrack, VideoTrack }; | 106 enum TrackType { TextTrack, AudioTrack, VideoTrack }; |
| 107 | 107 |
| 108 // This must stay in sync with WebGLRenderingContextBase::TexImageFunctionID. | |
| 109 enum TexImageFunctionID { | |
| 110 TexImage2D, | |
| 111 TexSubImage2D, | |
| 112 TexImage3D, | |
| 113 TexSubImage3D | |
| 114 }; | |
| 115 | |
| 108 virtual ~WebMediaPlayer() {} | 116 virtual ~WebMediaPlayer() {} |
| 109 | 117 |
| 110 virtual void load(LoadType, const WebMediaPlayerSource&, CORSMode) = 0; | 118 virtual void load(LoadType, const WebMediaPlayerSource&, CORSMode) = 0; |
| 111 | 119 |
| 112 // Playback controls. | 120 // Playback controls. |
| 113 virtual void play() = 0; | 121 virtual void play() = 0; |
| 114 virtual void pause() = 0; | 122 virtual void pause() = 0; |
| 115 virtual bool supportsSave() const = 0; | 123 virtual bool supportsSave() const = 0; |
| 116 virtual void seek(double seconds) = 0; | 124 virtual void seek(double seconds) = 0; |
| 117 virtual void setRate(double) = 0; | 125 virtual void setRate(double) = 0; |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 201 unsigned target, | 209 unsigned target, |
| 202 unsigned texture, | 210 unsigned texture, |
| 203 int level, | 211 int level, |
| 204 int xoffset, | 212 int xoffset, |
| 205 int yoffset, | 213 int yoffset, |
| 206 bool premultiplyAlpha, | 214 bool premultiplyAlpha, |
| 207 bool flipY) { | 215 bool flipY) { |
| 208 return false; | 216 return false; |
| 209 } | 217 } |
| 210 | 218 |
| 219 // Do tex(Sub)Image2D/3D for current frame. If it is not implemented for given | |
| 220 // parameters or fails, it returns false. | |
| 221 // The method is wrapping calls to glTexImage2D, glTexSubImage2D, | |
| 222 // glTexImage3D and glTexSubImage3D and parameters have the same name and | |
| 223 // meaning. | |
| 224 // Texture needs to be created and bound to active texture unit before this | |
| 225 // call. In addition, TexSubImage2D and TexSubImage3D require that previous | |
| 226 // TexImage2D and TexSubImage3D calls, respectivelly, defined the texture | |
| 227 // content. | |
| 228 virtual bool texImageImpl(TexImageFunctionID functionID, | |
|
pdr.
2016/12/02 21:17:07
Does this need to be virtual?
aleksandar.stojiljkovic
2016/12/02 21:28:51
Yes. It gets overridden in WebMediaPlayer_MS where
| |
| 229 unsigned target, | |
| 230 gpu::gles2::GLES2Interface* gl, | |
| 231 int level, | |
| 232 int internalformat, | |
| 233 unsigned format, | |
| 234 unsigned type, | |
| 235 int xoffset, | |
| 236 int yoffset, | |
| 237 int zoffset, | |
| 238 bool flipY, | |
| 239 bool premultiplyAlpha) { | |
| 240 return false; | |
| 241 } | |
| 242 | |
| 211 virtual WebAudioSourceProvider* getAudioSourceProvider() { return nullptr; } | 243 virtual WebAudioSourceProvider* getAudioSourceProvider() { return nullptr; } |
| 212 | 244 |
| 213 virtual void setContentDecryptionModule( | 245 virtual void setContentDecryptionModule( |
| 214 WebContentDecryptionModule* cdm, | 246 WebContentDecryptionModule* cdm, |
| 215 WebContentDecryptionModuleResult result) { | 247 WebContentDecryptionModuleResult result) { |
| 216 result.completeWithError( | 248 result.completeWithError( |
| 217 WebContentDecryptionModuleExceptionNotSupportedError, 0, "ERROR"); | 249 WebContentDecryptionModuleExceptionNotSupportedError, 0, "ERROR"); |
| 218 } | 250 } |
| 219 | 251 |
| 220 // Sets the poster image URL. | 252 // Sets the poster image URL. |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 231 | 263 |
| 232 virtual void enabledAudioTracksChanged( | 264 virtual void enabledAudioTracksChanged( |
| 233 const WebVector<TrackId>& enabledTrackIds) {} | 265 const WebVector<TrackId>& enabledTrackIds) {} |
| 234 // |selectedTrackId| is null if no track is selected. | 266 // |selectedTrackId| is null if no track is selected. |
| 235 virtual void selectedVideoTrackChanged(TrackId* selectedTrackId) {} | 267 virtual void selectedVideoTrackChanged(TrackId* selectedTrackId) {} |
| 236 }; | 268 }; |
| 237 | 269 |
| 238 } // namespace blink | 270 } // namespace blink |
| 239 | 271 |
| 240 #endif | 272 #endif |
| OLD | NEW |