CPullPin Class (Compact 2013)

3/26/2014

CThread Class

     CPullPin Class

This class is provided to allow a filter downstream from the source to create a thread and pull a media stream from an asynchronous source filter that supports the IAsyncReader interface.

Typically, this class is implemented on the input pin of a parser filter, because the DirectShow asynchronous reader filter just reads a media stream from a file and provides no parsing.

Protected Data Members

Member

Description

m_pAlloc

Pointer to the IMemAllocator interface used by the connection.

Member Functions

Member function

Description

Active

Instructs the pin to start pulling data from the asynchronous reader.

AlignDown

Aligns a LONGLONG value down to the next LONG boundary.

AlignUp

Aligns a LONGLONG value up to the next LONG boundary.

Connect

Initiates a connection from this pin to the asynchronous reader.

CPullPin

Constructs a CPullPin object.

Disconnect

Breaks a connection to the asynchronous reader.

Duration

Retrieves the total duration of the media stream.

GetReader

Retrieves the asynchronous reader interface.

Inactive

Instructs the pin to stop pulling data from the asynchronous reader.

Seek

Sets the start and stop times of the media stream.

Overrideable Member Functions

Member function

Description

BeginFlush

Flushes this pin and all downstream pins.

DecideAllocator

Proposes an allocator for use by the asynchronous reader.

EndFlush

Signals end of flushing operation.

EndOfStream

Sends end-of-stream notification downstream.

OnError

Handles run-time errors that caused pulling to stop.

Receive

Handles the arrival of data from the asynchronous reader.

Requirements

Header

dshow.h,
Streams.h

Library

ole32.lib,
Ole32auth.lib,
Strmbase.lib,
Strmiids.lib,
uuid.lib

See Also

Reference

DirectShow Classes