[Tizen] Change Vector to list. 88/305688/1 accepted/tizen/7.0/unified/20240207.172846
authorjoogab.yun <joogab.yun@samsung.com>
Wed, 24 Jan 2024 06:16:40 +0000 (15:16 +0900)
committerjoogab.yun <joogab.yun@samsung.com>
Tue, 6 Feb 2024 08:20:34 +0000 (17:20 +0900)
The order of packets is important.
However, when using Vector, the order cannot be guaranteed when removing.

Change-Id: Id3d2097b78722cc9f371dc6f6492a50df5170c63

dali-extension/video-player/ecore-wl2/tizen-video-player-ecore-wl2.cpp
dali-extension/video-player/ecore-wl2/tizen-video-player.h

index a96ca8d..2345d3e 100755 (executable)
@@ -315,7 +315,7 @@ TizenVideoPlayer::TizenVideoPlayer(Dali::Actor actor, Dali::VideoSyncMode syncMo
   mBackgroundColor(Dali::Vector4(1.0f, 1.0f, 1.0f, 0.0f)),
   mTargetType(NATIVE_IMAGE),
   mPacketMutex(),
-  mPacketVector(),
+  mPacketList(),
   mStreamInfo(NULL),
   mStreamType(SOUND_STREAM_TYPE_MEDIA),
   mCodecType(PLAYER_VIDEO_CODEC_TYPE_EX_DEFAULT),
@@ -1028,10 +1028,10 @@ bool TizenVideoPlayer::Update()
     mPacket = NULL;
   }
 
-  if(!mPacketVector.Empty())
+  if(!mPacketList.empty())
   {
-    mPacket = static_cast<media_packet_h>(mPacketVector[0]);
-    mPacketVector.Remove(mPacketVector.Begin());
+    mPacket = static_cast< media_packet_h >( mPacketList.front() );
+    mPacketList.pop_front();
   }
 
   if(mPacket == NULL)
@@ -1065,20 +1065,21 @@ void TizenVideoPlayer::DestroyPackets()
     mPacket = NULL;
   }
 
-  for(unsigned int i = 0; i < mPacketVector.Size(); ++i)
+  std::list<media_packet_h>::iterator iter = mPacketList.begin();
+  for (; iter != mPacketList.end(); ++iter)
   {
-    mPacket = static_cast<media_packet_h>(mPacketVector[i]);
-    error   = media_packet_destroy(mPacket);
-    DALI_LOG_ERROR("Media packet destroy error: %d\n", error);
+    mPacket = *iter;
+    error = media_packet_destroy( mPacket );
+    DALI_LOG_ERROR( "Media packet destroy error: %d\n", error );
     mPacket = NULL;
   }
-  mPacketVector.Clear();
+  mPacketList.clear();
 }
 
 void TizenVideoPlayer::PushPacket(media_packet_h packet)
 {
   Dali::Mutex::ScopedLock lock(mPacketMutex);
-  mPacketVector.PushBack(packet);
+  mPacketList.push_back(packet);
 }
 
 void TizenVideoPlayer::SetDisplayArea(DisplayArea area)
index fde2a7e..3c74721 100755 (executable)
@@ -27,6 +27,7 @@
 #include <dali/public-api/animation/constraints.h>
 #include <player.h>
 #include <string>
+#include <list>
 
 #ifndef HAVE_WAYLAND
 #define HAVE_WAYLAND
@@ -295,8 +296,8 @@ private:
   Dali::Vector4              mBackgroundColor;      ///< Current background color, which texturestream mode needs.
   RenderingTargetType        mTargetType;           ///< Current rendering target type
 
-  Dali::Mutex                  mPacketMutex;
-  Dali::Vector<media_packet_h> mPacketVector; ///< Container for media packet handle from Tizen player callback
+  Dali::Mutex                mPacketMutex;
+  std::list<media_packet_h>  mPacketList;           ///< Container for media packet handle from Tizen player callback
 
   sound_stream_info_h mStreamInfo;
   sound_stream_type_e mStreamType;