//
/**
* @file FCntVideoContentInfo.h
- * @brief This is the header file for the %VideoContentInfo class.
+ * @brief This is the header file for the %VideoContentInfo class.
*
* This header file contains the declarations of the %VideoContentInfo class.
*/
{
class _VideoContentInfoImpl;
+class _VideoContentData;
/**
- * @class VideoContentInfo
- * @brief This class provides methods to access the video content information.
+ * @class VideoContentInfo
+ * @brief This class provides methods to access the video content information.
*
- * @since 2.0
+ * @since 2.0
*
- * @final This class is not intended for extension.
+ * @final This class is not intended for extension.
*
- * The %VideoContentInfo class provides methods to access the video content information that is extracted from a physical file. @n
+ * The %VideoContentInfo class provides methods to access the video content information that is extracted from a
+ * physical file. @n
* Before getting the video content information, the ContentManager class must be used to create the content.
*
- * For more information on the different types of content information, see <a href="../org.tizen.native.appprogramming/html/guide/content/device_content_mgmt.htm">Device Content Management</a>.
+ * For more information on the different types of content information, see
+ * <a href="../org.tizen.native.appprogramming/html/guide/content/device_content_mgmt.htm">
+ * Device Content Management</a>.
*
* The following example demonstrates how to use the %VideoContentInfo class.
*
* @code
+ * #include <FApp.h>
+ * #include <FBase.h>
+ * #include <FContent.h>
+ * #include <FSystem.h>
+ *
+ * using namespace Tizen::Content;
+ *
* result
* MyClass::TestVideoContentInfo(void)
* {
- * result r = E_SUCCESS;
- *
- * ContentId contentId;
* ContentManager contentManager;
- * r = contentManager.Construct();
- * TryReturn(!IsFailed(r), r, "Construct failed.");
+ * result r = contentManager.Construct();
*
* VideoContentInfo videoContentInfo;
* r = videoContentInfo.Construct(null);
- * TryReturn(!IsFailed(r), r, "Construct failed.");
*
* Tizen::Base::String sourcePath = Tizen::App::App::GetInstance()->GetAppRootPath() + L"data/flower.wmv";
* Tizen::Base::String destPath = Tizen::System::Environment::GetMediaPath() + L"Videos/flower.wmv";
*
- * contentId = contentManager.CreateContent(sourcePath, destPath, false, &videoContentInfo);
- * TryReturn(Tizen::Base::UuId::GetInvalidUuId() != contentId, GetLastResult(), "CreateContent failed.");
+ * ContentId contentId = contentManager.CreateContent(sourcePath, destPath, false, &videoContentInfo);
+ * r = GetLastResult();
*
* return r;
* }
/**
* Initializes this instance of %VideoContentInfo with the specified parameter.
*
- * @if OSPCOMPAT
- * @brief <i> [Compatibility] </i>
+ * @if OSPCOMPAT
+ * @brief <i> [Compatibility] </i>
* @endif
- * @since 2.0
- * @if OSPCOMPAT
- * @compatibility This method has compatibility issues with OSP compatible applications. @n
- * For more information, see @ref CompVideoContentInfoConstructPage "here".
+ * @since 2.0
+ * @if OSPCOMPAT
+ * @compatibility This method has compatibility issues with OSP compatible applications. @n
+ * For more information, see @ref CompVideoContentInfoConstructPage "here".
* @endif
*
- * @return An error code
+ * @return An error code
* @param[in] pContentPath The content path @n
- * The path should be started with directory path returned by
- * either Tizen::System::Environment::GetMediaPath() or Tizen::System::Environment::GetExternalStoragePath(). @n
- * If the path is @c null,
- * use ContentManager::CreateContent(const Tizen::Base::ByteBuffer&, const Tizen::Base::String&, const ContentInfo*) @n
- * or ContentManager::CreateContent(const Tizen::Base::String&, const Tizen::Base::String&, bool, const ContentInfo*),
- * instead of this method.
- * @exception E_SUCCESS The method is successful.
+ * The path should start with the directory path returned by
+ * either Tizen::System::Environment::GetMediaPath() or
+ * Tizen::System::Environment::GetExternalStoragePath() @n
+ * If the path is @c null, use ContentManager::CreateContent
+ * (const Tizen::Base::ByteBuffer&, const Tizen::Base::String&,
+ * const ContentInfo*) @n
+ * or ContentManager::CreateContent(const Tizen::Base::String&,
+ * const Tizen::Base::String&, bool, const ContentInfo*), instead of this
+ * method.
+ * @exception E_SUCCESS The method is successful.
* @exception E_FILE_NOT_FOUND The specified file cannot be found or accessed.
- * @exception E_INVALID_ARG The specified input parameter is invalid.
- * @exception E_OUT_OF_MEMORY The memory is insufficient.
- * @exception E_IO An I/O error has occurred.
- * @exception E_SYSTEM An internal error has occurred.
- * @remarks
+ * @exception E_INVALID_ARG The specified input parameter is invalid.
+ * @exception E_OUT_OF_MEMORY The memory is insufficient.
+ * @exception E_IO An I/O error has occurred.
+ * @exception E_SYSTEM An internal error has occurred.
*/
result Construct(const Tizen::Base::String* pContentPath);
/**
- * @if OSPCOMPAT
- * @page CompVideoContentInfoConstructPage Compatibility for the file path.
- * @section CompVideoContentInfoConstructPageIssueSection Issues
- * The content path argument of this method in OSP compatible applications has the following issues: @n
- * -# The content path should be a path that begins with an allowed path prefix. @n
- * For example, L"/Media/Images/flower.jpg", L"/Storagecard/Media/Images/flower.jpg".
+ * @if OSPCOMPAT
+ * @page CompVideoContentInfoConstructPage Compatibility for the file path.
+ * @section CompVideoContentInfoConstructPageIssueSection Issues
+ * The content path argument of this method in OSP compatible applications has the following issues: @n
+ * -# The content path should be a path that begins with an allowed path prefix. @n
+ * For example, L"/Media/Images/flower.jpg", L"/Storagecard/Media/Images/flower.jpg".
*
- * @section CompVideoContentInfoConstructPageSolutionSection Resolutions
- * This issue has been resolved in Tizen. @n
- * -# The content path can be a path without a specific allowed path prefix. @n
- * Application do not need to know the specific allowed path prefixes. @n
+ * @section CompVideoContentInfoConstructPageSolutionSection Resolutions
+ * This issue has been resolved in Tizen. @n
+ * -# The content path can be a path without a specific allowed path prefix. @n
+ * Applications do not need to know the specific allowed path prefixes. @n
* To get the directory path, use the following methods: @n
* - For accessing the media directory, use Tizen::System::Environment::GetMediaPath().
* - For accessing the external storage, use Tizen::System::Environment::GetExternalStoragePath().
*/
/**
- * @if OSPDEPREC
+ * @if OSPDEPREC
* Initializes this instance of %VideoContentInfo with the specified parameters.
*
- * @brief <i> [Deprecated] </i>
- * @deprecated This method is deprecated as there is a problem in managing the user-defined thumbnail and device coordinates. @n
- * Instead of using this method, use Construct(const Tizen::Base::String*). @n
- * To set the coordinates in the ContentInfo instance, use ContentInfo::SetCoordinates(const Tizen::Locations::Coordinates&).
- * @since 2.0
+ * @brief <i> [Deprecated] </i>
+ * @deprecated This method is deprecated as there is a problem in managing the user-defined thumbnail and
+ * device coordinates. @n
+ * Instead of using this method, use Construct(const Tizen::Base::String*). @n
+ * To set the coordinates in the ContentInfo instance, use
+ * ContentInfo::SetCoordinates(const Tizen::Locations::Coordinates&).
+ * @since 2.0
*
- * @return An error code
- * @param[in] contentPath The content path
- * @param[in] thumbnailPath The thumbnail path
- * @param[in] setGps Set to @c true to save the device's last known coordinates in the ContentInfo instance, @n
- * else @c false @n
- * The coordinate information may be incorrect if it is outdated or has never been updated. @n
- * To update the coordinate information or to get the exact value,
- * use Tizen::Locations::LocationProvider::RequestLocationUpdates() before calling this method.
- * @exception E_SUCCESS The method is successful.
- * @exception E_FILE_NOT_FOUND The specified file cannot be found or accessed.
- * @exception E_INVALID_ARG The specified input parameter is invalid.
+ * @return An error code
+ * @param[in] contentPath The content path
+ * @param[in] thumbnailPath The thumbnail path
+ * @param[in] setGps Set to @c true to save the device's last known coordinates of the
+ * ContentInfo instance, @n
+ * else @c false @n
+ * The coordinate information may be incorrect if it is outdated or has
+ * never been updated @n
+ * To update the coordinate information or to get the exact value, use
+ * Tizen::Locations::LocationProvider::RequestLocationUpdates()
+ * before calling this method.
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_FILE_NOT_FOUND The specified file cannot be found or accessed.
+ * @exception E_INVALID_ARG The specified input parameter is invalid.
* @exception E_OUT_OF_MEMORY The memory is insufficient.
- * @exception E_IO An I/O error has occurred.
+ * @exception E_IO An I/O error has occurred.
* @remarks
- * - The content path must start with @c '/Media' or @c '/Storagecard/Media'.
- * - The thumbnail path must start with @c '/Home', @c '/Media', or @c '/Storagecard/Media'. @n
- * The permitted format for a thumbnail image is bitmap (bmp).
+ * - The content path must start with @c '/Media' or @c '/Storagecard/Media'.
+ * - The thumbnail path must start with @c '/Home', @c '/Media', or @c '/Storagecard/Media'. @n
+ * The permitted format for a thumbnail image is bitmap (bmp).
* @endif
*/
virtual result Construct(const Tizen::Base::String& contentPath, const Tizen::Base::String& thumbnailPath = L"", bool setGps = false);
Tizen::Base::String GetArtist(void) const;
/**
- * @if OSPDEPREC
+ * @if OSPDEPREC
* Gets the bit rate of the video file.
*
- * @brief <i> [Deprecated] </i>
+ * @brief <i> [Deprecated] </i>
* @deprecated This method is deprecated because a new method has been added. @n
- * Instead of using this method, use GetAudioBitrate() or GetVideoBitrate().
+ * Instead of using this method, use GetAudioBitrate() or GetVideoBitrate().
* @since 2.0
*
* @return The bit rate in bits per second (bps)
- * @remarks There are two kinds of bit rates in a video file: audio and video. @n
- * The return value is the bit rate for the audio.
+ * @remarks
+ * - There are two kinds of bit rates in a video file: audio and video.
+ * - The return value is the bit rate for the audio.
* @endif
*/
int GetBitrate(void) const;
/**
* Gets the audio bit rate of the video file.
*
- * @since 2.0
+ * @since 2.0
*
- * @return The audio bit rate in bits per second (bps)
+ * @return The audio bit rate in bits per second (bps)
*/
int GetAudioBitrate(void) const;
/**
* Gets the video bit rate of the video file.
*
- * @since 2.0
+ * @since 2.0
*
- * @return The video bit rate in bits per second (bps)
+ * @return The video bit rate in bits per second (bps)
*/
int GetVideoBitrate(void) const;
long GetDuration(void) const;
private:
- class _VideoContentData
- {
- public:
- _VideoContentData()
- : width(0)
- , height(0)
- , framerate(0)
- , audioBitrate(0)
- , videoBitrate(0)
- , duration(0)
- , pArtist(null)
- , pGenre(null)
- , pTitle(null)
- , pAlbumName(null) {}
-
- int width;
- int height;
- int framerate;
- int audioBitrate;
- int videoBitrate;
- long duration;
- Tizen::Base::String* pArtist;
- Tizen::Base::String* pGenre;
- Tizen::Base::String* pTitle;
- Tizen::Base::String* pAlbumName;
- };
/**
* The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
*/
VideoContentInfo& operator =(const VideoContentInfo& rhs);
- result SetVideoContentData(const _VideoContentData* pVideoContentData);
-
- _VideoContentData* GetVideoContentData(void);
-
- result GetVideoMetadata(void) const;
-
-private:
_VideoContentData* __pVideoContentData;
-
- friend class _ContentManagerImpl;
- friend class _ContentSearchImpl;
- friend class _ContentDirectoryImpl;
- friend class _ContentUtility;
- friend class _PlayListManagerImpl;
- friend class _PlayListImpl;
-
+ _VideoContentInfoImpl* __pVideoContentInfoImpl;
friend class _VideoContentInfoImpl;
- _VideoContentInfoImpl* __pImpl;
-}; // Class VideoContentInfo
+}; // VideoContentInfo
}} // Tizen::Content