pVideoContentInfoImpl->SetDuration(intValue);
SysLog(NID_CNT, "META: duration[%d]", intValue);
- // Get from metadata extractor (framerate, audio bitrate, video bitrate)
- VideoMetadata* pVideoMetadata = ContentManagerUtil::GetVideoMetaN(pVideoContentInfoImpl->GetContentPath());
- result r = GetLastResult();
- SysTryReturnResult(NID_CNT, pVideoMetadata != null, r, "GetVideoMetadata() failed.");
-
- pVideoContentInfoImpl->SetFramerate(pVideoMetadata->GetFramerate());
- pVideoContentInfoImpl->SetAudioBitrate(pVideoMetadata->GetAudioBitrate());
- pVideoContentInfoImpl->SetVideoBitrate(pVideoMetadata->GetVideoBitrate());
+ // Get some information from metadata extractor when calling VideoContentInfo (framerate, audio bitrate, video bitrate)
return E_SUCCESS;
}
* This file contains implementation of the %VideoContentInfo class.
*/
+#include <unique_ptr.h>
#include <FBaseSysLog.h>
#include <FCntContentManagerUtil.h>
#include <FCntVideoMetadata.h>
int
_VideoContentInfoImpl::GetAudioBitrate(void) const
{
+ if (__audioBitrate == 0)
+ {
+ result r = GetVideoMetadata();
+ SysTryLogReturn(NID_CNT, !IsFailed(r), __audioBitrate, "GetVideoMetadata failed.");
+ }
+
return __audioBitrate;
}
int
_VideoContentInfoImpl::GetVideoBitrate(void) const
{
+ if (__videoBitrate == 0)
+ {
+ result r = GetVideoMetadata();
+ SysTryLogReturn(NID_CNT, !IsFailed(r), __videoBitrate, "GetVideoMetadata failed.");
+ }
+
return __videoBitrate;
}
int
_VideoContentInfoImpl::GetFramerate(void) const
{
+ if (__framerate == 0)
+ {
+ result r = GetVideoMetadata();
+ SysTryLogReturn(NID_CNT, !IsFailed(r), __framerate, "GetVideoMetadata failed.");
+ }
+
return __framerate;
}
__duration = duration;
}
+result
+_VideoContentInfoImpl::GetVideoMetadata(void) const
+{
+ unique_ptr< VideoMetadata > pVideoMetadata(ContentManagerUtil::GetVideoMetaN(GetContentPath()));
+ result r = GetLastResult();
+ SysTryReturn(NID_CNT, pVideoMetadata != null, r, r, "[%s] Failed to perform GetVideoMetadata operation.", GetErrorMessage(r));
+
+ // framerate
+ __framerate = pVideoMetadata->GetFramerate();
+
+ // audio bitrate
+ __audioBitrate = pVideoMetadata->GetAudioBitrate();
+
+ // video bitrate
+ __videoBitrate = pVideoMetadata->GetVideoBitrate();
+
+ return E_SUCCESS;
+}
+
}}
_VideoContentInfoImpl& operator =(const _VideoContentInfoImpl& rhs);
+ result GetVideoMetadata(void) const;
+
int __width;
int __height;
- int __framerate;
- int __audioBitrate;
- int __videoBitrate;
+ mutable int __framerate;
+ mutable int __audioBitrate;
+ mutable int __videoBitrate;
long __duration;
Tizen::Base::String __artist;
Tizen::Base::String __genre;