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

Side by Side Diff: media/blink/webmediaplayer_impl.h

Issue 2461073002: Use MediaCodec.setOutputSurface() for fullscreen transitions on M. (Closed)
Patch Set: Address comments. Created 4 years, 1 month 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 | « media/base/surface_manager.h ('k') | media/blink/webmediaplayer_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ 5 #ifndef MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_
6 #define MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ 6 #define MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 void DataSourceInitialized(bool success); 273 void DataSourceInitialized(bool success);
274 274
275 // Called when the data source is downloading or paused. 275 // Called when the data source is downloading or paused.
276 void NotifyDownloading(bool is_downloading); 276 void NotifyDownloading(bool is_downloading);
277 277
278 // Called by SurfaceManager when a surface is created. 278 // Called by SurfaceManager when a surface is created.
279 void OnSurfaceCreated(int surface_id); 279 void OnSurfaceCreated(int surface_id);
280 280
281 // Called by GpuVideoDecoder on Android to request a surface to render to (if 281 // Called by GpuVideoDecoder on Android to request a surface to render to (if
282 // necessary). 282 // necessary).
283 void OnSurfaceRequested(const SurfaceCreatedCB& surface_created_cb); 283 void OnSurfaceRequested(bool decoder_requires_restart_for_overlay,
284 const SurfaceCreatedCB& surface_created_cb);
284 285
285 // Creates a Renderer via the |renderer_factory_|. 286 // Creates a Renderer via the |renderer_factory_|.
286 std::unique_ptr<Renderer> CreateRenderer(); 287 std::unique_ptr<Renderer> CreateRenderer();
287 288
288 // Finishes starting the pipeline due to a call to load(). 289 // Finishes starting the pipeline due to a call to load().
289 void StartPipeline(); 290 void StartPipeline();
290 291
291 // Helpers that set the network/ready state and notifies the client if 292 // Helpers that set the network/ready state and notifies the client if
292 // they've changed. 293 // they've changed.
293 void SetNetworkState(blink::WebMediaPlayer::NetworkState state); 294 void SetNetworkState(blink::WebMediaPlayer::NetworkState state);
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 SurfaceManager* surface_manager_; 520 SurfaceManager* surface_manager_;
520 521
521 // For canceling ongoing surface creation requests when exiting fullscreen. 522 // For canceling ongoing surface creation requests when exiting fullscreen.
522 base::CancelableCallback<void(int)> surface_created_cb_; 523 base::CancelableCallback<void(int)> surface_created_cb_;
523 524
524 // The current overlay surface id. Populated while in fullscreen once the 525 // The current overlay surface id. Populated while in fullscreen once the
525 // surface is created. 526 // surface is created.
526 int overlay_surface_id_; 527 int overlay_surface_id_;
527 528
528 // If a surface is requested before it's finished being created, the request 529 // If a surface is requested before it's finished being created, the request
529 // is saved and satisfied once the surface is available. 530 // is saved and satisfied once the surface is available. If the decoder does
530 SurfaceCreatedCB pending_surface_request_cb_; 531 // not require restart to change surfaces, this is callback is kept until
532 // cleared by the decoder.
533 SurfaceCreatedCB set_surface_cb_;
531 534
532 // Force to use SurfaceView instead of SurfaceTexture on Android. 535 // Force to use SurfaceView instead of SurfaceTexture on Android.
533 bool force_video_overlays_; 536 bool force_video_overlays_;
534 537
535 // Prevent use of SurfaceView on Android. (Ignored when 538 // Prevent use of SurfaceView on Android. (Ignored when
536 // |force_video_overlays_| is true.) 539 // |force_video_overlays_| is true.)
537 bool disable_fullscreen_video_overlays_; 540 bool disable_fullscreen_video_overlays_;
538 541
539 // Suppresses calls to OnPipelineError() after destruction / shutdown has been 542 // Suppresses calls to OnPipelineError() after destruction / shutdown has been
540 // started; prevents us from spuriously logging errors that are transient or 543 // started; prevents us from spuriously logging errors that are transient or
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 578
576 // Whether the player is currently in autoplay muted state. 579 // Whether the player is currently in autoplay muted state.
577 bool autoplay_muted_ = false; 580 bool autoplay_muted_ = false;
578 581
579 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); 582 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl);
580 }; 583 };
581 584
582 } // namespace media 585 } // namespace media
583 586
584 #endif // MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ 587 #endif // MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_
OLDNEW
« no previous file with comments | « media/base/surface_manager.h ('k') | media/blink/webmediaplayer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698