|
TagLib
2.3.2
|
An implementation of TagLib::File with some helpers for Ogg based formats. More...
#include <oggfile.h>
Public Member Functions | |
| ~File () override | |
| File (const File &)=delete | |
| File & | operator= (const File &)=delete |
| ByteVector | packet (unsigned int i) |
| void | setPacket (unsigned int i, const ByteVector &p) |
| const PageHeader * | firstPageHeader () |
| const PageHeader * | lastPageHeader () |
| bool | save () override |
| Public Member Functions inherited from TagLib::File | |
| File (const File &)=delete | |
| File & | operator= (const File &)=delete |
| FileName | name () const |
| virtual Tag * | tag () const =0 |
| virtual PropertyMap | properties () const |
| virtual void | removeUnsupportedProperties (const StringList &properties) |
| virtual PropertyMap | setProperties (const PropertyMap &properties) |
| virtual StringList | complexPropertyKeys () const |
| virtual List< VariantMap > | complexProperties (const String &key) const |
| virtual bool | setComplexProperties (const String &key, const List< VariantMap > &value) |
| virtual AudioProperties * | audioProperties () const =0 |
| ByteVector | readBlock (size_t length) |
| void | writeBlock (const ByteVector &data) |
| offset_t | find (const ByteVector &pattern, offset_t fromOffset=0, const ByteVector &before=ByteVector()) |
| offset_t | rfind (const ByteVector &pattern, offset_t fromOffset=0, const ByteVector &before=ByteVector()) |
| void | insert (const ByteVector &data, offset_t start=0, size_t replace=0) |
| void | removeBlock (offset_t start=0, size_t length=0) |
| bool | readOnly () const |
| bool | isOpen () const |
| bool | isValid () const |
| void | seek (offset_t offset, Position p=Beginning) |
| void | clear () |
| offset_t | tell () const |
| offset_t | length () |
Protected Member Functions | |
| ByteVector | packet (unsigned int i, unsigned int maxSize) |
| File (FileName file) | |
| File (IOStream *stream) | |
| bool | selectStream (const ByteVector &magic) |
| Protected Member Functions inherited from TagLib::File | |
| File (FileName fileName) | |
| File (IOStream *stream) | |
| void | setValid (bool valid) |
| void | truncate (offset_t length) |
Additional Inherited Members | |
| Public Types inherited from TagLib::File | |
| enum | Position { Beginning , Current , End } |
| enum | StripTags { StripNone , StripOthers } |
| enum | DuplicateTags { Duplicate , DoNotDuplicate } |
| Static Protected Member Functions inherited from TagLib::File | |
| static unsigned int | bufferSize () |
An implementation of TagLib::File with some helpers for Ogg based formats.
This is an implementation of Ogg file page and packet rendering and is of use to Ogg based formats. While the API is small this handles the non-trivial details of breaking up an Ogg stream into packets and makes these available (via subclassing) to the codec metadata implementations.
|
overridevirtual |
Destroys this File instance.
Reimplemented from TagLib::File.
Reimplemented in TagLib::Ogg::FLAC::File, TagLib::Ogg::Opus::File, TagLib::Ogg::Speex::File, and TagLib::Ogg::Vorbis::File.
|
delete |
References File().
Referenced by File(), and operator=().
|
protected |
|
protected |
| const PageHeader * TagLib::Ogg::File::firstPageHeader | ( | ) |
Returns a pointer to the PageHeader for the first page in the stream or null if the page could not be found.
| const PageHeader * TagLib::Ogg::File::lastPageHeader | ( | ) |
Returns a pointer to the PageHeader for the last page in the stream or null if the page could not be found.
| ByteVector TagLib::Ogg::File::packet | ( | unsigned int | i | ) |
Returns the packet contents for the i-th packet (starting from zero) in the Ogg bitstream.
Referenced by selectStream().
|
protected |
Returns the packet contents for the i-th packet if its size does not exceed the requested maximum.
|
overridevirtual |
Save the file and its associated tags. This should be reimplemented in the concrete subclasses. Returns true if the save succeeds.
Implements TagLib::File.
Reimplemented in TagLib::Ogg::FLAC::File, TagLib::Ogg::Opus::File, TagLib::Ogg::Speex::File, and TagLib::Ogg::Vorbis::File.
|
protected |
Restricts packet parsing to the first logical bitstream whose first packet begins with magic. This is needed for multiplexed Ogg streams, such as an Ogg Vorbis stream muxed with an Ogg Theora video stream carrying cover art, where packets of the individual logical bitstreams are interleaved. Must be called before any packet is requested.
Returns true if a matching logical bitstream was found and selected. If no match is found, the file falls back to the first logical bitstream in the file.
References packet(), and TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE.
| void TagLib::Ogg::File::setPacket | ( | unsigned int | i, |
| const ByteVector & | p ) |
Sets the packet with index i to the value p.