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

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

Issue 10855188: media::BindToLoop() is born, with example uses to slim down WebMediaPlayerProxy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: now with tests and CallbackForward Created 8 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « media/media.gyp ('k') | webkit/media/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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // Delegate calls from WebCore::MediaPlayerPrivate to Chrome's video player. 5 // Delegate calls from WebCore::MediaPlayerPrivate to Chrome's video player.
6 // It contains Pipeline which is the actual media player pipeline, it glues 6 // It contains Pipeline which is the actual media player pipeline, it glues
7 // the media player pipeline, data source, audio renderer and renderer. 7 // the media player pipeline, data source, audio renderer and renderer.
8 // Pipeline would creates multiple threads and access some public methods 8 // Pipeline would creates multiple threads and access some public methods
9 // of this class, so we need to be extra careful about concurrent access of 9 // of this class, so we need to be extra careful about concurrent access of
10 // methods and members. 10 // methods and members.
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 80
81 namespace webkit_media { 81 namespace webkit_media {
82 82
83 class MediaStreamClient; 83 class MediaStreamClient;
84 class WebMediaPlayerDelegate; 84 class WebMediaPlayerDelegate;
85 class WebMediaPlayerProxy; 85 class WebMediaPlayerProxy;
86 86
87 class WebMediaPlayerImpl 87 class WebMediaPlayerImpl
88 : public WebKit::WebMediaPlayer, 88 : public WebKit::WebMediaPlayer,
89 public MessageLoop::DestructionObserver, 89 public MessageLoop::DestructionObserver,
90 public base::SupportsWeakPtr<WebMediaPlayerImpl> { 90 public base::SupportsWeakPtr<WebMediaPlayerImpl> {
scherkus (not reviewing) 2012/08/16 22:05:49 uhm?
Ami GONE FROM CHROMIUM 2012/08/16 22:11:11 Nice catch :) Done.
91 public: 91 public:
92 // Construct a WebMediaPlayerImpl with reference to the client, and media 92 // Construct a WebMediaPlayerImpl with reference to the client, and media
93 // filter collection. By providing the filter collection the implementor can 93 // filter collection. By providing the filter collection the implementor can
94 // provide more specific media filters that does resource loading and 94 // provide more specific media filters that does resource loading and
95 // rendering. 95 // rendering.
96 // 96 //
97 // WebMediaPlayerImpl comes packaged with the following media filters: 97 // WebMediaPlayerImpl comes packaged with the following media filters:
98 // - URL fetching 98 // - URL fetching
99 // - Demuxing 99 // - Demuxing
100 // - Software audio/video decoding 100 // - Software audio/video decoding
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 WebKit::WebAudioSourceProvider* audio_source_provider_; 334 WebKit::WebAudioSourceProvider* audio_source_provider_;
335 335
336 scoped_refptr<media::AudioRendererSink> audio_renderer_sink_; 336 scoped_refptr<media::AudioRendererSink> audio_renderer_sink_;
337 337
338 bool is_local_source_; 338 bool is_local_source_;
339 bool supports_save_; 339 bool supports_save_;
340 340
341 // The decryptor that manages decryption keys and decrypts encrypted frames. 341 // The decryptor that manages decryption keys and decrypts encrypted frames.
342 ProxyDecryptor decryptor_; 342 ProxyDecryptor decryptor_;
343 343
344 // Should be last to ensure destruction order.
345 base::WeakPtrFactory<WebMediaPlayerImpl> weak_this_;
346
344 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); 347 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl);
345 }; 348 };
346 349
347 } // namespace webkit_media 350 } // namespace webkit_media
348 351
349 #endif // WEBKIT_MEDIA_WEBMEDIAPLAYER_IMPL_H_ 352 #endif // WEBKIT_MEDIA_WEBMEDIAPLAYER_IMPL_H_
OLDNEW
« no previous file with comments | « media/media.gyp ('k') | webkit/media/webmediaplayer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698