MediaInfoLib::MediaInfo Class Reference

MediaInfo. More...

#include <MediaInfo.h>

List of all members.

Public Member Functions

size_t Open (const String &File_Name)
 Open a file.
size_t Open (const ZenLib::int8u *Begin, size_t Begin_Size, const ZenLib::int8u *End=NULL, size_t End_Size=0, ZenLib::int64u File_Size=0)
 Open a buffer.
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 (const ZenLib::int8u *Buffer, size_t Buffer_Size)
 Open a stream (Continue).
ZenLib::int64u Open_Buffer_Continue_GoTo_Get ()
 Open a stream (Get the needed file Offset).
size_t Open_Buffer_Finalize ()
 Open a stream (Finalize).
size_t Open_NextPacket ()
 Read one packet (if "PerPacket" mode is set).
size_t Save ()
 (NOT IMPLEMENTED YET) Save the file
void Close ()
 Close a file.
String Inform (size_t Reserved=0)
 Get all details about a file.
String Get (stream_t StreamKind, size_t StreamNumber, size_t Parameter, info_t InfoKind=Info_Text)
 Get a piece of information about a file (parameter is an integer).
String Get (stream_t StreamKind, size_t StreamNumber, const String &Parameter, info_t InfoKind=Info_Text, info_t SearchKind=Info_Name)
 Get a piece of information about a file (parameter is a string).
size_t Set (const String &ToSet, 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, stream_t StreamKind, size_t StreamNumber, const String &Parameter, const String &OldValue=String())
 (NOT IMPLEMENTED YET) Set information about a file (parameter is a string)
size_t Output_Buffer_Get (const String &Value)
 Output the written size when "File_Duplicate" option is used.
size_t Output_Buffer_Get (size_t Pos)
 Output the written size when "File_Duplicate" option is used.
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 (stream_t StreamKind, size_t StreamNumber=(size_t)-1)
 Count of streams of a stream kind (StreamNumber not filled), or count of piece of information in this stream.

Static Public Member Functions

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


Detailed Description

MediaInfo.

Version:
0.7

Definition at line 50 of file MediaInfo.h.


Member Function Documentation

size_t MediaInfoLib::MediaInfo::Open ( const String File_Name  ) 

Open a file.

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

Parameters:
File_Name Full name of file to open
Return values:
0 File not opened
1 File opened

size_t MediaInfoLib::MediaInfo::Open ( const ZenLib::int8u *  Begin,
size_t  Begin_Size,
const ZenLib::int8u *  End = NULL,
size_t  End_Size = 0,
ZenLib::int64u  File_Size = 0 
)

Open a buffer.

Open a Buffer (Begin and end of the stream) and collect information about it (technical information and tags)

Parameters:
Begin First bytes of the buffer
Begin_Size Size of Begin
End Last bytes of the buffer
End_Size Size of End
File_Size Total size of the file
Return values:
0 File not opened
1 File opened

