Property VLSinkFilter.TVLSyncSinkFilter.SynchronizeType

From Mitov Wiki Doc
Jump to: navigation, search

This is a Beta Read Only version of this page. Please review and send recommendations to We will enable the editing as soon as we are happy with the overall Wiki site.

Class: TVLSyncSinkFilter




property SynchronizeType : TSLSynchronizeType read FSynchronizeType write SetSynchronizeType default stNone;

C++ Builder:

__property TSLSynchronizeType SynchronizeType = { read=FSynchronizeType, write=SetSynchronizeType, default=stNone };


Type of thread buffer synchronization.


Use this property to specify the type of thread buffer synchronization for the generic filters.

stNone - does not synchronize. It will execute the callback event directly from the VideoLab thread. You should not access any resources used by other threads or any GUI without critical sections or other means of protection.

stQueue - does synchronize and queue all the buffers with the main thread. It is safe to access any main thread resources safely, including any GUI, however it will use a lot of memory. Indeed once when it queue couple of hundred frames, it will stop dropping frames in order to prevent running out of memory.

stSingleBuffer - queues only the latest buffer. Any other buffer will be dropped. This is used when you want to display any GUI information related with the frame, and don't want to do that for each frame, but just for the most recent one.

Delphi example:

VLFilter1.SynchronizeType := stSingleBuffer;

C++ Builder example:

VLFilter1->SynchronizeType = stSingleBuffer;

Visual C++(MFC) example:

VLFilter1.SynchronizeType = stSingleBuffer;

Visual C++/CLI example:

filter1->SynchronizeType = Mitov::SignalLab::SynchronizeType::SingleBuffer;

C# example:

filter1.SynchronizeType = Mitov.SignalLab.SynchronizeType.SingleBuffer;

VB example:

Filter1.SynchronizeType = Mitov.SignalLab.SynchronizeType.SingleBuffer

Personal tools