Version: 2.0.6

Posted: 2005-08-10

Build Requirements: Xcode 2.1 and greater or CodeWarrior Pro 9.5

Runtime Requirements: Mac OS 10.4.x or Mac OS X 10.3.x w QuickTime 7 and a FireWire capable Macintosh DV Camera.

View Source Code:

Download Sample (“SimpleVideoOut.zip”, 330.7K)
Download Sample (“SimpleVideoOut.dmg”, 395.5K)



Description

SimpleVideoOut demonstrates how QuickTime Video Output Components can be used to play video out to hardware. A common use would be playing a DV stream (.dv file) using QuickTime's FireWire Video Output Component and recording it on your handy dandy DV camera. But the fun doesn't stop there!

The main component of this example is an easy to use class which encapsulates the basic set of functions required to use QuickTime Video Output Components.

Xcode 2.1 project builds universal binary.

New for 2.0.6

Added endian macros so the mode list atom data will be displayed correctly on Intel-based Macs. Added Xcode 2.1 project.

Fixed in 2.0.5:

Now check for an error from the QTVideoOutputGetDisplayModeList call in CVideoOutputComponent.cpp. This fixes a problem that will only show up when FindNextComponent returns a VOut component that can be opened correctly before a VOut component that cannot be opened because hardware is not available. When this happens, the returned mode list atom containers value is incorrect, but it's been disposed and causes a crash when you start to parse it.

New for 2.0.4:

To make jmb happy you can now drag a .dv or .mov file directly onto the application to open the file for playback, and the highQuality hint if already set in a .mov is now respected.

Added "Close" to the file menu just for gd. Beer mate?

Modified dialog resource so pop-up has room for longer mode list names like "Apple FireWire DVCPRO NTSC"

Features and fixes Version 2.0 - 2.0.3:

Fixed leaky handle in CVideoOutputComponent class

Minor UI changes

Added ability to turn off/on Video Output and High Quality

Echo off no longer leaves up a blank empty window

Don't leak SoundInfoList handle

Don't crash if VOut has a bad mode list

UI fix to always reflect correct settings if VOut doesn't have a clock

Added CodeWarrior 8 project for building on 10.2

For CW 8.2 MSL remove calls to num2dec and dec2str

Fixed Clock UI to always reflect correct state

Changes since Version 1.0:

Rewritten using the Carbon Event model

Added support for multiple components and modes

Numerous bug fixes and additions to the CVideoOuput Class

A companion to this sample is the SoftVideoOutputComponent sample which demonstrates how to implement an actual Video Output Component, and even includes a Transfer Codec for handling custom Pixel Formats.

Document Revision History

Date Notes
2005-08-10Updated to produce a universal binary. Code changes are documented within the project.
2004-10-11Now check for an error from the QTVideoOutputGetDisplayModeList call in CVideoOutputComponent.cpp. This fixes a problem that will only show up when FindNextComponent returns a VOut component that can be opened correctly before a VOut component that cannot be opened because hardware is not available. When this happens, the returned mode list atom containers value is incorrect, but it's been disposed and causes a crash when you start to parse it.
2004-01-15Demonstrates how QuickTime Video Output Components can be used to play video out to hardware.

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.