michael@0: /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* vim: set sw=2 ts=8 et tw=80 ft=cpp : */ michael@0: michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: include protocol PNecko; michael@0: include URIParams; michael@0: michael@0: namespace mozilla { michael@0: namespace net { michael@0: michael@0: /** michael@0: * Defined meta data format. michael@0: */ michael@0: union RtspMetaValue michael@0: { michael@0: bool; michael@0: uint8_t; michael@0: uint32_t; michael@0: uint64_t; michael@0: nsCString; michael@0: }; michael@0: michael@0: /** michael@0: * Key-value pair. michael@0: */ michael@0: struct RtspMetadataParam michael@0: { michael@0: nsCString name; michael@0: RtspMetaValue value; michael@0: }; michael@0: michael@0: async protocol PRtspController michael@0: { michael@0: manager PNecko; michael@0: michael@0: parent: michael@0: AsyncOpen(URIParams aURI); michael@0: Play(); michael@0: Pause(); michael@0: Resume(); michael@0: Suspend(); michael@0: Seek(uint64_t offset); michael@0: Stop(); michael@0: __delete__(); michael@0: michael@0: child: michael@0: OnMediaDataAvailable(uint8_t index, michael@0: nsCString data, michael@0: uint32_t length, michael@0: uint32_t offset, michael@0: RtspMetadataParam[] meta); michael@0: OnConnected(uint8_t index, michael@0: RtspMetadataParam[] meta); michael@0: OnDisconnected(uint8_t index, michael@0: nsresult reason); michael@0: AsyncOpenFailed(nsresult reason); michael@0: }; michael@0: michael@0: } //namespace net michael@0: } //namespace mozilla