size_t MediaInfoLib::MediaInfo::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_Size Estimated file size
File_Offset Offset of the file (if we don't have the beginning of the file)
Return values:
0 File not opened
1 File opened

size_t MediaInfoLib::MediaInfo::Open_Buffer_Continue ( 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:
Buffer pointer to the stream
Buffer_Size Count of bytes to read
Returns:
a bitfield
bit 0: Is Accepted (format is known) bit 1: Is Filled (main data is collected) bit 2: Is Updated (some data have beed updated, example: duration for a real time MPEG-TS stream) bit 3: Is Finalized (No more data is needed, will not use further data) bit 4-15: Reserved bit 16-31: User defined

ZenLib::int64u MediaInfoLib::MediaInfo::Open_Buffer_Continue_GoTo_Get (  ) 

Open a stream (Get the needed file Offset).

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

Returns:
the needed offset of the file
File size if no more bytes are needed

size_t MediaInfoLib::MediaInfo::Open_Buffer_Finalize (  ) 

Open a stream (Finalize).

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

Return values:
0 failed
1 succeed

size_t MediaInfoLib::MediaInfo::Open_NextPacket (  ) 

Read one packet (if "PerPacket" mode is set).

If Open() is used in "PerPacket" mode, parse only one packet and return

Returns:
a bitfield
bit 0: A packet was read

size_t MediaInfoLib::MediaInfo::Save (  ) 

(NOT IMPLEMENTED YET) Save the file

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

Return values:
0 failed
1 suceed

void MediaInfoLib::MediaInfo::Close (  ) 

Close a file.

Close a file opened before with Open() (without saving)

Warning:
without have saved before, modifications are lost

String MediaInfoLib::MediaInfo::Inform ( size_t  Reserved = 0  ) 

Get all details about a file.

Get all details about a file in one string

Parameters:
Reserved Reserved, do not use
Precondition:
You can change default presentation with Inform_Set()
Returns:
Text with information about the file

String MediaInfoLib::MediaInfo::Get ( stream_t  StreamKind,
size_t  StreamNumber,
size_t  Parameter,
info_t  InfoKind = 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:
StreamKind Kind of stream (general, video, audio...)
StreamNumber Stream number in Kind of stream (first, second...)
Parameter Parameter you are looking for in the stream (Codec, width, bitrate...), in integer format (first parameter, second parameter...)
This integer is arbitarily assigned by the library, so its consistency should not be relied on, but is useful when looping through all the parameters
InfoKind Kind 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

String MediaInfoLib::MediaInfo::Get ( stream_t  StreamKind,
size_t  StreamNumber,
const String Parameter,
info_t  InfoKind = Info_Text,
info_t  SearchKind = 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:
StreamKind Kind of stream (general, video, audio...)
StreamNumber Stream number in Kind of stream (first, second...)
Parameter Parameter 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
InfoKind Kind of information you want about the parameter (the text, the measure, the help...)
SearchKind Where to look for the parameter
Returns:
a string about information you search
an empty string if there is a problem

size_t MediaInfoLib::MediaInfo::Set ( const String ToSet,
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 integer)

Warning:
Not yet implemented, do not use it
Parameters:
ToSet Piece of information
StreamKind Kind of stream (general, video, audio...)
StreamNumber Stream number in Kind of stream (first, second...)
Parameter Parameter you are looking for in the stream (Codec, width, bitrate...), in integer format (first parameter, second parameter...)
OldValue The 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:
>0 succeed
0 failed

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

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

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

Warning:
Not yet implemented, do not use it
Parameters:
ToSet Piece of information
StreamKind Kind of stream (general, video, audio...)
StreamNumber Stream number in Kind of stream (first, second...)
Parameter Parameter you are looking for in the stream (Codec, width, bitrate...), in string format
OldValue The 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:
>0 succeed
0 failed

size_t MediaInfoLib::MediaInfo::Output_Buffer_Get ( const String Value  ) 

Output the written size when "File_Duplicate" option is used.

Output the written size when "File_Duplicate" option is used.

Parameters:
Value The unique name of the duplicated stream (begin with "memory://")
Returns:
The size of the used buffer

size_t MediaInfoLib::MediaInfo::Output_Buffer_Get ( size_t  Pos  ) 

Output the written size when "File_Duplicate" option is used.

Output the written size when "File_Duplicate" option is used.

Parameters:
Pos The order of calling
Returns:
The size of the used buffer

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

Configure or get information about MediaInfoLib

Parameters:
Option The name of option
Value The value of option
Returns:
Depend of the option: by default "" (nothing) means No, other means Yes
Postcondition:
Known options are:
(NOT IMPLEMENTED YET) "BlockMethod": Configure when Open Method must return (default or not command not understood: "1")
"0": Immediatly
"1": After geting local information
"2": When user interaction is needed, or whan Internet information is get "Complete": For debug, configure if MediaInfoLib::Inform() show all information (doesn't care of InfoOption_NoShow tag): shows all information if true, shows only useful for user information if false (No by default)
"Complete_Get": return the state of "Complete"
"Language": Configure language (default language, and this object); Value is Description of language (format: "Column1;Colum2
...)
Column 1: Unique name ("Bytes", "Title")
Column 2: translation ("Octets", "Titre")
"Language_Get": Get the language file in memory "Language_Update": Configure language of this object only (for optimisation); Value is Description of language (format: "Column1;Colum2
...)
Column 1: Unique name ("Bytes", "Title")
Column 2: translation ("Octets", "Titre")
"Inform": Configure custom text, See MediaInfoLib::Inform() function; Description of views (format: "Column1;Colum2...)
Column 1: code (11 lines: "General", "Video", "Audio", "Text", "Other", "Begin", "End", "Page_Begin", "Page_Middle", "Page_End")
Column 2: The text to show (exemple: "Audio: %FileName% is at %BitRate/String%")
"ParseUnknownExtensions": Configure if MediaInfo parse files with unknown extension
"ParseUnknownExtensions_Get": Get if MediaInfo parse files with unknown extension
"ShowFiles": Configure if MediaInfo keep in memory files with specific kind of streams (or no streams); Value is Description of components (format: "Column1;Colum2
...)

Column 1: code (available: "Nothing" for unknown format, "VideoAudio" for at least 1 video and 1 audio, "VideoOnly" for video streams only, "AudioOnly", "TextOnly")
Column 2: "" (nothing) not keeping, other for keeping (NOT IMPLEMENTED YET) "TagSeparator": Configure the separator if there are multiple same tags (" | " by default)
(NOT IMPLEMENTED YET) "TagSeparator_Get": return the state of "TagSeparator"
(NOT IMPLEMENTED YET) "Internet": Authorize Internet connection (Yes by default) (NOT IMPLEMENTED YET) "Internet_Title_Get": When State=5000, give all possible titles for this file (one per line)
Form: Author TagSeparator Title TagSeparator Year
... (NOT IMPLEMENTED YET) "Internet_Title_Set": Set the Good title (same as given by Internet_Title_Get)
Form: Author TagSeparator Title TagSeparator Year "Info_Parameters": Information about what are known unique names for parameters
"Info_Parameters_CSV": Information about what are known unique names for parameters, in CSV format
"Info_Codecs": Information about which codec is known
"Info_Version": Information about the version of MediaInfoLib "Info_Url": Information about where to find the last version

static String MediaInfoLib::MediaInfo::Option_Static ( const String Option,
const String Value = String() 
) [static]

Configure or get information about MediaInfoLib

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

size_t MediaInfoLib::MediaInfo::State_Get (  ) 

(NOT IMPLEMENTED YET) Get the state of the library

Return values:
<1000 No information is available for the file yet
>=1000_<5000 Only 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<=10000 Only local (into the file) information is available, getting Internet information (all) is no finished yet
<10000 Done

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

Count of streams of a stream kind (StreamNumber not filled), or count of piece of information in this stream.

Parameters:
StreamKind Kind of stream (general, video, audio...)
StreamNumber Stream 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


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

Generated on Thu Dec 1 10:12:36 2016 for MediaInfoLib by  doxygen 1.5.6