There is a case not to show images which are enqueued previously.
So added a method to ignore source buffers
Change-Id: I571af6aff235955d441eef644300033d888003f5
return mImpl->SetSize( width, height );
}
+void NativeImageSourceQueue::IgnoreSourceImages()
+{
+ mImpl->IgnoreSourceImages();
+}
+
bool NativeImageSourceQueue::GlExtensionCreate()
{
return mImpl->GlExtensionCreate();
*/
void SetSize( uint32_t width, uint32_t height );
+ /**
+ * @brief Ignores all source images which are inserted to the queue.
+ *
+ * @note This can be called from worker threads.
+ */
+ void IgnoreSourceImages();
+
private: // native image
/**
mHeight = height;
}
+void NativeImageSourceQueueAndroid::IgnoreSourceImages()
+{
+}
+
bool NativeImageSourceQueueAndroid::GlExtensionCreate()
{
return true;
void SetSize( uint32_t width, uint32_t height ) override;
/**
+ * @copydoc Dali::NativeImageSourceQueue::IgnoreSourceImages
+ */
+ void IgnoreSourceImages() override;
+
+ /**
* destructor
*/
~NativeImageSourceQueueAndroid() override;
virtual void SetSize( uint32_t width, uint32_t height ) = 0;
/**
+ * @copydoc Dali::NativeImageSourceQueue::IgnoreSourceImages
+ */
+ virtual void IgnoreSourceImages() = 0;
+
+ /**
* destructor
*/
virtual ~NativeImageSourceQueue() = default;
ResetEglImageList();
}
+void NativeImageSourceQueueTizen::IgnoreSourceImages()
+{
+ Dali::Mutex::ScopedLock lock( mMutex );
+ tbm_surface_h surface;
+
+ while( tbm_surface_queue_can_acquire( mTbmQueue, 0 ) )
+ {
+ if( tbm_surface_queue_acquire( mTbmQueue, &surface ) != TBM_SURFACE_QUEUE_ERROR_NONE )
+ {
+ DALI_LOG_ERROR( "NativeImageSourceQueueTizen::IgnoreSourceImages: Failed to aquire a tbm_surface\n" );
+ return;
+ }
+
+ if( tbm_surface_internal_is_valid( surface ) )
+ {
+ tbm_surface_queue_release( mTbmQueue, surface );
+ }
+ }
+}
+
bool NativeImageSourceQueueTizen::GlExtensionCreate()
{
mEglImageExtensions = mEglGraphics->GetImageExtensions();
void SetSize( uint32_t width, uint32_t height ) override;
/**
+ * @copydoc Dali::NativeImageSourceQueue::IgnoreSourceImages
+ */
+ void IgnoreSourceImages() override;
+
+ /**
* destructor
*/
~NativeImageSourceQueueTizen() override;
mHeight = height;
}
+void NativeImageSourceQueueX::IgnoreSourceImages()
+{
+}
+
bool NativeImageSourceQueueX::GlExtensionCreate()
{
return true;
void SetSize( uint32_t width, uint32_t height ) override;
/**
+ * @copydoc Dali::NativeImageSourceQueue::IgnoreSourceImages
+ */
+ void IgnoreSourceImages() override;
+
+ /**
* destructor
*/
~NativeImageSourceQueueX() override;