root/OpenSceneGraph/trunk/src/osgPlugins/quicktime/QTLiveUtils.h @ 13041

Revision 13041, 3.4 kB (checked in by robert, 2 years ago)

Ran script to remove trailing spaces and tabs

  • Property svn:eol-style set to native
Line 
1/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2007 Robert Osfield
2 *
3 * This library is open source and may be redistributed and/or modified under
4 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
5 * (at your option) any later version.  The full license is in LICENSE file
6 * included with this distribution, and on the openscenegraph.org website.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 * OpenSceneGraph Public License for more details.
12*/
13
14#ifdef __APPLE__
15    #include <QuickTime/QuickTime.h>
16    #include <Carbon/Carbon.h>
17    #define QT_HANDLE_IMAGES_ALSO
18#else
19    #include <QTML.h>
20    #include <Movies.h>
21    #include <Quickdraw.h>
22    #include <QDOffscreen.h>
23    #include <QuicktimeComponents.h>
24    #include <FixMath.h>
25    #include <CGBitmapContext.h>
26    #include <CGImage.h>
27    #include <CGColorSpace.h>
28    #include <ImageCompression.h>
29    #include <TextUtils.h>
30#endif
31//QT
32//#include "Components.h"
33//#include "QuickTimeComponents.h"
34
35// QTML
36void initialize_quicktime_qtml();
37void terminite_quicktime_qtml();
38
39class QTScopedQTMLInitialiser
40{
41public:
42    QTScopedQTMLInitialiser();
43   ~QTScopedQTMLInitialiser();
44private:
45    QTScopedQTMLInitialiser(const QTScopedQTMLInitialiser&);
46    const QTScopedQTMLInitialiser& operator=(const QTScopedQTMLInitialiser&);
47};
48
49// QT Movies
50void enter_quicktime_movies();
51void leave_quicktime_movies();
52
53class QTScopedMovieInitialiser
54{
55public:
56    QTScopedMovieInitialiser();
57   ~QTScopedMovieInitialiser();
58private:
59    QTScopedMovieInitialiser(const QTScopedMovieInitialiser&);
60    const QTScopedMovieInitialiser& operator=(const QTScopedMovieInitialiser&);
61};
62
63#if TARGET_OS_MAC
64// QT Movies_MT (QT multi-thread support API)
65/*
66 * EnterMovies initializes a single, non-reentrant QuickTime environment for your application.
67 * If your application uses QuickTime on multiple threads simultaneously, call EnterMoviesOnThread from each thread that uses QuickTime to create a local QuickTime environment for that thread (requires QuickTime 6 or later).
68 * For more information about threaded programming and QuickTime, see Technical Note TN2125, Thread-safe programming in QuickTime.
69 * http://developer.apple.com/technotes/tn/tn2125.html
70 */
71void enter_quicktime_movies_mt();
72void leave_quicktime_movies_mt();
73
74class QTScopedMovieInitialiser_MT
75{
76public:
77    QTScopedMovieInitialiser_MT();
78   ~QTScopedMovieInitialiser_MT();
79private:
80    QTScopedMovieInitialiser_MT(const QTScopedMovieInitialiser_MT&);
81    const QTScopedMovieInitialiser_MT& operator=(const QTScopedMovieInitialiser_MT&);
82};
83#endif
84
85// Utils
86char* pstr_printable(StringPtr src);
87
88typedef std::pair<std::string,std::string> OSG_SGDevicePair;
89typedef std::vector<OSG_SGDevicePair>      OSG_SGDeviceList;
90
91// Capability Video
92void print_video_component_capability(VideoDigitizerComponent aComponent);
93void probe_video_digitizer_components();
94// Capability Sequence Grabber
95OSG_SGDeviceList              print_sequence_grabber_device_list(SGDeviceList deviceList);
96std::vector<OSG_SGDeviceList> probe_sequence_grabber_components();
97//
98void get_video_device_bounds_idstr(short videoDeviceID, short videoDeviceInputID, short& out_width, short& out_height, Str63& out_videoDeviceIDStr);
99void get_sound_device_idstr(short soundDeviceID, short soundDeviceInputID, Str63& out_soundDeviceIDStr);
100
101
102
103
104
105
106
107
108
Note: See TracBrowser for help on using the browser.