/* -*- 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/. */
class FlacFrameParser { public:
FlacFrameParser();
~FlacFrameParser();
Result<bool, nsresult> IsHeaderBlock(const uint8_t* aPacket,
size_t aLength) const; // Return the length of the block header (METADATA_BLOCK_HEADER+ // METADATA_BLOCK_DATA), aPacket must point to at least 4 // bytes and to a valid block header start (as determined by IsHeaderBlock).
uint32_t HeaderBlockLength(const uint8_t* aPacket) const;
Result<Ok, nsresult> DecodeHeaderBlock(const uint8_t* aPacket,
size_t aLength); bool HasFullMetadata() const { return mFullMetadata; } // Return the duration in frames found in the block. -1 if error // such as invalid packet.
int64_t BlockDuration(const uint8_t* aPacket, size_t aLength) const;
// Return a hash table with tag metadata.
UniquePtr<MetadataTags> GetTags() const;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.