<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://mitov.com/wiki/skins/common/feed.css?301"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://mitov.com/wiki/index.php?action=history&amp;feed=atom&amp;title=TVLGenericFilter.OnProcessData</id>
		<title>TVLGenericFilter.OnProcessData - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://mitov.com/wiki/index.php?action=history&amp;feed=atom&amp;title=TVLGenericFilter.OnProcessData"/>
		<link rel="alternate" type="text/html" href="http://mitov.com/wiki/index.php?title=TVLGenericFilter.OnProcessData&amp;action=history"/>
		<updated>2026-04-10T18:49:29Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.17.0</generator>

	<entry>
		<id>http://mitov.com/wiki/index.php?title=TVLGenericFilter.OnProcessData&amp;diff=3691&amp;oldid=prev</id>
		<title>David Alm: Automated Syncronization with Documentation</title>
		<link rel="alternate" type="text/html" href="http://mitov.com/wiki/index.php?title=TVLGenericFilter.OnProcessData&amp;diff=3691&amp;oldid=prev"/>
				<updated>2011-11-22T00:18:43Z</updated>
		
		<summary type="html">&lt;p&gt;Automated Syncronization with Documentation&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
This is a Beta Read Only version of this page. &lt;br /&gt;
Please review and send recommendations to [mailto:mitov@mitov.com mitov@mitov.com]. &lt;br /&gt;
We will enable the editing as soon as we are happy with the overall Wiki site.&lt;br /&gt;
&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Use the OnProcessData event handler to write code that&lt;br /&gt;
responds when a video frame is received.&lt;br /&gt;
&lt;br /&gt;
Write your custom code to process the video data inside the&lt;br /&gt;
event. The incoming image will be contained inside the&lt;br /&gt;
InBuffer. You can assign the processed image to the&lt;br /&gt;
OutBuffer.&lt;br /&gt;
&lt;br /&gt;
You can prevent the output buffer to be sent to the next&lt;br /&gt;
component by setting SendOutputData to False.&lt;br /&gt;
&lt;br /&gt;
Usually occurs when a new frame is generated during video&lt;br /&gt;
capturing or video playback.&lt;br /&gt;
Example&lt;br /&gt;
Delphi Example :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 procedure TForm1.VLGenericFilter2ProcessData(Sender: TObject;&lt;br /&gt;
   InBuffer: IVLImageBuffer; var OutBuffer: IVLImageBuffer; var SendOutputData: Boolean);&lt;br /&gt;
 var&lt;br /&gt;
   X, Y : Integer;&lt;br /&gt;
 &lt;br /&gt;
 begin&lt;br /&gt;
   for X := 0 to OutBuffer.Width - 1 do&lt;br /&gt;
     for Y := 0 to OutBuffer.Height - 1 do&lt;br /&gt;
       begin&lt;br /&gt;
       OutBuffer.Red[ X, Y ] := InBuffer.Blue[ X, Y ] + 10;&lt;br /&gt;
       OutBuffer.Green[ X, Y ] := InBuffer.Red[ X, Y ] + 6;&lt;br /&gt;
       OutBuffer.Blue[ X, Y ] := InBuffer.Green[ X, Y ] + 2;&lt;br /&gt;
       end;&lt;br /&gt;
 &lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
C++ Builder Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 void __fastcall TForm1::VLGenericFilter2ProcessData(TObject *Sender,&lt;br /&gt;
       TVLCVideoBuffer InBuffer, TVLCVideoBuffer &amp;amp;amp;OutBuffer,&lt;br /&gt;
       bool &amp;amp;amp;SendOutputData)&lt;br /&gt;
 {&lt;br /&gt;
   for ( int x = 0; x &amp;lt; OutBuffer.GetWidth(); x ++ )&lt;br /&gt;
     for ( int y = 0; y &amp;lt; OutBuffer.GetHeight(); y ++ )&lt;br /&gt;
       {&lt;br /&gt;
       OutBuffer.Red[ x ][ y ] = InBuffer.Blue[ x ][ y ] + 10;&lt;br /&gt;
       OutBuffer.Green[ x ][ y ] = InBuffer.Red[ x ][ y ] + 6;&lt;br /&gt;
       OutBuffer.Blue[ x ][ y ] = InBuffer.Green[ x ][ y ] + 2;&lt;br /&gt;
       }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Visual C++/MFC Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 void __stdcall CCustomFilterDemoDlg::VLGenericFilter2ProcessData(void *Sender,&lt;br /&gt;
       TVLCVideoBuffer InBuffer, TVLCVideoBuffer &amp;amp;amp;OutBuffer,&lt;br /&gt;
       bool &amp;amp;amp;SendOutputData)&lt;br /&gt;
 {&lt;br /&gt;
   for ( int x = 0; x &amp;lt; OutBuffer.GetWidth(); x ++ )&lt;br /&gt;
     for ( int y = 0; y &amp;lt; OutBuffer.GetHeight(); y ++ )&lt;br /&gt;
       {&lt;br /&gt;
       OutBuffer.Red[ x ][ y ] = InBuffer.Blue[ x ][ y ] + 10;&lt;br /&gt;
       OutBuffer.Green[ x ][ y ] = InBuffer.Red[ x ][ y ] + 6;&lt;br /&gt;
       OutBuffer.Blue[ x ][ y ] = InBuffer.Green[ x ][ y ] + 2;&lt;br /&gt;
       }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>David Alm</name></author>	</entry>

	</feed>