MediaInfoLib 0.7
Public Member Functions | Static Public Member Functions | List of all members
MediaInfoLib::MediaInfoList Class Reference

MediaInfoList. More...

#include <MediaInfoList.h>

Public Member Functions

 MediaInfoList (size_t Count_Init=64)
 Constructor.
 
size_t Open (const String &File, const fileoptions_t Options=FileOption_Nothing)
 Open files.
 
size_t Open_Buffer_Init (ZenLib::int64u File_Size=(ZenLib::int64u) -1, ZenLib::int64u File_Offset=0)
 Open a stream (Init)
 
size_t Open_Buffer_Continue (size_t FilePos, const ZenLib::int8u *Buffer, size_t Buffer_Size)
 Open a stream (Continue)
 
ZenLib::int64u Open_Buffer_Continue_GoTo_Get (size_t FilePos)
 Open a stream (Get the needed file Offset)
 
size_t Open_Buffer_Finalize (size_t FilePos)
 Open a stream (Finalize)
 
size_t Save (size_t FilePos)
 Save the file.
 
void Close (size_t FilePos=(size_t) -1)
 (NOT IMPLEMENTED YET) Save all files
 
String Inform (size_t FilePos=(size_t) -1, size_t Reserved=0)
 Get all details about a file.
 
String Get (size_t FilePos, stream_t StreamKind, size_t StreamNumber, size_t Parameter, info_t KindOfInfo=Info_Text)
 Get a piece of information about a file (parameter is an integer)
 
String Get (size_t FilePos, stream_t StreamKind, size_t StreamNumber, const String &Parameter, info_t KindOfInfo=Info_Text, info_t KindOfSearch=Info_Name)
 Get a piece of information about a file (parameter is a string)
 
size_t Set (const String &ToSet, size_t FilePos, stream_t StreamKind, size_t StreamNumber, size_t Parameter, const String &OldValue=String())
 (NOT IMPLEMENTED YET) Set a piece of information about a file (parameter is an int)
 
size_t Set (const String &ToSet, size_t FilePos, stream_t StreamKind, size_t StreamNumber, const String &Parameter, const String &OldValue=String())
 (NOT IMPLEMENTED YET) Get information about a file (parameter is a string)
 
char * Output_Buffer_Get (size_t FilePos, size_t &Output_Buffer_Size)
 Output buffer retrieving.
 
String Option (const String &Option, const String &Value=String())
 
size_t State_Get ()
 (NOT IMPLEMENTED YET) Get the state of the library
 
size_t Count_Get (size_t FilePos, stream_t StreamKind, size_t StreamNumber=(size_t) -1)
 Count of streams, or count of piece of information in this stream.
 
size_t Count_Get ()
 Get the count of opened files.
 

Static Public Member Functions

static String Option_Static (const String &Option, const String &Value=String())
 

Detailed Description

MediaInfoList.

Version
0.7

Definition at line 53 of file MediaInfoList.h.

Constructor & Destructor Documentation

◆ MediaInfoList()

MediaInfoLib::MediaInfoList::MediaInfoList ( size_t  Count_Init = 64)

Constructor.

Parameters
Count_Initoptimization information: How many files do you plan to handle?

Member Function Documentation

◆ Close()

void MediaInfoLib::MediaInfoList::Close ( size_t  FilePos = (size_t) -1)

(NOT IMPLEMENTED YET) Save all files

(NOT IMPLEMENTED YET) Save all files opened before with Open() (modifications of tags)

Parameters
FilePosFile position
(you can know the position in searching the filename with MediaInfoList::Get(FilePos, 0, 0, "CompleteName") )
Return values
Countof files saved

◆ Count_Get() [1/2]

size_t MediaInfoLib::MediaInfoList::Count_Get ( )

Get the count of opened files.

Returns
Count of files opened

◆ Count_Get() [2/2]

size_t MediaInfoLib::MediaInfoList::Count_Get ( size_t  FilePos,
stream_t  StreamKind,
size_t  StreamNumber = (size_t) -1 
)

Count of streams, or count of piece of information in this stream.

Parameters
FilePosFile position
(you can know the position in searching the filename with MediaInfoList::Get(FilePos, 0, 0, "CompleteName") )
StreamKindKind of stream (general, video, audio...)
StreamNumberStream number in this kind of stream (first, second...)
Returns
The count of fields for this stream kind / stream number if stream number is provided, else the count of streams for this stream kind

