Support the synchronization of changing the video player's z-order
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / dali-toolkit-test-utils / toolkit-video-player.cpp
old mode 100644 (file)
new mode 100755 (executable)
index 09cc438..9909164
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
  */
 
 #include <dali/devel-api/adaptor-framework/video-player.h>
+#include <dali/devel-api/adaptor-framework/video-sync-mode.h>
 #include <dali/public-api/object/any.h>
 #include <dali/public-api/object/base-object.h>
 #include <toolkit-application.h>
@@ -34,9 +35,15 @@ class VideoPlayer: public Dali::BaseObject
 public:
 
   VideoPlayer()
+  : mUrl(),
+    mVolumeLeft( 0.0f ),
+    mVolumeRight( 0.0f ),
+    mFinishedSignal(),
+    mMuted( false ),
+    mLooping( false),
+    mPlayPosition( 0 ),
+    mDisplyMode( Dali::VideoPlayerPlugin::DisplayMode::DST_ROI )
   {
-    mMuted = false;
-    mLooping = false;
   }
 
   void SetMuted( bool muted )
@@ -59,6 +66,69 @@ public:
     return mLooping;
   }
 
+  void Stop()
+  {
+    if( !mFinishedSignal.Empty() )
+    {
+      mFinishedSignal.Emit();
+    }
+  }
+
+  int GetPlayPosition()
+  {
+    return mPlayPosition;
+  }
+
+  void SetPlayPosition( int pos )
+  {
+    mPlayPosition = pos;
+  }
+
+  Dali::VideoPlayerPlugin::DisplayMode::Type GetDisplayMode() const
+  {
+    return mDisplyMode;
+  }
+
+  void SetDisplayMode( Dali::VideoPlayerPlugin::DisplayMode::Type mode )
+  {
+    mDisplyMode = mode;
+  }
+
+  Any GetMediaPlayer()
+  {
+    return NULL;
+  }
+
+  void StartSynchronization()
+  {
+
+  }
+
+  void FinishSynchronization()
+  {
+
+  }
+
+  void RaiseAbove(Dali::VideoPlayer target)
+  {
+
+  }
+
+  void LowerBelow(Dali::VideoPlayer target)
+  {
+
+  }
+
+  void RaiseToTop()
+  {
+
+  }
+
+  void LowerToBottom()
+  {
+
+  }
+
 public:
 
   std::string mUrl;
@@ -70,6 +140,8 @@ private:
 
   bool mMuted;
   bool mLooping;
+  int mPlayPosition;
+  Dali::VideoPlayerPlugin::DisplayMode::Type mDisplyMode;
 };
 
 inline VideoPlayer& GetImplementation( Dali::VideoPlayer& player )
@@ -115,6 +187,13 @@ VideoPlayer VideoPlayer::New()
   return VideoPlayer( player );
 }
 
+VideoPlayer VideoPlayer::New( Dali::Actor actor, Dali::VideoSyncMode syncMode )
+{
+  Internal::Adaptor::VideoPlayer* player = new Internal::Adaptor::VideoPlayer();
+
+  return VideoPlayer( player );
+}
+
 VideoPlayer::VideoPlayer( const VideoPlayer& player )
 : BaseHandle( player )
 {
@@ -162,6 +241,7 @@ void VideoPlayer::Pause()
 
 void VideoPlayer::Stop()
 {
+  Internal::Adaptor::GetImplementation( *this ).Stop();
 }
 
 void VideoPlayer::SetMute( bool mute )
@@ -192,11 +272,12 @@ void VideoPlayer::SetRenderingTarget( Any target )
 
 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 )
@@ -225,10 +306,64 @@ void VideoPlayer::Backward( int millisecond )
 {
 }
 
-bool VideoPlayer::IsVideoTextureSupported() const
+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;
+}
+
+void VideoPlayer::SetDisplayMode( Dali::VideoPlayerPlugin::DisplayMode::Type mode )
+{
+  Internal::Adaptor::GetImplementation( *this ).SetDisplayMode( mode );
+}
+
+Dali::VideoPlayerPlugin::DisplayMode::Type VideoPlayer::GetDisplayMode() const
+{
+  return Internal::Adaptor::GetImplementation( *this ).GetDisplayMode();
+}
+
+Any VideoPlayer::GetMediaPlayer()
+{
+  return Internal::Adaptor::GetImplementation( *this ).GetMediaPlayer();
+}
+
+void VideoPlayer::StartSynchronization()
+{
+  Internal::Adaptor::GetImplementation( *this ).StartSynchronization();
+}
+
+void VideoPlayer::FinishSynchronization()
+{
+  Internal::Adaptor::GetImplementation( *this ).FinishSynchronization();
+}
+
+void VideoPlayer::RaiseAbove(Dali::VideoPlayer target)
+{
+  Internal::Adaptor::GetImplementation( *this ).RaiseAbove(target);
+}
+
+void VideoPlayer::LowerBelow(Dali::VideoPlayer target)
+{
+  Internal::Adaptor::GetImplementation( *this ).LowerBelow(target);
+}
+
+void VideoPlayer::RaiseToTop()
+{
+  Internal::Adaptor::GetImplementation( *this ).RaiseToTop();
+}
+
+void VideoPlayer::LowerToBottom()
+{
+  Internal::Adaptor::GetImplementation( *this ).LowerToBottom();
+}
+
 } // namespace Dali;