|
What other filters are in the graph? And in what order?
Mark
|
|
|
|
|
Capture, Garbber ,Renderer.
|
|
|
|
|
hmmm I wouldn't expect the buffer size to keep increasing.
Anyway, I dug up an article in my bookmarks that may help:
How To Get Data from a Microsoft DirectShow Filter Graph[^]
The docs for the samplegrabber filter don't really explain the buffered mode in any detail and
I've never used it (I have used the callback however). At the bottom of the article is this:
Buffered mode
The buffered mode of the Sample Grabber is not particularly useful. If the application needs to
copy samples to a buffer, it can do so in the callback.
I chose to write a simple renderer filter for grabbing frames instead of an in-place filter and
it works well.
Mark
|
|
|
|
|
How do you use the callback method? What is the process?
|
|
|
|
|
1) Create an instance of the sample grabber filter
2) Obtain a pointer to its ISampleGrabber interface
3) Implement ISampleGrabberCB interface (see below)
4) Create an instance of your ISampleGrabberCB interface
5) Use ISampleGrabber::SetCallback() to set the filter to use your callback
I was going to post code but to save typing I'll post a link (yeah, I'm lazy )
In this link is one way of implementing the ISampleGrabberCB interface. You don't really need
to do anything COM related with it so it's pretty simple. The point is to expose the two callback
methods to the ISampleGrabber interface, which expects a ISampleGrabberCB interface.
Capturing an Image From a Still Image Pin[^]
This code demonstrates using the BufferCB callback but you may find the SampleCB callback is
more appropriate for what you are doing.
Since you want 10 frames a second the easiest way to implement the callback is to run the
stream at 10fps. Then you just grab every frame. For smoother rendering (if you are rendering
while capturing) then maybe set up the video for 20fps and grab every other frame.
Hopefully this will help get you started
Mark
|
|
|
|
|
Thanks Mark i have now managed to get the frames i need via CallBack. Do you know any method of resizing these frames at the moment they are just being displayed at the size they are captured. No worrys if your dont know how to im sure ill be able to figure it out, you've already help me out loads.
|
|
|
|
|
ceejeeb wrote: Do you know any method of resizing these frames at the moment they are just being displayed at the size they are captured.
I'm not sure I understand the question. You want to resize the displayed (preview) frames
a different size than the capture size? If so, which renderer filter are you using?
Mark
|
|
|
|
|
I want to work directly with modem(no with COM port). I want to send AT command and get replay from modem directly in mfc
|
|
|
|
|
not sure, but check TAPI.. maybe there's a way to send at commands.
Don't try it, just do it!
|
|
|
|
|
I am a beginner in MFC. I wanna know if we can know if a remote system has logged in.Could we get the time of login.
I humbly request the one who has some idea about it to kindly respond me!
Thanks in advance!
|
|
|
|
|
see if this[^] helps
If you think you can than you can, if you think you can't you are right.
|
|
|
|
|
Use NetWkstaGetInfo with level 102; this will returns a WKSTA_INFO_102 structure (if succesful).
If wki102_logged_on_users
Specifies the number of users who are logged on to the local computer.
is greater than 0, you have users logged on locally.
Nuclear launch detected
|
|
|
|
|
Could any one help me how can i do that how can i generate
random 12-bit unsigned integer
random 12-bit signed integer
..thx.
|
|
|
|
|
12 bits or bytes? how (in what) are you going to store the value?
Artificial Intelligence is no match for Natural Stupidity
No one can understand the truth until he drinks of coffee's frothy goodness. ~Sheik Abd-al-Kadir
I can't always be wrong ... or can I?
|
|
|
|
|
Actually I want to generate 12 bit unsigned int and 4 bit signed int and stores in 2 bytes(unsigned int) which is as follow.
2 bytes unsigned int = 12 bit unsigned int*10^(4-bit signed int)
thx
|
|
|
|
|
long bit12 = (long)rand() + (long)(rand() << 8);
This is wrong.
-- modified at 9:07 Saturday 6th January, 2007
Artificial Intelligence is no match for Natural Stupidity
No one can understand the truth until he drinks of coffee's frothy goodness. ~Sheik Abd-al-Kadir
I can't always be wrong ... or can I?
|
|
|
|
|
thx but it gives number -424735897 which is not 12 bit
|
|
|
|
|
crap my mistake! that makes an 32bit random number
the code you need is
int value12bit = rand() & 0x0FFF;
Sorry bout' that
Artificial Intelligence is no match for Natural Stupidity
No one can understand the truth until he drinks of coffee's frothy goodness. ~Sheik Abd-al-Kadir
I can't always be wrong ... or can I?
|
|
|
|
|
no prb thanks..;) but i am bit confused that integer is of 4 bytes but how can i get 12 bit from this..it would be nice if u plz explain the same.
|
|
|
|
|
MSDN wrote: The int and unsigned int types have the size of the system word. This is two bytes (the same as short and unsigned short) in MS-DOS and 16-bit versions of Windows, and 4 bytes in 32-bit operating systems. However, portable code should not depend on the size of int.
If you need a 16bit integer use the __int16 data type
to get 12bits from an int you can
int bits12 = intVar & 0xFFF
Artificial Intelligence is no match for Natural Stupidity
No one can understand the truth until he drinks of coffee's frothy goodness. ~Sheik Abd-al-Kadir
I can't always be wrong ... or can I?
|
|
|
|
|
I am asuming that your 4bit value is also comming from and integer so ...
int total16 = (bit14 & 0xFFF) + ((bit4 & 0xF) << 12);
that should add your 2 values into one.
The & operator will mask the left value with the right.
example
int value = 151;
int value2 = value & 0xAA;
value2 = value2 >> 1;
Hope this is what you needed
Artificial Intelligence is no match for Natural Stupidity
No one can understand the truth until he drinks of coffee's frothy goodness. ~Sheik Abd-al-Kadir
I can't always be wrong ... or can I?
|
|
|
|
|
how can we track a webpage title and website address(Link)? If anyone of you know, i humbly request you to reply me!
thanks in advance!
|
|
|
|
|
ShaluMalu wrote: how can we track a webpage title and website address(Link)? If anyone of you know, i humbly request you to reply me!
what do you mean by track, please explain further.
If you think you can than you can, if you think you can't you are right.
|
|
|
|
|
ShaluMalu wrote: track a webpage title and website address(Link)?
Can you re more specific
|
|
|
|
|
Hi all
I have a group of buttons in a dialog resource . I want them to appear behind a bitmap . When the bitmap is loaded with LoadBitmap() and when WM_PAINT is not defined then the buttons are invible but they work when we click on the bitmap . Problem comes when I stretch the bitmap by calling StretchBlt() in WM_PAINT . This time the buttons appear above the bitmap !
I tried calling ShowWindow(hButton,SW_HIDE); But this call disables the button itself .
So I tried calling EnableWindow(hButton,TRUE); to enable it in invisible mode - but to my surprise this call also does not enable the button ...I do not know what I am missing ...
Can anyone tell me pls ?
redindian
|
|
|
|