blob: 86c7d80d59a5fb25367d11a1bf59b7e31efa4109 [file] [log] [blame]
// Copyright 2015 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.
#ifndef CHROMECAST_COMMON_MEDIA_CAST_MEDIA_DRM_BRIDGE_CLIENT_H_
#define CHROMECAST_COMMON_MEDIA_CAST_MEDIA_DRM_BRIDGE_CLIENT_H_
#include <map>
#include "base/macros.h"
#include "chromecast/chromecast_buildflags.h"
#include "chromecast/media/cdm/playready_drm_delegate_android.h"
#include "components/cdm/common/widevine_drm_delegate_android.h"
#include "media/base/android/media_drm_bridge_client.h"
namespace chromecast {
namespace media {
class CastMediaDrmBridgeClient : public ::media::MediaDrmBridgeClient {
public:
CastMediaDrmBridgeClient();
~CastMediaDrmBridgeClient() override;
private:
// ::media::MediaDrmBridgeClient implementation:
void AddKeySystemUUIDMappings(KeySystemUuidMap* map) override;
::media::MediaDrmBridgeDelegate* GetMediaDrmBridgeDelegate(
const ::media::UUID& scheme_uuid) override;
#if BUILDFLAG(ENABLE_PLAYREADY)
PlayreadyDrmDelegateAndroid playready_delegate_;
#endif // BUILDFLAG(ENABLE_PLAYREADY)
cdm::WidevineDrmDelegateAndroid widevine_delegate_;
DISALLOW_COPY_AND_ASSIGN(CastMediaDrmBridgeClient);
};
} // namespace media
} // namespace chromecast
#endif // CHROMECAST_COMMON_MEDIA_CAST_MEDIA_DRM_BRIDGE_CLIENT_H_