#include "ltmm.h"
C Syntax |
HRESULT IltmmSampleSource_getSampleBuffer(pSampleSource, TimeOut, MediaSample) |
C++ Syntax |
HRESULT GetSampleBuffer(TimeOut, MediaSample) |
IltmmSampleSource *pSampleSource; |
pointer to an interface |
long TimeOut; |
time allowed to wait for buffer |
IltmmMediaSampleDisp **MediaSample; |
pointer to a pointer |
Retrieves an unused sample buffer.
Parameter |
Description |
pSampleSource |
Pointer to an IltmmSampleSource interface that references the sample source object that is getting the sample buffer. |
TimeOut |
Maximum time to wait for a free sample buffer, in milliseconds. |
MediaSample |
Pointer to a variable to be updated with a pointer to an IltmmMediaSampleDisp interface. This interface references the new media sample buffer. |
S_OK |
The function was successful. |
<> S_OK |
An error occurred. Refer to the Error Codes or the HRESULT error codes in the DirectShow documentation. |
The buffer retrieved by this function comes from a pool of buffers. There should be no assumptions made on the number of available buffers. If you get a buffer, fill it with data and then deliver it downstream, you should release the buffer before getting another. This is because there may only be one buffer available at a time.
If the Function succeeds, the caller must free the interface referenced by the MediaSample parameter by calling the interface's Release Function. Failure to release the buffer could cause further calls to IltmmSampleSource::GetSampleBuffer to fail.
If the function does not retrieve a buffer within the allotted time it will return E_FAIL. If this happens, you may have specified a small timeout and all the available buffers are currently being sent downstream.
Required DLLs and Libraries
LTMM For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
Win32, x64
Elements: |
IltmmSampleSource::SetMediaType, IltmmSampleSource::DeliverEndOfStream, IltmmSampleSource::DeliverSample, IltmmSampleSource::GetMediaType |
Topics: |
|
Using the ltmmSampleSource Object |
For a C example, refer to Creating an AVI File from Bitmaps Using ltmmSampleSource for C.
For a C++ example, refer to Creating an AVI File from Bitmaps Using ltmmSampleSource for C++.
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document