hal/HalNetworkInformation.h
author Bryce Van Dyk <bvandyk@mozilla.com>
Wed, 26 Sep 2018 16:34:32 +0000
changeset 496769 e6f8e822851acb248df066141c3f2a6dcbad20d6
parent 488960 0f7c6b1dae394d5da62b4fade193bca1bb8115af
child 508163 6f3709b3878117466168c40affa7bca0b60cf75b
permissions -rw-r--r--
Bug 1494178 - Add check to ChromiumCDMChild to mark samples with 0 encrypted bytes as unencrypted. r=cpearce With the addition of an explicit encryption enum for CDM10 input data, if a sample has 0 encrypted bytes it must be marked as unencrypted. Historically we could let the CDM figure out based on the unencrypted + encrypted bytes. However, if we mark a sample as encrypted but it has 0 encrypted bytes, the CDM will fail to decrypt. This changeset adds a check to gracefully handle samples that are marked as encrypted but with no encrypted ranges. In such cases we mark the data as unencrypted and log that such data was encountered. This means we don't break playback of encrypted media should we overlook such cases, but have better detection via logging. Differential Revision: https://phabricator.services.mozilla.com/D6873

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef mozilla_HalNetworkInformation_h
#define mozilla_HalNetworkInformation_h

#include "mozilla/Observer.h"

namespace mozilla {
namespace hal {
class NetworkInformation;
typedef Observer<hal::NetworkInformation> NetworkObserver;
} // namespace hal
} // namespace mozilla

#endif // mozilla_HalNetworkInformation_h