As per the Microsft's definition Microsoft® DirectShow® is an architecture for streaming media on the Microsoft Windows® platform.
DirectShow provides for high-quality capture and playback of multimedia streams. It supports a wide variety of formats, including Advanced Systems Format (ASF), Motion Picture Experts Group (MPEG), Audio-Video Interleaved (AVI), MPEG Audio Layer-3 (MP3), and WAV sound files. It supports capture from digital and analog devices based on the Windows Driver Model (WDM) or Video for Windows. It automatically detects and uses video and audio acceleration hardware when available, but also supports systems without acceleration hardware.
The basic building block of the DirectShow API architecture is a filter.
"Filter is a unit which performs a single operation on a multimedia stream."
Examples for the filter are
- Filter for read files
- Filter for decoding a particular media stream format, such as MPEG-1 video
- Filter for passing data to the graphics or sound card
Filters are used to manage and manipulate data. These are used to perform actions such as parsing, decoding, formatting or rendering on a multimedia stream.
To perform a given task, we need to connect several filters such that output of one filter is an input for another filter.
"Set of connected filters is called a filter graph"
Filter Graph Manager (FGM)
As you have seen in the first part of this tutorial the atomic module of the direct show is a filter. Set of connected filters are used for processing a multimedia stream. This is called a filter graph. Most important feature of the DirectShow API is the Filter Graph Manager (FGM) which handles all the required operations for handling a filter graph.
If you are processing a multimedia stream with DirectShow, you don't need to look after each and every filter. FGM controls the flow of data through the filter graph. You only need to call high level API calls such as
As you have seen in the first part of this tutorial the atomic module of the direct show is a filter. Set of connected filters are used for processing a multimedia stream. This is called a filter graph. Most important feature of the DirectShow API is the Filter Graph Manager (FGM) which handles all the required operations for handling a filter graph.
If you are processing a multimedia stream with DirectShow, you don't need to look after each and every filter. FGM controls the flow of data through the filter graph. You only need to call high level API calls such as
- Run - to move the data through the filter graph
- Stop - to stop the data flow
FGM will take care about all the required operations with the filters.
If the user wants to handle the filters on his own, then user can use the "COM" interface to interact with filters.
Another thing that FGM does is that passing the event notifications to the application, so that user application can respond to events such as
- end of the stream
- pause
- stop
This process is done with the help of the Operating systems Message Queue. If end of the stream event is happened, OS will pass that message to the FGM. Then it will pass the relevant message to the application.
to be contd ...
No comments:
Post a Comment