◆ Get() [1/2]

String MediaInfoLib::MediaInfoList::Get ( size_t  FilePos,
stream_t  StreamKind,
size_t  StreamNumber,
const String Parameter,
info_t  KindOfInfo = Info_Text,
info_t  KindOfSearch = Info_Name 
)

Get a piece of information about a file (parameter is a string)

Get a piece of information about a file (parameter is a string)

Parameters
FilePosFile position
(you can know the position in searching the filename with MediaInfoList::Get(FilePos, 0, 0, "CompleteName") )
StreamKindKind of stream (general, video, audio...)
StreamNumberStream number in Kind of stream (first, second...)
ParameterParameter you are looking for in the stream (Codec, width, bitrate...), in string format ("Codec", "Width"...)
See MediaInfo::Option("Info_Parameters") to have the full list
KindOfInfoKind of information you want about the parameter (the text, the measure, the help...)
KindOfSearchWhere to look for the parameter
Returns
a string about information you search
an empty string if there is a problem

◆ Get() [2/2]

String MediaInfoLib::MediaInfoList::Get ( size_t  FilePos,
stream_t  StreamKind,
size_t  StreamNumber,
size_t  Parameter,
info_t  KindOfInfo = Info_Text 
)

Get a piece of information about a file (parameter is an integer)

Get a piece of information about a file (parameter is an integer)

Parameters
FilePosFile position
(you can know the position in searching the filename with MediaInfoList::Get(FilePos, 0, 0, "CompleteName") )
StreamKindKind of stream (general, video, audio...)
StreamNumberStream number in Kind of stream (first, second...)
ParameterParameter you are looking for in the stream (Codec, width, bitrate...), in integer format (first parameter, second parameter...)
KindOfInfoKind of information you want about the parameter (the text, the measure, the help...)
Returns
a string about information you search
an empty string if there is a problem

◆ Inform()

String MediaInfoLib::MediaInfoList::Inform ( size_t  FilePos = (size_t) -1,
size_t  Reserved = 0 
)

Get all details about a file.

Get all details about a file in one string

Parameters
FilePosFile position
(you can know the position in searching the filename with MediaInfoList::Get(FilePos, 0, 0, "CompleteName") )
ReservedDeprecated, do not use it anymore
Precondition
You can change default presentation with Inform_Set()
Returns
Text with information about the file

◆ Open()

size_t MediaInfoLib::MediaInfoList::Open ( const String File,
const fileoptions_t  Options = FileOption_Nothing 
)

Open files.

Open one or more files and collect information about them (technical information and tags)

Parameters
FileFull name of file(s) to open
or Full name of folder(s) to open
OptionsFileOption_Recursive = Recursive mode for folders
FileOption_Close = Close all already opened files before
Returns
Number of files successfuly added

◆ Open_Buffer_Continue()

size_t MediaInfoLib::MediaInfoList::Open_Buffer_Continue ( size_t  FilePos,
const ZenLib::int8u *  Buffer,
size_t  Buffer_Size 
)

Open a stream (Continue)

Open a stream and collect information about it (technical information and tags)

Parameters
FilePosFile position
Bufferpointer to the stream
Buffer_SizeCount of bytes to read
Return values
0failed
1succeed

◆ Open_Buffer_Continue_GoTo_Get()

ZenLib::int64u MediaInfoLib::MediaInfoList::Open_Buffer_Continue_GoTo_Get ( size_t  FilePos)

Open a stream (Get the needed file Offset)

Open a stream and collect information about it (technical information and tags)

Parameters
FilePosFile position
Returns
the needed offset of the file
File size if no more bytes are needed

◆ Open_Buffer_Finalize()

size_t MediaInfoLib::MediaInfoList::Open_Buffer_Finalize ( size_t  FilePos)

Open a stream (Finalize)

Open a stream and collect information about it (technical information and tags)

Parameters
FilePosFile position
Return values
0failed
1succeed

◆ Open_Buffer_Init()

size_t MediaInfoLib::MediaInfoList::Open_Buffer_Init ( ZenLib::int64u  File_Size = (ZenLib::int64u) -1,
ZenLib::int64u  File_Offset = 0 
)

Open a stream (Init)

Open a stream and collect information about it (technical information and tags)

