Microsoft Windows CE 3.0  

CMediaSample Class

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

This class represents a buffer object that supports the IMediaSampleinterface. It represents a buffer in memory, together with some associated properties stored as protected data members.

The constructor is passed as a pointer to the buffer with its length in bytes; other properties are normally set and accessed through implemented IMediaSampleinterface methods. These properties describe various attributes of the media sample, such as the sample's media type, start and end time, and options. The options can include whether the media sample is a sync point, a preroll sample, or discontinuous with other samples.

All member functions in this class that return HRESULTand accept a pointer as a parameter return E_POINTER when passed a null pointer.

Protected Data Members

m_cbBuffer Size of the buffer.
m_dwFlags Sample property flags as follows:
  Sample_Discontinuity: Set if start of a new segment.
  Sample_MediaTimeValid: Set if the media time is valid.
  Sample_Preroll: Set if sample is a preroll sample.
  Sample_StopValid: Set if the stop time is valid.
  Sample_SyncPoint: Set if sample is a synchronization point.
  Sample_TimeValid: Set if the time is valid.
  Sample_TypeChanged: Set if the type has changed.
m_End Sample end time.
m_lActual Actual length of data in this sample.
m_MediaEnd Media end (offset from m_MediaStart).
m_MediaStart Media start position.
m_pAllocator Pointer to the IMemAllocatorobject associated with this object.
m_pBuffer Pointer to the complete buffer.
m_pMediaType Pointer to a structure containing the media type of the sample.
m_pNext Pointer to the next CMediaSampleobject in the free list.
m_Start Sample start time.

Member Functions

CMediaSample Constructs a CMediaSample object.
SetPointer Sets the buffer pointer and length.

Implemented IUnknown Methods

QueryInterface Retrieves pointers to supported interfaces.
AddRef Increments the reference count.
Release Decrements the reference count.

Implemented IMediaSample Methods

GetActualDataLength Retrieves the data length of the sample.
GetMediaTime Retrieves the media time extents of the sample.
GetMediaType Retrieves the media type of the CMediaSample object.
GetPointer Retrieves a read/write pointer to the memory of this buffer.
GetSize Returns the size, in bytes, of the buffer data area.
GetTime Sets the media time extents for this sample.
IsDiscontinuity Determines if there is discontinuity in the data stream.
IsPreroll Indicates a preroll property. If TRUE, this sample is for preroll only and should not be displayed.
IsSyncPoint Determines if the beginning of a sample is a synchronization point.
SetActualDataLength Sets the data length of the sample.
SetDiscontinuity Sets the discontinuity property.
SetMediaTime Sets the media time of the CMediaSample object.
SetMediaType Sets the media type of the CMediaSample object.
SetPreroll Sets preroll property. If TRUE, this sample is for preroll only and should not be displayed.
SetSyncPoint Sets sync-point property.
SetTime Sets the stream time at which this sample should start and finish.

Implemented INonDelegatingUnknown Methods

NonDelegatingQueryInterface Passes out pointers to any interfaces added to the derived filter class.