/// <summary>
/// Initializes a new instance of the <see cref="MetadataEditor"/> class with the specified path.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="path"> The path of the media file to edit metadata </param>
/// <exception cref="ArgumentNullException"><paramref name="path"/> is null.</exception>
/// <exception cref="NotSupportedException">The file is unsupported format.</exception>
/// <summary>
/// Artist of media
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Artist
{
get
/// <summary>
/// Title of media
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Title
{
get
/// <summary>
/// Album name of media
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Album
{
get
/// <summary>
/// Genre of media
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Genre
{
get
/// <summary>
/// Author of media
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Author
{
get
/// <summary>
/// Copyright of media
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Copyright
{
get
/// <summary>
/// Date of media
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <remarks>
/// If the added media contains ID3 tag, This parameter refers to the recording time.
/// If the added media is a mp4 format, This parameter refers to the year.
/// <summary>
/// Description of media
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Description
{
get
/// <summary>
/// Comment of media
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Comment
{
get
/// <summary>
/// Track number of media
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string TrackNumber
{
get
/// <summary>
/// Album art count of media
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string PictureCount
{
get
/// <summary>
/// Conductor of media
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Conductor
{
get
/// <summary>
/// Unsynchronized lyric of media
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string UnsyncLyrics
{
get
/// <summary>
/// Writes the modified metadata to a media file
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <exception cref="InvalidOperationException"> When internal process error is occured</exception>
public void Commit()
{
/// <summary>
/// Gets the artwork image in a media file
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="index"> Index of picture to import </param>
/// <returns> Artwork included in the media file</returns>
/// <exception cref="InvalidOperationException"> When internal process error is occured</exception>
/// <summary>
/// Appends the picture to the media file.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="path">The path of picture for adding to the metadata.</param>
/// <exception cref="InvalidOperationException">Internal error occurs.</exception>
/// <exception cref="ArgumentNullException"><paramref name="path"/> is null.</exception>
/// <summary>
/// Removes the picture from the media file.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="index"> Index of picture to remove </param>
/// <exception cref="InvalidOperationException"> When internal process error is occured</exception>
/// <exception cref="ArgumentOutOfRangeException"> Wrong index number </exception>
/// <summary>
/// Metadata Editor destructor
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
~MetadataEditor()
{
Dispose(false);
/// <summary>
/// Gets the bitrate.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the bitrate, or null if the information does not exists.</value>
public string Bitrate { get; }
/// <summary>
/// Gets the video FPS.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the fps, or null if the information does not exists.</value>
public string Fps { get; }
/// <summary>
/// Gets the width of the video.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the width, or null if the information does not exists.</value>
public string Width { get; }
/// <summary>
/// Gets the height of the video.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the height, or null if the information does not exists.</value>
public string Height { get; }
/// <summary>
/// Get the codec type of the video.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the codec type, or null if the information does not exists.</value>
public string Codec { get; }
/// <summary>
/// Gets the video stream count.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the video stream count, or null if the information does not exists.</value>
public string StreamCount { get; }
/// <summary>
/// Gets the audio bitrate.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the bitrate, or null if the information does not exists.</value>
public string Bitrate { get; }
/// <summary>
/// Gets the audio channels.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the audio channels, or null if the information does not exists.</value>
public string Channels { get; }
/// <summary>
/// Gets the audio sample rate.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the sample rate, or null if the information does not exists.</value>
public string Samplerate { get; }
/// <summary>
/// Gets the bit per sample of the audio.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the bit oer sample, or null if the information does not exists.</value>
public string BitPerSample { get; }
/// <summary>
/// Gets the audio stream count.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the audio stream count, or null if the information does not exists.</value>
public string StreamCount { get; }
/// <summary>
/// Gets the audio codec type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string Codec { get; }
private Lazy<string> _description;
/// <summary>
/// Gets the duration of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the duration, or null if the information does not exists.</value>
public string Duration { get; }
/// <summary>
/// Gets the video metadata.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public VideoMetadata Video { get; }
/// <summary>
/// Gets the audio metadata.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public AudioMetadata Audio { get; }
/// <summary>
/// Gets the artist of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the artist, or null if the information does not exists.</value>
public string Artist { get; }
/// <summary>
/// Gets the title of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the title, or null if the information does not exists.</value>
public string Title { get; }
/// <summary>
/// Gets the album name of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the album name, or null if the information does not exists.</value>
public string Album { get; }
/// <summary>
/// Gets the album artist of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the album artist, or null if the information does not exists.</value>
public string AlbumArtist { get; }
/// <summary>
/// Gets the genre of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the genre, or null if the information does not exists.</value>
public string Genre { get; }
/// <summary>
/// Gets the author of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the author, or null if the information does not exists.</value>
public string Author { get; }
/// <summary>
/// Gets the copyright of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the copyright, or null if the information does not exists.</value>
public string Copyright { get; }
/// <summary>
/// Gets the release date of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the release date, or null if the information does not exists.</value>
public string ReleaseDate { get; }
/// <summary>
/// Gets the description of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the description, or null if the information does not exists.</value>
public string Description { get; }
/// <summary>
/// Gets the comment of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the comment, or null if the information does not exists.</value>
public string Comment { get; }
/// <summary>
/// Gets the track number of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the track number, or null if the information does not exists.</value>
public string TrackNumber { get; }
/// <summary>
/// Gets the classification of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the classification, or null if the information does not exists.</value>
public string Classification { get; }
/// <summary>
/// Gets the rating of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the rating, or null if the information does not exists.</value>
public string Rating { get; }
/// <summary>
/// Gets the longitude of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the longitude, or null if the information does not exists.</value>
public string Longitude { get; }
/// <summary>
/// Gets the latitude of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the latitude, or null if the information does not exists.</value>
public string Latitude { get; }
/// <summary>
/// Gets the altitude of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the altitude, or null if the information does not exists.</value>
public string Altitude { get; }
/// <summary>
/// Gets the conductor of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the conductor, or null if the information does not exists.</value>
public string Conductor { get; }
/// <summary>
/// Gets the unsynchronized lyrics of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the unsynchronized lyrics, or null if the information does not exists.</value>
public string UnsyncLyric { get; }
/// <summary>
/// Gets the number of synchronized lyrics of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the number of the synchronized lyrics, or null if the information does not exists.</value>
public string SyncLyricCount { get; }
/// <summary>
/// Gets the recording date of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the recording date, or null if the information does not exists.</value>
public string RecordingDate { get; }
/// <summary>
/// Gets the rotate(orientation) information of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the rotation information, or null if the information does not exists.</value>
public string Rotation { get; }
/// <summary>
/// Gets the information for 360 content of the media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A string representing the information for 360 content, or null if the information does not exists.</value>
public string Content360 { get; }
/// <summary>
/// Initializes a new instance of the MetadataExtractor class with the specified path.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="path">The path for the file to extract metadata.</param>
/// <exception cref="ArgumentNullException"><paramref name="path"/> is null.</exception>
/// <exception cref="FileNotFoundException"><paramref name="path"/> is not exist.</exception>
/// <summary>
/// Initializes a new instance of the MetadataExtractor class with the specified buffer.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="buffer">The buffer to extract metadata.</param>
/// <exception cref="ArgumentNullException"><paramref name="buffer"/> is null.</exception>
/// <exception cref="ArgumentException">The length of <paramref name="buffer"/> is zero.</exception>
/// <summary>
/// Retrieves the <see cref="Metadata"/>.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <returns>A <see cref="Metadata"/> for the given source.</returns>
/// <exception cref="InvalidOperationException">Internal process error is occurred.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MetadataExtractor"/> has been already disposed of.</exception>
/// <summary>
/// Gets the artwork image in the source.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <returns>A <see cref="Artwork"/> if it exists, otherwise null.</returns>
/// <exception cref="InvalidOperationException">Internal process error is occurred.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MetadataExtractor"/> has been already disposed of.</exception>
/// <summary>
/// Gets the sync lyrics of the source.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="index">The index of lyrics to retrieve.</param>
/// <returns>A <see cref="SyncLyrics"/> object if <paramref name="index"/> is valid, otherwise null.</returns>
/// <exception cref="InvalidOperationException">Internal process error is occurred.</exception>
/// <summary>
/// Gets the frame of a video media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <returns>The raw thumbnail data in RGB888 if it exists, otherwise null.</returns>
/// <exception cref="InvalidOperationException">Internal process error is occurred.</exception>
/// <exception cref="ObjectDisposedException">The <see cref="MetadataExtractor"/> has been already disposed of.</exception>
/// <summary>
/// Gets the frame of a video media.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="timeStamp">The timestamp in milliseconds.</param>
/// <param name="accurate">true to get an accurate frame for the given timestamp,
/// otherwise false to get the nearest i-frame of the video rapidly.</param>
/// <summary>
/// Metadata Extractor destructor
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
~MetadataExtractor()
{
Dispose(false);