DirectShow DirectShow ·¹ÆÛ·±½º DirectShow ÀÇ ÇÊÅÍ »ùÇà grabber ÇÊÅÍ [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
»ùÇà grabber ÇÊÅÍ´Â, »ùÇÃÀÌ ÇÊÅÍ ±×·¡ÇÁ¸¦ Åë°úÇÒ °æ¿ì¿¡ ±×°ÍÀ» ¾ò¾î¿Â´Ù ¹æ¹ýÀ» Á¦°øÇÑ´Ù. ÀÌ ÇÊÅÍ´Â, 1 °³ÀÇ ÀÔ·Â Çɰú 1 °³ÀÇ Ãâ·Â ÇÉÀ» °¡Áö´Â º¯È¯ ÇÊÅÍÀÌ´Ù. ¸ðµç »ùÇÃÀ» ±×´ë·Î ´Ù¿î ½ºÆ®¸²¿¡ °Ç³×ÁֹǷÎ, µ¥ÀÌÅÍ ½ºÆ®¸²À» º¯°æÇÏÁö ¾Ê°í ÇÊÅÍ ±×·¡ÇÁ¿¡ »ðÀÔÇÒ ¼ö°¡ ÀÖ´Ù. À̰Ϳ¡ ÀÇÇØ, ¾ÖÇø®ÄÉÀ̼ÇÀº ISampleGrabber ÀÎÅÍÆäÀ̽º·Î ¸Þ¼µå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î, ÇÊÅͷκÎÅÍ °¢°¢ÀÇ »ùÇÃÀ» ÃëµæÇÒ ¼ö ÀÖ´Ù.
µ¥ÀÌÅ͸¦ ·»´õ¸µ ÇÏÁö ¾Ê°í »ùÇÃÀ» ¾ò¾î¿Â´Ù °æ¿ì´Â, »ùÇà grabber ÇÊÅ͸¦ Null ·»´õ¸µ ÇÊÅÍ¿¡ Á¢¼ÓÇÑ´Ù.
| ÇÊÅÍ ÀÎÅÍÆäÀ̽º | IBaseFilter ,ISampleGrabber |
| ÀÔ·Â ÇÉ ¹Ìµð¾î ŸÀÔ | ÀÓÀÇÀÇ ¹Ìµð¾î ŸÀÔ. |
| ÀÔ·Â ÇÉÀΟÆäÀ̽º | IMemInputPin ,IPin ,IQualityControl |
| Ãâ·Â ÇÉ ¹Ìµð¾î ŸÀÔ | ÀÓÀÇÀÇ ¹Ìµð¾î ŸÀÔ. ÀÔ·Â ¹Ìµð¾î ŸÀÔ°ú °°´Ù. |
| Ãâ·Â ÇÉÀΟÆäÀ̽º | IMediaPosition ,IMediaSeeking ,IPin ,IQualityControl |
| ÇÊÅÍ CLSID | CLSID_SampleGrabber |
| ÇÁ·ÎÆÛƼ ÆäÀÌÁö CLSID | ÇÁ·ÎÆÛƼ ÆäÀÌÁö ¾øÀ½. |
| ½ÇÇà ¸ðµâ | Qedit.dll |
| ¸Þ¸®Æ® | MERIT_DO_NOT_USE |
| ÇÊÅÍ Ä«Å×°í¸® | CLSID_LegacyAmFilterCategory |
ÁÖÀÇ
ÀÌ ÇÊÅ͸¦ »ç¿ëÇÏ·Á¸é , ÇÊÅÍ ±×·¡ÇÁ¿¡ Ãß°¡ÇÑ ÈÄ, ÀÓÀÇÀÇ ¹Ìµð¾î ŸÀÔÀ¸·Î ISampleGrabber::SetMediaType ¸¦ È£ÃâÇÑ´Ù. ÀÌ ¸Þ¼µå´Â, ÇÊÅÍÀÇ ÀÔ·Â Çɰú Ãâ·Â ÇÉÀÇ Á¢¼ÓÀÇ ¹Ìµð¾î ŸÀÔÀ» ÁöÁ¤ÇÑ´Ù. ±× ÈÄ, ÇÊÅ͸¦ ±×·¡ÇÁ³»ÀÇ ´Ù¸¥ ÇÊÅÍ¿¡ Á¢¼ÓÇÑ´Ù.
ISampleGrabber::SetBufferSamples ¸¦ °ª TRUE ·Î È£ÃâÇϸé, ÀÌ ÇÊÅÍ´Â, ¹ÞÀº °¢ »ùÇÃÀ», ´Ù¿î ½ºÆ®¸²¿¡ °Ç³×ÁÖ±â Àü¿¡ ¹öÆÛ ÇÑ´Ù. ¹öÆÛÀÇ ÇöÀçÀÇ ³»¿ëÀ» ¾ò¾î¿À·Á¸é,ISampleGrabber::GetCurrentBuffer ¸Þ¼µå¸¦ È£ÃâÇÑ´Ù. ¶Ç´Â,ISampleGrabber::SetCallback ¸¦ È£ÃâÇØ, ÇÊÅͰ¡ »ùÇÃÀ» ¹Þ¾ÒÀ» ¶§¿¡ Äݹé ÇÔ¼ö¸¦ ±âµ¿½Ãų ¼öµµ ÀÖ´Ù.
ÀÌ ÇÊÅÍ´Â, ž ´Ù¿î ¹æÇâ (ºÎÀÇ biHeight)À̳ª Æ÷¸Ë ŸÀÔ FORMAT_VideoInfo2 ÀÇ ºñµð¿À ŸÀÔÀ» Áö¿ø Çϰí ÀÖÁö ¾Ê´Ù. ¶Ç, Ç¥¸éÀÇ º¸ÆøÀÌ ºñµð¿ÀÀÇ Æø°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â ºñµð¿À ŸÀÔÀ» °ÅºÎÇÑ´Ù. À̰ÍÀº, ÀϺÎÀÇ ºñµð¿À ŸÀÔÀÇ °æ¿ì, »ùÇà grabber°¡ Video Mixing Renderer (VMR)¿¡ Á¢¼ÓÇÏÁö ¾Ê´Â °ÍÀ» ÀǹÌÇÑ´Ù.
ÂüÁ¶