Parameters
File_SizeEstimated file size
File_OffsetOffset of the file (if we don't have the beginning of the file)
Return values
0failed
1succeed

◆ Option()

String MediaInfoLib::MediaInfoList::Option ( const String Option,
const String Value = String() 
)

Configure or get information about MediaInfoLib

Parameters
OptionThe name of option
ValueThe value of option
Returns
Depend of the option: by default "" (nothing) means No, other means Yes
Postcondition
Known options are: See MediaInfo::Option()

◆ Option_Static()

static String MediaInfoLib::MediaInfoList::Option_Static ( const String Option,
const String Value = String() 
)
static

Configure or get information about MediaInfoLib (static version)

Parameters
OptionThe name of option
ValueThe value of option
Returns
Depend of the option: by default "" (nothing) means No, other means Yes
Postcondition
Known options are: See MediaInfo::Option()

◆ Output_Buffer_Get()

char * MediaInfoLib::MediaInfoList::Output_Buffer_Get ( size_t  FilePos,
size_t &  Output_Buffer_Size 
)

Output buffer retrieving.

Output buffer retrieving, used for File_Duplicate option.

Parameters
FilePosFile position
Output_Buffer_SizeA pointer to the variable that receives the size of the buffer
Note: you must use all the size of the buffer before the next call to this procedure
Returns
A pointer on the output buffer, NULL if there is nothing in the buffer

◆ Save()

size_t MediaInfoLib::MediaInfoList::Save ( size_t  FilePos)

Save the file.

Save the file opened before with Open() (modifications of tags)

Parameters
FilePosFile position
(you can know the position in searching the filename with MediaInfoList::Get(FilePos, 0, 0, "CompleteName") )
Return values
0failed
1succeed

◆ Set() [1/2]

size_t MediaInfoLib::MediaInfoList::Set ( const String ToSet,
size_t  FilePos,
stream_t  StreamKind,
size_t  StreamNumber,
const String Parameter,
const String OldValue = String() 
)

(NOT IMPLEMENTED YET) Get information about a file (parameter is a string)

Warning
Not yet implemented, do not use it
Parameters
ToSetPiece of information
FilePosFile position
(you can know the position in searching the filename with MediaInfoList::Get(FilePos, 0, 0, "CompleteName") )
StreamKindKind of stream (general, video, audio...)
StreamNumberStream number in Kind of stream (first, second...)
ParameterParameter you are looking for in the stream (Codec, width, bitrate...), in string format ("Codec", "Width"...)
See Option("Info_Parameters") to have the full list
OldValueThe old value of the parameter
if OldValue is empty and ToSet is filled: tag is added
if OldValue is filled and ToSet is filled: tag is replaced
if OldValue is filled and ToSet is empty: tag is deleted
Return values
>0succeed
0failed

◆ Set() [2/2]

size_t MediaInfoLib::MediaInfoList::Set ( const String ToSet,
size_t  FilePos,
stream_t  StreamKind,
size_t  StreamNumber,
size_t  Parameter,
const String OldValue = String() 
)

(NOT IMPLEMENTED YET) Set a piece of information about a file (parameter is an int)

(NOT IMPLEMENTED YET) Set a piece of information about a file (parameter is an int)

Warning
Not yet implemented, do not use it
Parameters
ToSetPiece of information
FilePosFile position
(you can know the position in searching the filename with MediaInfoList::Get(FilePos, 0, 0, "CompleteName") )
StreamKindKind of stream (general, video, audio...)
StreamNumberStream number in Kind of stream (first, second...)
ParameterParameter you are looking for in the stream (Codec, width, bitrate...), in integer format (first parameter, second parameter...)
OldValueThe old value of the parameter
if OldValue is empty and ToSet is filled: tag is added
if OldValue is filled and ToSet is filled: tag is replaced
if OldValue is filled and ToSet is empty: tag is deleted
Return values
>0succeed
0failed

◆ State_Get()

size_t MediaInfoLib::MediaInfoList::State_Get ( )

(NOT IMPLEMENTED YET) Get the state of the library

Return values
<1000No information is available for the file yet
>=1000_<5000Only local (into the file) information is available, getting Internet information (titles only) is no finished yet
5000(only if Internet connection is accepted) User interaction is needed (use Option() with "Internet_Title_Get")
Warning: even there is only one possible, user interaction (or the software) is needed
>5000<=10000Only local (into the file) information is available, getting Internet information (all) is no finished yet
<10000Done

The documentation for this class was generated from the following file: