/* 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/. */

include "mozilla/dom/MediaIPCUtils.h";

using mozilla::media::TimeUnit from "TimeUnits.h";
using mozilla::CryptoScheme from "MediaData.h";

namespace mozilla {

// used for both SendInput/RecvInput and ProcessDecodedData/RecvOutput
struct MediaDataIPDL
{
  int64_t offset;
  TimeUnit time;
  TimeUnit timecode;
  TimeUnit duration;
  bool keyframe;
};

struct CryptoInfo {
  CryptoScheme mEncryptionScheme;
  uint8_t[] mIV;
  uint8_t[] mKeyId;
  uint32_t[] mClearBytes;
  uint32_t[] mCipherBytes;
};

} // namespace mozilla