{
mMuted = false;
mLooping = false;
+ mPlayPosition = 0;
}
void SetMuted( bool muted )
}
}
+ int GetPlayPosition()
+ {
+ return mPlayPosition;
+ }
+
+ void SetPlayPosition( int pos )
+ {
+ mPlayPosition = pos;
+ }
+
public:
std::string mUrl;
bool mMuted;
bool mLooping;
+ int mPlayPosition;
};
inline VideoPlayer& GetImplementation( Dali::VideoPlayer& player )
void VideoPlayer::SetPlayPosition( int millisecond )
{
+ Internal::Adaptor::GetImplementation( *this ).SetPlayPosition( millisecond );
}
int VideoPlayer::GetPlayPosition()
{
- return 0;
+ return Internal::Adaptor::GetImplementation( *this ).GetPlayPosition();
}
void VideoPlayer::SetDisplayArea( DisplayArea area )
{
}
+bool VideoPlayer::IsVideoTextureSupported()
+{
+ return ToolkitApplication::DECODED_IMAGES_SUPPORTED;
+}
+
+void VideoPlayer::SetCodecType( Dali::VideoPlayerPlugin::CodecType type )
+{
+}
+
+Dali::VideoPlayerPlugin::CodecType VideoPlayer::GetCodecType() const
+{
+ return Dali::VideoPlayerPlugin::CodecType::DEFAULT;
+}
+
} // namespace Dali;
int UtcDaliVideoViewPropertyUnderlay(void)
{
ToolkitTestApplication application;
+ tet_infoline("UtcDaliVideoViewPropertyUnderlay");
ToolkitApplication::DECODED_IMAGES_SUPPORTED = true;
VideoView view = VideoView::New();
END_TEST;
}
+
+int UtcDaliVideoViewPropertyPlayPosition(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline("UtcDaliVideoViewPropertyPlayPosition");
+
+ VideoView view = VideoView::New();
+ DALI_TEST_CHECK( view );
+
+ Stage::GetCurrent().Add( view );
+ view.Play();
+
+ application.SendNotification();
+ application.Render();
+
+ int playPos = view.GetProperty( Toolkit::VideoView::Property::PLAY_POSITION ).Get< int >();
+ DALI_TEST_CHECK( playPos == 0 );
+
+ view.SetProperty( Toolkit::VideoView::Property::PLAY_POSITION, 10 );
+ playPos = view.GetProperty( Toolkit::VideoView::Property::PLAY_POSITION ).Get< int >();
+ // Actually setting play position will be async
+ // Actual platform result may be different.
+ DALI_TEST_CHECK( playPos == 10 );
+
+ END_TEST;
+}
+
+// For coverage.
+int UtcDaliVideoViewNew2(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline("UtcDaliVideoViewNew2");
+
+ VideoView view = VideoView::New( true );
+ DALI_TEST_CHECK( view );
+
+ Stage::GetCurrent().Add( view );
+ view.Play();
+
+ application.SendNotification();
+ application.Render();
+
+ VideoView view2 = VideoView::New( "", false );
+ DALI_TEST_CHECK( view2 );
+
+ Stage::GetCurrent().Add( view2 );
+ view2.Play();
+
+ application.SendNotification();
+ application.Render();
+
+ END_TEST;
+}
# Extra tags for Tizen 4.0
ALIASES += SINCE_1_3_4="@since 1.3.4"
ALIASES += SINCE_1_3_5="@since 1.3.5"
+ALIASES += SINCE_1_3_9="@since 1.3.9"
ALIASES += DEPRECATED_1_0="@deprecated Deprecated since 1.0"
ALIASES += DEPRECATED_1_1="@deprecated Deprecated since 1.1"
ALIASES += PRIVILEGE_KEYGRAB=""
ALIASES += PRIVILEGE_DISPLAY=""
ALIASES += PRIVILEGE_WINDOW_PRIORITY=""
-ALIASES += PRIVILEGE_CAPTURE=""
ALIASES += REMARK_INTERNET=""
ALIASES += REMARK_STORAGE=""
ALIASES += REMARK_RAWVIDEO=""
## Extra tags for Tizen 4.0
#ALIASES += SINCE_1_3_4="\par Since:\n 4.0, DALi version 1.3.4"
#ALIASES += SINCE_1_3_5="\par Since:\n 4.0, DALi version 1.3.5"
+#ALIASES += SINCE_1_3_9="\par Since:\n 4.0, DALi version 1.3.9"
## DALi has no deprecated API in Tizen 2.4 because it's DALi's first release.
## Thus deprecated APIs in DALi 1.0.xx will be deprecated in Tizen 3.0.
#ALIASES += PRIVILEGE_KEYGRAB="\par Privilege:\n http://tizen.org/privilege/keygrab"
#ALIASES += PRIVILEGE_DISPLAY="\par Privilege:\n http://tizen.org/privilege/display"
#ALIASES += PRIVILEGE_WINDOW_PRIORITY="\par Privilege:\n http://tizen.org/privilege/window.priority.set"
-#ALIASES += PRIVILEGE_CAPTURE="\par Privilege:\n http://tizen.org/privilege/screenshot"
#ALIASES += REMARK_INTERNET="@remarks %http://tizen.org/privilege/internet is needed if @a url is a http or https address."
#ALIASES += REMARK_STORAGE="@remarks %http://tizen.org/privilege/mediastorage is needed if @a url is relevant to media storage. @remarks %http://tizen.org/privilege/externalstorage is needed if @a url is relevant to external storage."
#ALIASES += REMARK_RAWVIDEO="@remarks %http://tizen.org/feature/multimedia.raw_video is needed if UNDERLAY is false. If the feature isn't supported, UNDERLAY is always true."
DALI_PROPERTY_REGISTRATION( Toolkit, VideoView, "muted", BOOLEAN, MUTED )
DALI_PROPERTY_REGISTRATION( Toolkit, VideoView, "volume", MAP, VOLUME )
DALI_PROPERTY_REGISTRATION( Toolkit, VideoView, "underlay", BOOLEAN, UNDERLAY )
+DALI_PROPERTY_REGISTRATION( Toolkit, VideoView, "playPosition", INTEGER, PLAY_POSITION )
DALI_SIGNAL_REGISTRATION( Toolkit, VideoView, "finished", FINISHED_SIGNAL )
}
break;
}
+ case Toolkit::VideoView::Property::PLAY_POSITION:
+ {
+ int pos;
+ if( value.Get( pos ) )
+ {
+ impl.SetPlayPosition( pos );
+ }
+ break;
+ }
}
}
}
value = impl.IsUnderlay();
break;
}
+ case Toolkit::VideoView::Property::PLAY_POSITION:
+ {
+ value = impl.GetPlayPosition();
+ break;
+ }
}
}
return mIsUnderlay;
}
+void VideoView::SetSWCodec( bool on )
+{
+ // If setting SW or HW type is failed , video-view shows video by default codec type.
+ // The default codec type is selected by platform.
+ if( on )
+ {
+ mVideoPlayer.SetCodecType( Dali::VideoPlayerPlugin::CodecType::SW );
+ }
+ else
+ {
+ mVideoPlayer.SetCodecType( Dali::VideoPlayerPlugin::CodecType::HW );
+ }
+}
+
+int VideoView::GetPlayPosition()
+{
+ return mVideoPlayer.GetPlayPosition();
+}
+
+void VideoView::SetPlayPosition( int pos )
+{
+ mVideoPlayer.SetPlayPosition( pos );
+}
+
} // namespace Internal
} // namespace toolkit
*/
bool IsUnderlay();
+ /**
+ * @brief Sets sw codec type.
+ */
+ void SetSWCodec( bool on );
+
+ /**
+ * @brief Gets play position.
+ */
+ int GetPlayPosition();
+
+ /**
+ * @brief Sets play position.
+ */
+ void SetPlayPosition( int pos );
+
private: // From Control
/**
GET_LINE_BREAKS |
GET_WORD_BREAKS |
BIDI_INFO |
- SHAPE_TEXT );
+ SHAPE_TEXT |
+ GET_GLYPH_METRICS );
// Set the update info to relayout the whole text.
mImpl->mTextUpdateInfo.mParagraphCharacterIndex = 0u;
return videoView;
}
+VideoView VideoView::New( bool swCodec )
+{
+ VideoView videoView = Internal::VideoView::New();
+ Dali::Toolkit::GetImpl( videoView ).SetSWCodec( swCodec );
+ return videoView;
+}
+
+VideoView VideoView::New( const std::string& url, bool swCodec )
+{
+ VideoView videoView = Internal::VideoView::New();
+ Dali::Toolkit::GetImpl( videoView ).SetUrl( url );
+ Dali::Toolkit::GetImpl( videoView ).SetSWCodec( swCodec );
+ return videoView;
+}
+
VideoView VideoView::DownCast( BaseHandle handle )
{
return Control::DownCast< VideoView, Internal::VideoView >( handle );
/**
* @brief name "video", video file url as string type or Property::Map.
* @SINCE_1_1.38
+ * @REMARK_INTERNET
+ * @REMARK_STORAGE
*/
VIDEO = PROPERTY_START_INDEX,
* @SINCE_1_2.62
* @REMARK_RAWVIDEO
*/
- UNDERLAY
+ UNDERLAY,
+
+ /**
+ * @brief The play position (millisecond) of the video.
+ * @details Name "playPosition", type Property::INTEGER
+ * @SINCE_1_3_9
+ */
+ PLAY_POSITION
};
};
* @SINCE_1_1.38
* @return A handle to a newly allocated Dali ImageView
*
- * @note VideoView will not display anything
*/
static VideoView New();
static VideoView New( const std::string& url );
/**
+ * @brief Creates an initialized VideoView.
+ * @SINCE_1_3_9
+ * @param[in] swCodec Video rendering by H/W codec if false
+ * @return A handle to a newly allocated Dali ImageView
+ *
+ * @note If platform or target does not support sw codec, video-view shows an error message and video by default codec type
+ */
+ static VideoView New( bool swCodec );
+
+ /**
+ * @brief Creates an initialized VideoView.
+ * If the string is empty, VideoView will not display anything.
+ *
+ * @SINCE_1_3_9
+ * @REMARK_INTERNET
+ * @REMARK_STORAGE
+ * @param[in] url The url of the video resource to display
+ * @param[in] swCodec Video rendering by H/W codec if false
+ * @return A handle to a newly allocated Dali VideoView
+ *
+ * @note If platform or target does not support sw codec, video-view shows an error message and video by default codec type
+ */
+ static VideoView New( const std::string& url, bool swCodec );
+
+ /**
* @brief Creates an uninitialized VideoView.
* @SINCE_1_1.38
*/
const unsigned int TOOLKIT_MAJOR_VERSION = 1;
const unsigned int TOOLKIT_MINOR_VERSION = 2;
-const unsigned int TOOLKIT_MICRO_VERSION = 85;
+const unsigned int TOOLKIT_MICRO_VERSION = 86;
const char * const TOOLKIT_BUILD_DATE = __DATE__ " " __TIME__;
#ifdef DEBUG_ENABLED
Name: dali-toolkit
Summary: Dali 3D engine Toolkit
-Version: 1.2.85
+Version: 1.2.86
Release: 1
Group: System/Libraries
License: Apache-2.0 and BSD-3-Clause and MIT