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

Side by Side Diff: chrome/renderer/media/cast_threads.cc

Issue 174403002: Cast: Don't create threads for each CastSessionDelegate (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: missing files Created 6 years, 10 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
OLDNEW
(Empty)
1 // Copyright 2014 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 "chrome/renderer/media/cast_threads.h"
6
7 #include "base/logging.h"
8
9 CastThreads::CastThreads()
10 : use_count_(0),
11 audio_encode_thread_("CastAudioEncodeThread"),
12 video_encode_thread_("CastVideoEncodeThread") {}
13
14 CastThreads::~CastThreads() { DCHECK(!use_count_); }
15
16 void CastThreads::IncrementUsage() {
17 if (++use_count_ == 1) {
18 audio_encode_thread_.Start();
19 video_encode_thread_.Start();
20 }
21 }
22
23 void CastThreads::DecrementUsage() {
24 if (--use_count_ == 0) {
25 audio_encode_thread_.Stop();
26 video_encode_thread_.Stop();
27 }
28 }
29
30 scoped_refptr<base::MessageLoopProxy>
31 CastThreads::GetAudioEncodeMessageLoopProxy() {
32 return audio_encode_thread_.message_loop_proxy();
33 }
34
35 scoped_refptr<base::MessageLoopProxy>
36 CastThreads::GetVideoEncodeMessageLoopProxy() {
37 return video_encode_thread_.message_loop_proxy();
38 }
OLDNEW
« chrome/renderer/media/cast_threads.h ('K') | « chrome/renderer/media/cast_threads.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698