// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "content/public/browser/media_session_observer.h"

#include "content/browser/media/session/media_session_impl.h"

namespace content {

MediaSessionObserver::MediaSessionObserver(MediaSession* media_session)
    : media_session_(static_cast<MediaSessionImpl*>(media_session)) {
  if (media_session_)
    media_session_->AddObserver(this);
}

MediaSessionObserver::~MediaSessionObserver() {
  StopObserving();
}

MediaSession* MediaSessionObserver::media_session() const {
  return media_session_;
}

void MediaSessionObserver::StopObserving() {
  if (media_session_)
    media_session_->RemoveObserver(this);
  media_session_ = nullptr;
}

}  // namespace content
