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

Side by Side Diff: content/renderer/media/media_stream_source_observer.cc

Issue 14346002: Connect webrtc MediaSourceInterface ready states with webkit WebMediaStreamSource (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 8 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
OLDNEW
(Empty)
1 // Copyright (c) 2013 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 "content/renderer/media/media_stream_source_observer.h"
6
7 #include "base/logging.h"
8
9 namespace content {
10
11 MediaStreamSourceObserver::MediaStreamSourceObserver(
12 webrtc::MediaSourceInterface* webrtc_source,
13 const WebKit::WebMediaStreamSource& webkit_source)
14 : state_(webrtc_source->state()),
15 webrtc_source_(webrtc_source),
16 webkit_source_(webkit_source) {
17 DCHECK(CalledOnValidThread());
18 webrtc_source_->RegisterObserver(this);
19 }
20
21 MediaStreamSourceObserver::~MediaStreamSourceObserver() {
22 if (webrtc_source_)
23 webrtc_source_->UnregisterObserver(this);
24 }
25
26 void MediaStreamSourceObserver::OnChanged() {
27 DCHECK(CalledOnValidThread());
28 // There should be no more notification after kEnded.
29 DCHECK(webrtc_source_ != NULL);
30
tommi (sloooow) - chröme 2013/04/23 09:50:55 one empty line
31
32 webrtc::MediaSourceInterface::SourceState state = webrtc_source_->state();
33 if (state == state_)
34 return;
35 state_ = state;
36
37 switch (state) {
38 case webrtc::MediaSourceInterface::kInitializing:
39 /* kInitializing is not ready state. */
perkj_chrome 2013/04/18 13:36:20 Can you rewrite this comment a bit. Ie kInitializi
tommi (sloooow) - chröme 2013/04/23 09:50:55 This looks like copy/paste from another changelist
40 break;
41 case webrtc::MediaSourceInterface::kLive:
42 webkit_source_.setReadyState(
43 WebKit::WebMediaStreamSource::ReadyStateLive);
44 break;
45 case webrtc::MediaSourceInterface::kMuted:
46 webkit_source_.setReadyState(
47 WebKit::WebMediaStreamSource::ReadyStateMuted);
48 break;
49 case webrtc::MediaSourceInterface::kEnded:
50 webkit_source_.setReadyState(
51 WebKit::WebMediaStreamSource::ReadyStateEnded);
52 webrtc_source_->UnregisterObserver(this);
53 webrtc_source_ = NULL;
54 webkit_source_.reset();
55 break;
56 default:
57 NOTREACHED();
58 }
59 }
60
61 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698